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 | ATL 3 - 5 MIL | MIL | 0.580 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | ATL 3 - 5 MIL | MIL | - | 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.7190; empirical=0.5561; weight=0.5000; final=0.6376 |
| P1 | H2H margin as base feature | available | home net=7; abs=7; home delta=0.0404; away delta=-0.0404 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=1.6500; 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.4923; recent edge=1.0760; 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 | 9.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5800 |
| 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.525 | 4.675 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 5 | 0.5800 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| 4 | embedded_savant_run_environment | 3 | 5 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 3 | 5 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 3 | 5 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 3 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.44344524271844665,
"base_low_score_probability": 0.4330097087378641,
"low_score_signal_threshold": 0.5130097087378641,
"low_score_signal_strength": 0.010435533980582556,
"confidence": 0.61205,
"factors": {
"environmental": 0.9309999999999999,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.0241
},
"prediction": "normal_scoring",
"expected_total_runs": 8,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 8,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_never_clamp_v2",
"sample_size": 205,
"near_bucket_sample_size": 205,
"medium_bucket_sample_size": 276,
"wide_bucket_sample_size": 381,
"global_sample_size": 636,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5561,
"bayesian_hit_rate": 0.5516,
"prior_strength": 18.0,
"raw_pick_probability": 0.6571,
"raw_pick_probability_unclamped": 0.6571,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.6571,
"margin_implied_pick_probability": 0.6571,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.6571,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.657137,
"uncapped_away_win_probability": 0.342863,
"calibrated_pick_probability": 0.6489,
"predicted_side": "home",
"reliability": 0.919283,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.947534
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.719042,
"sample_size": 205,
"empirical_hit_rate": 0.5561,
"empirical_weight": 0.5,
"blended_confidence": 0.637571,
"published_confidence": 0.58,
"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": 7.0,
"absolute_net_margin": 7.0,
"home_average_margin": 1.4,
"home_run_delta": 0.0404,
"away_run_delta": -0.0404,
"evidence": [
{
"game_id": null,
"home_margin": 3.0
},
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": 5.0
},
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": -1.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": true,
"home": {
"team": "MIL",
"games": 130,
"wins": 81,
"losses": 49,
"win_pct": 0.6230769230769231,
"runs_scored": 648,
"runs_allowed": 485,
"run_differential": 163,
"run_differential_per_game": 1.2538461538461538,
"available": true
},
"away": {
"team": "ATL",
"games": 130,
"wins": 75,
"losses": 55,
"win_pct": 0.5769230769230769,
"runs_scored": 610,
"runs_allowed": 502,
"run_differential": 108,
"run_differential_per_game": 0.8307692307692308,
"available": true
},
"run_differential_edge_per_game": 0.4231,
"win_pct_edge": 0.0462,
"quality_edge": 0.6966,
"season_quality_edge": 0.4923,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 0.4923,
"recent_quality_edge": 1.076,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": 0.6966
},
"margin_adjustment": 0.2926,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"margin_adjustment_policy": {
"adjustment": 0.2926,
"cap": 1.4,
"scale": 0.42,
"quality_edge": 0.6966,
"season_quality_edge": 0.4923,
"recent_alignment": "aligned",
"large_edge_supported_by_recent_form": false,
"method": "standard_bounded_season_recent_adjustment"
},
"adjusted_score": {
"away_runs": 0.983,
"home_runs": 5.774,
"home_win_probability": 0.9072
}
}{
"most_likely": [
{
"home_runs": 5,
"away_runs": 3,
"probability": 0.029372836487136643
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.028996547660131346
},
{
"home_runs": 5,
"away_runs": 2,
"probability": 0.027803016887679693
},
{
"home_runs": 4,
"away_runs": 2,
"probability": 0.027446838667831736
},
{
"home_runs": 6,
"away_runs": 3,
"probability": 0.026079484130193717
}
],
"home_distribution": {
"0": 0.037144907812345924,
"1": 0.06375067965376155,
"2": 0.095901161792613,
"3": 0.12644930090116216,
"4": 0.14613778202900513,
"5": 0.14803421519151083,
"6": 0.13143626654863244,
"7": 0.1022873290113977,
"8": 0.0697721292827367,
"9": 0.041715324893883486,
"10": 0.021860636297606692,
"11": 0.01004115063105496,
"12": 0.00404257122502783,
"13": 0.0014265447292616613
},
"away_distribution": {
"0": 0.08685525791546768,
"1": 0.14260472931800275,
"2": 0.1878148024881351,
"3": 0.19841924010025122,
"4": 0.16814959325790785,
"5": 0.11430518610909052,
"6": 0.06232956902228674,
"7": 0.02726342337215819,
"8": 0.009565875548691795,
"9": 0.002692322868008271
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.58,
"winner_flipped": false,
"reasons": [
"local prediction memory shows 2 straight prior same-side picks"
],
"signals": {
"predicted_team": "MIL",
"opponent_team": "ATL",
"h2h_net_margin": 9,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": false,
"recent_h2h": [
{
"date": "2026-08-22",
"predicted_team_runs": 4,
"opponent_runs": 1,
"margin_for_predicted_team": 3,
"winner": "MIL"
},
{
"date": "2026-08-21",
"predicted_team_runs": 2,
"opponent_runs": 1,
"margin_for_predicted_team": 1,
"winner": "MIL"
},
{
"date": "2026-06-21",
"predicted_team_runs": 9,
"opponent_runs": 4,
"margin_for_predicted_team": 5,
"winner": "MIL"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 2,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20260822",
"away": "ATL",
"home": "MIL",
"game_number": 1,
"predicted_team": "MIL",
"actual_winner": "MIL",
"actual_margin": 3,
"raw_pick_probability": 0.570412,
"artifact": "20260822_ATL@MIL.json",
"verification": "pregame_official_final"
},
{
"date": "20260821",
"away": "ATL",
"home": "MIL",
"game_number": 1,
"predicted_team": "MIL",
"actual_winner": "MIL",
"actual_margin": 1,
"raw_pick_probability": 0.5844,
"artifact": "20260821_ATL@MIL.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "MIL",
"guardrail_opponent_team": "ATL",
"output_pre_simulation_winner": "MIL",
"output_opponent_team": "ATL",
"simulation_score_winner": "MIL",
"final_score_winner": "MIL",
"pre_simulation_winner": "MIL",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "ATL 3 - 5 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "ATL 3 - 5 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": true,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.083,
"recent_form_edge_home_minus_away": 1.146,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 3,
"home_runs": 5,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "MIL",
"published_winner_draw_share": 1.0,
"draw_majority_team": "MIL",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": true,
"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": 3,
"home_runs": 5
},
"simulation_score": {
"away_runs": 3,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.6966,
"winner": "MIL",
"score_reviewed": {
"away_runs": 3,
"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": "MIL",
"games": 130,
"wins": 81,
"losses": 49,
"win_pct": 0.6230769230769231,
"runs_scored": 648,
"runs_allowed": 485,
"run_differential": 163,
"run_differential_per_game": 1.2538461538461538,
"available": true
},
"away": {
"team": "ATL",
"games": 130,
"wins": 75,
"losses": 55,
"win_pct": 0.5769230769230769,
"runs_scored": 610,
"runs_allowed": 502,
"run_differential": 108,
"run_differential_per_game": 0.8307692307692308,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.8,
"final_margin": 0.8,
"margin_cap": 1.5,
"season_quality_edge": 0.6966,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.58,
"final_confidence": 0.6489,
"calibrated_pick_probability": 0.6489,
"shrinkage_weight": 0.947534,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 1.8487,
"calibration_sample_size": 205,
"calibration_empirical_hit_rate": 0.5561,
"calibration_bayesian_hit_rate": 0.5516,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6966,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 3,
"home_runs": 5
},
"margin": 2,
"probability_before": 0.648892,
"margin_implied_home_probability": 0.67,
"shrinkage_weight": 0.947534,
"side_flipped": false,
"applied": true,
"probability_after": 0.659446,
"aligned_pick_probability": 0.659446
}
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "ATL 3 - 5 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "ATL 3 - 5 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": true,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.083,
"recent_form_edge_home_minus_away": 1.146,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 3,
"home_runs": 5,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "MIL",
"published_winner_draw_share": 1.0,
"draw_majority_team": "MIL",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": true,
"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": 3,
"home_runs": 5
},
"simulation_score": {
"away_runs": 3,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.6966,
"winner": "MIL",
"score_reviewed": {
"away_runs": 3,
"home_runs": 5,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 5,
"confidence": 0.58,
"home_win_probability": 0.58,
"away_win_probability": 0.42000000000000004,
"predicted_score_text": "ATL 3 - 5 MIL",
"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": "ATL",
"original_runs": 3,
"run_delta": 0.0641,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 37.0,
"quality": 0.23445557101692466,
"contact": 0.045119250030187866,
"power": 0.153361236131773,
"discipline": -0.25931673362141333,
"xwoba": 0.3033243243243243,
"recent_xwoba": 0.3033243243243243,
"barrel": 8.01891891891892,
"ab_hard_contact": 0.21407671748745782,
"ab_bat_speed": 71.19988354622028,
"ab_strikeout_rate": 0.22873723654191624,
"available_players": 9,
"top_players": [
{
"player_id": "621566",
"player_name": "Matt Olson",
"position": "1B",
"weight": 4.0,
"quality": 1.075155952048401,
"contact": 0.927371353264802,
"power": 1.7015465632947269,
"discipline": 0.038488644688644796,
"xwoba": 0.363,
"recent_xwoba": 0.363,
"barrel": 15.7,
"ab_hard_contact": 1.5294074563707343,
"ab_bat_speed": 73.48883533333334,
"ab_strikeout_rate": 0.24862857142857142,
"available": 1.0
},
{
"player_id": "686948",
"player_name": "Drake Baldwin",
"position": "DH",
"weight": 4.0,
"quality": 1.1423123609061117,
"contact": 1.252083091993288,
"power": 1.3522654317380023,
"discipline": 0.2757635406664533,
"xwoba": 0.373,
"recent_xwoba": 0.373,
"barrel": 13.1,
"ab_hard_contact": 1.1733086347600428,
"ab_bat_speed": 74.01819367390969,
"ab_strikeout_rate": 0.20606796116504855,
"available": 1.0
},
{
"player_id": "671739",
"player_name": "Michael Harris II",
"position": "CF",
"weight": 6.0,
"quality": 0.7331486571054364,
"contact": 0.9686719297970279,
"power": 0.9912032248139138,
"discipline": -0.5633202334388776,
"xwoba": 0.345,
"recent_xwoba": 0.345,
"barrel": 10.9,
"ab_hard_contact": 0.7653978296116171,
"ab_bat_speed": 73.5432571125908,
"ab_strikeout_rate": 0.1992231638418079,
"available": 1.0
},
{
"player_id": "669221",
"player_name": "Sean Murphy",
"position": "C",
"weight": 4.0,
"quality": -0.2737543992453554,
"contact": -2.0,
"power": -1.8389655926849913,
"discipline": -2.0,
"xwoba": 0.154,
"recent_xwoba": 0.154,
"barrel": 0.0,
"ab_hard_contact": -1.0372166156045761,
"ab_bat_speed": 69.49954166666666,
"ab_strikeout_rate": 0.3933333333333333,
"available": 1.0
},
{
"player_id": "645277",
"player_name": "Ozzie Albies",
"position": "2B",
"weight": 5.0,
"quality": -0.5085215063587059,
"contact": -0.5629219726127487,
"power": -0.6537857735521753,
"discipline": 0.2308457875457875,
"xwoba": 0.284,
"recent_xwoba": 0.284,
"barrel": 4.2,
"ab_hard_contact": -0.28333451866254944,
"ab_bat_speed": 67.65406028571428,
"ab_strikeout_rate": 0.13434285714285715,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "675660",
"player_name": "Shane Drohan",
"quality": 0.0825326016238384,
"contact": -0.07592885374282511,
"command": 0.22042811949504182,
"movement": 0.37202558892829274,
"xwoba": 0.295,
"whiff": 27.2,
"faced_est_woba": 0.34833030065359477,
"faced_launch_speed": 83.75074942129629,
"faced_strikeout_rate": 0.26702614379084966,
"faced_run_exp": 0.02046803288722896
}
},
"home": {
"team": "MIL",
"original_runs": 5,
"run_delta": 0.0918,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": 0.320929401290473,
"contact": 0.34798947027730276,
"power": 0.39651438539502726,
"discipline": 0.23004883783883712,
"xwoba": 0.3300882352941177,
"recent_xwoba": 0.3300882352941177,
"barrel": 9.017647058823528,
"ab_hard_contact": 0.10297118128990616,
"ab_bat_speed": 70.90385335005053,
"ab_strikeout_rate": 0.23296123542123612,
"available_players": 9,
"top_players": [
{
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "RF",
"weight": 3.0,
"quality": 1.0052242534566775,
"contact": 1.019040491289142,
"power": 1.3667598593645307,
"discipline": 0.5129263030547434,
"xwoba": 0.372,
"recent_xwoba": 0.372,
"barrel": 14.2,
"ab_hard_contact": 0.49595909205252836,
"ab_bat_speed": 74.99317920784667,
"ab_strikeout_rate": 0.2636194844910441,
"available": 1.0
},
{
"player_id": "666152",
"player_name": "David Hamilton",
"position": "3B",
"weight": 3.0,
"quality": -0.8774977601863699,
"contact": -0.979998832390683,
"power": -1.0496940128656158,
"discipline": 0.14582520735969015,
"xwoba": 0.27,
"recent_xwoba": 0.27,
"barrel": 3.8,
"ab_hard_contact": -1.4361659715980175,
"ab_bat_speed": 62.9329625167336,
"ab_strikeout_rate": 0.24693486590038316,
"available": 1.0
},
{
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"weight": 5.0,
"quality": 0.7095074160973169,
"contact": 0.6542020892164275,
"power": 1.1488337184907373,
"discipline": -0.09690659340659344,
"xwoba": 0.341,
"recent_xwoba": 0.341,
"barrel": 13.2,
"ab_hard_contact": 0.6604838936242758,
"ab_bat_speed": 73.27895580186097,
"ab_strikeout_rate": 0.2438095238095238,
"available": 1.0
},
{
"player_id": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"weight": 3.0,
"quality": 0.6611946869087374,
"contact": 0.6507752430784332,
"power": 1.055527289743995,
"discipline": -0.33599239753956733,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 12.7,
"ab_hard_contact": 0.7124505567846622,
"ab_bat_speed": 75.80897943376068,
"ab_strikeout_rate": 0.3543238993710692,
"available": 1.0
},
{
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"weight": 5.0,
"quality": 0.5347021949935212,
"contact": 0.6284815317646544,
"power": 0.4624570135672859,
"discipline": 0.5260054148749802,
"xwoba": 0.336,
"recent_xwoba": 0.336,
"barrel": 7.9,
"ab_hard_contact": 0.25333074753619245,
"ab_bat_speed": 72.18558159722222,
"ab_strikeout_rate": 0.14211180124223602,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "641816",
"player_name": "Tyler Mahle",
"quality": -0.029117664077483778,
"contact": -0.19906069890368772,
"command": 0.16068131868131863,
"movement": -0.1570121022297745,
"xwoba": 0.315,
"whiff": 22.7,
"faced_est_woba": 0.08905722499999999,
"faced_launch_speed": 82.5,
"faced_strikeout_rate": 0.4020833333333333,
"faced_run_exp": 0.06033215277777777
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 5,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 3,
"home_runs": 5,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.6966,
"recent_form_edge_home_minus_away": 1.146,
"pitcher_matchup_edge_home_minus_away": -0.083,
"composite_home_edge": 0.847,
"existing_home_win_probability": 0.6594,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.847
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.659446,
"uncapped_away_win_probability": 0.340554,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.659446,
"discount_factor": 0.85,
"published_confidence": 0.58,
"guardrail_confidence_cap": 0.58,
"guardrail_cap_enforced": true,
"applied_discounts": [
{
"reason": "matchup_recency_guardrail",
"factor": 0.85
}
]
},
"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": 3,
"home_runs": 5,
"predicted_score_text": "ATL 3 - 5 MIL",
"confidence": 0.58,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "ATL 3 - 5 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "ATL 3 - 5 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": true,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.083,
"recent_form_edge_home_minus_away": 1.146,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 3,
"home_runs": 5,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "MIL",
"published_winner_draw_share": 1.0,
"draw_majority_team": "MIL",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": true,
"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": 3,
"home_runs": 5
},
"simulation_score": {
"away_runs": 3,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.6966,
"winner": "MIL",
"score_reviewed": {
"away_runs": 3,
"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": "MIL",
"display_confidence": 0.58,
"internal_signal_score": 0.6604,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.58,
"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.6966,
"winner_recent_form_edge": 1.076,
"winner_pitcher_matchup_edge": -0.083,
"winner_simulation_draw_rate": 1.0,
"blowout_draw_rate_margin_4_plus": 0.5,
"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 ATL | True | 1.0223 | 1.0223 | 1 | 9 | 0 |
| Home MIL | True | 1.0348 | 1.0348 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Drake Baldwin | 62 | 1.1108 | 1.4770 | neutral | 0.3730 | 0.2790 | 0.4990 | 13.10 | 52 | 91.70 | 10.80 | 23.40 | 20.70 | 10.10 | 0.6857 |
| CF | Michael Harris II | 29 | 1.0704 | 0.9386 | neutral | 0.3450 | 0.2910 | 0.4800 | 10.90 | 48.90 | 90.70 | 10 | 25.20 | 19.60 | 3.60 | -0.1143 |
| SS | Mauricio Dubón | 83 | 1.0013 | 0.0174 | neutral | 0.3070 | 0.2690 | 0.3800 | 4 | 30.80 | 87 | 15.30 | 15.60 | 12.50 | 5.80 | -0.0857 |
| 1B | Matt Olson | 20 | 1.0971 | 1.2942 | neutral | 0.3630 | 0.2510 | 0.5220 | 15.70 | 50.10 | 92.70 | 18.60 | 24.90 | 25.30 | 9.90 | -0.2286 |
| LF | Lane Thomas | 255 | 1.0172 | 0.2297 | neutral | 0.3150 | 0.2400 | 0.3720 | 6.80 | 42.10 | 89.70 | 18.50 | 22.70 | 24.90 | 11.90 | -0.1143 |
| 2B | Ozzie Albies | 103 | 0.9627 | -0.4975 | negative_batter_regression | 0.2840 | 0.2290 | 0.3560 | 4.20 | 28 | 86.90 | 18.70 | 20.60 | 13.90 | 7 | -0.8571 |
| DH_805347 | Jim Jarvis | 265 | 0.9802 | -0.2643 | neutral | 0.2680 | 0.2340 | 0.3040 | 3.30 | 37 | 89 | 3.40 | 18.80 | 18.50 | 6.50 | 0.4000 |
| C | Sean Murphy | 594 | 0.9429 | -0.7609 | neutral | 0.1540 | 0.1610 | 0.1920 | 0 | 30.40 | 83.80 | 3.40 | 33.80 | 39.50 | 0 | 0.7714 |
| 3B | Austin Riley | 224 | 1.0184 | 0.2456 | neutral | 0.2990 | 0.2110 | 0.3950 | 12.20 | 45.70 | 91.40 | 18.70 | 32.70 | 31.60 | 7.60 | 0.2000 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Jake Bauers | 61 | 1.0989 | 1.3185 | neutral | 0.3720 | 0.2590 | 0.4830 | 14.20 | 53.10 | 92.50 | 11.20 | 27.90 | 25.60 | 14.70 | -0.3714 |
| C | William Contreras | 124 | 1.0549 | 0.7323 | neutral | 0.3360 | 0.2630 | 0.4400 | 7.90 | 43.90 | 90.20 | 12.10 | 20.30 | 13.70 | 9.30 | 0.4857 |
| 2B | Brice Turang | 8 | 1.0497 | 0.6624 | neutral | 0.3420 | 0.2560 | 0.4300 | 7.70 | 42.10 | 90.40 | 8.50 | 22.70 | 25 | 12.70 | -0.0857 |
| LF | Jackson Chourio | 69 | 1.0680 | 0.9071 | neutral | 0.3410 | 0.2580 | 0.4750 | 13.20 | 47 | 91.90 | 11.80 | 25 | 24.30 | 8.60 | -0.2000 |
| 1B | Andrew Vaughn | 156 | 1.0337 | 0.4498 | negative_batter_regression | 0.3430 | 0.2720 | 0.3950 | 5.60 | 43.10 | 89.90 | 9.60 | 20.40 | 14.80 | 11.40 | -0.8857 |
| CF | Garrett Mitchell | 64 | 1.0721 | 0.9618 | neutral | 0.3490 | 0.2570 | 0.4420 | 12.70 | 51.70 | 92.90 | 1.60 | 36.40 | 31.60 | 12.20 | 0.1143 |
| 3B | David Hamilton | 122 | 0.9364 | -0.8477 | neutral | 0.2700 | 0.2110 | 0.2990 | 3.80 | 27.80 | 86.60 | 11.90 | 22.90 | 22.40 | 9.60 | -0.8286 |
| DH | Christian Yelich | 532 | 1.0198 | 0.2640 | neutral | 0.3110 | 0.2310 | 0.3880 | 10.20 | 43.70 | 89 | 2.90 | 29.70 | 27 | 9.70 | 0.3429 |
| SS | Joey Ortiz | 130 | 0.9796 | -0.2723 | neutral | 0.2940 | 0.2370 | 0.3370 | 4.30 | 36.60 | 88.50 | 5.40 | 19.10 | 19.20 | 9 | -0.3143 |
{
"home": {
"applied": true,
"offense_factor": 1.0348,
"raw_average_factor": 1.0348,
"team_espn_average_rank": 140.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "641343",
"player_name": "Jake Bauers",
"offense_factor": 1.0989,
"quality_score": 1.3185,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641343",
"espn_id": 35013,
"player_name": "Jake Bauers",
"team": "MIL",
"role": "batter",
"espn_rank": 61,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 61,
"gp_value": 117.0,
"gp_rank": 107,
"ab_value": 395.0,
"ab_rank": 112,
"r_value": 76.0,
"r_rank": 24,
"h_value": 108.0,
"h_rank": 87,
"avg_value": 0.2734177,
"avg_rank": 38.0,
"2b_value": 19.0,
"2b_rank": 107,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 23.0,
"hr_rank": 27,
"rbi_value": 74.0,
"rbi_rank": 24,
"tb_value": 200.0,
"tb_rank": 399,
"bb_value": 69.0,
"bb_rank": 15,
"so_value": 120.0,
"so_rank": 46,
"sb_value": 9.0,
"sb_rank": 87,
"obp_value": 0.3837953,
"obp_rank": "6",
"slg_value": 0.5063291,
"slg_rank": "17",
"ops_value": 0.8901244,
"ops_rank": 23.0,
"war_value": 2.78,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 445.0,
"k_percent": 25.6,
"bb_percent": 14.7,
"woba": 0.385,
"xwoba": 0.372,
"xba": 0.259,
"xslg": 0.483,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 14.2,
"hard_hit_percent": 53.1,
"exit_velocity_avg": 92.5,
"launch_angle_avg": 11.2,
"whiff_percent": 27.9,
"swing_percent": 41.2
},
"components": {
"expected_quality": 1.5936,
"regression_edge": -0.3714,
"xwoba_edge": 2.0,
"xba_edge": 0.6286,
"xslg_edge": 1.6143,
"barrel_edge": 1.6444,
"hard_hit_edge": 2.1857,
"exit_velocity_edge": 1.52,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "661388",
"player_name": "William Contreras",
"offense_factor": 1.0549,
"quality_score": 0.7323,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661388",
"espn_id": 39895,
"player_name": "William Contreras",
"team": "MIL",
"role": "batter",
"espn_rank": 124,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 124,
"gp_value": 120.0,
"gp_rank": 87,
"ab_value": 459.0,
"ab_rank": 62,
"r_value": 63.0,
"r_rank": 65,
"h_value": 122.0,
"h_rank": 42,
"avg_value": 0.2657952,
"avg_rank": 51.0,
"2b_value": 19.0,
"2b_rank": 107,
"3b_value": 1.0,
"3b_rank": 125,
"hr_value": 12.0,
"hr_rank": 138,
"rbi_value": 65.0,
"rbi_rank": 51,
"tb_value": 179.0,
"tb_rank": 813,
"bb_value": 48.0,
"bb_rank": 66,
"so_value": 71.0,
"so_rank": 185,
"sb_value": 1.0,
"sb_rank": 314,
"obp_value": 0.336557,
"obp_rank": "64",
"slg_value": 0.3899782,
"slg_rank": "112",
"ops_value": 0.7265352,
"ops_rank": 48.0,
"war_value": 1.71,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 499.0,
"k_percent": 13.7,
"bb_percent": 9.3,
"woba": 0.319,
"xwoba": 0.336,
"xba": 0.263,
"xslg": 0.44,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 43.9,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 12.1,
"whiff_percent": 20.3,
"swing_percent": 46.8
},
"components": {
"expected_quality": 0.7724,
"regression_edge": 0.4857,
"xwoba_edge": 0.9714,
"xba_edge": 0.7429,
"xslg_edge": 1.0,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.8714,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "668930",
"player_name": "Brice Turang",
"offense_factor": 1.0497,
"quality_score": 0.6624,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668930",
"espn_id": 41179,
"player_name": "Brice Turang",
"team": "MIL",
"role": "batter",
"espn_rank": 8,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 8,
"gp_value": 120.0,
"gp_rank": 87,
"ab_value": 470.0,
"ab_rank": 42,
"r_value": 77.0,
"r_rank": 22,
"h_value": 122.0,
"h_rank": 42,
"avg_value": 0.2595744,
"avg_rank": 66.0,
"2b_value": 28.0,
"2b_rank": 11,
"3b_value": 3.0,
"3b_rank": 30,
"hr_value": 16.0,
"hr_rank": 86,
"rbi_value": 75.0,
"rbi_rank": 21,
"tb_value": 204.0,
"tb_rank": 371,
"bb_value": 69.0,
"bb_rank": 15,
"so_value": 136.0,
"so_rank": 22,
"sb_value": 18.0,
"sb_rank": 28,
"obp_value": 0.3530499,
"obp_rank": "43",
"slg_value": 0.4340425,
"slg_rank": "65",
"ops_value": 0.7870924,
"ops_rank": 108.0,
"war_value": 5.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 512.0,
"k_percent": 25.0,
"bb_percent": 12.7,
"woba": 0.345,
"xwoba": 0.342,
"xba": 0.256,
"xslg": 0.43,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 8.5,
"whiff_percent": 22.7,
"swing_percent": 43.3
},
"components": {
"expected_quality": 0.7841,
"regression_edge": -0.0857,
"xwoba_edge": 1.1429,
"xba_edge": 0.5429,
"xslg_edge": 0.8571,
"barrel_edge": 0.2,
"hard_hit_edge": 0.6143,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "694192",
"player_name": "Jackson Chourio",
"offense_factor": 1.068,
"quality_score": 0.9071,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694192",
"espn_id": 4917869,
"player_name": "Jackson Chourio",
"team": "MIL",
"role": "batter",
"espn_rank": 69,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 69,
"gp_value": 96.0,
"gp_rank": 179,
"ab_value": 392.0,
"ab_rank": 115,
"r_value": 64.0,
"r_rank": 61,
"h_value": 109.0,
"h_rank": 84,
"avg_value": 0.2780612,
"avg_rank": 30.0,
"2b_value": 22.0,
"2b_rank": 63,
"3b_value": 0.0,
"3b_rank": 274,
"hr_value": 17.0,
"hr_rank": 69,
"rbi_value": 50.0,
"rbi_rank": 117,
"tb_value": 182.0,
"tb_rank": 902,
"bb_value": 37.0,
"bb_rank": 122,
"so_value": 105.0,
"so_rank": 74,
"sb_value": 13.0,
"sb_rank": 56,
"obp_value": 0.3425925,
"obp_rank": "57",
"slg_value": 0.4642857,
"slg_rank": "41",
"ops_value": 0.8068782,
"ops_rank": 98.0,
"war_value": 2.66,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 409.0,
"k_percent": 24.3,
"bb_percent": 8.6,
"woba": 0.348,
"xwoba": 0.341,
"xba": 0.258,
"xslg": 0.475,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 13.2,
"hard_hit_percent": 47.0,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 11.8,
"whiff_percent": 25.0,
"swing_percent": 47.2
},
"components": {
"expected_quality": 1.0873,
"regression_edge": -0.2,
"xwoba_edge": 1.1143,
"xba_edge": 0.6,
"xslg_edge": 1.5,
"barrel_edge": 1.4222,
"hard_hit_edge": 1.3143,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "683734",
"player_name": "Andrew Vaughn",
"offense_factor": 1.0337,
"quality_score": 0.4498,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683734",
"espn_id": 42394,
"player_name": "Andrew Vaughn",
"team": "MIL",
"role": "batter",
"espn_rank": 156,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 156,
"gp_value": 84.0,
"gp_rank": 240,
"ab_value": 233.0,
"ab_rank": 257,
"r_value": 29.0,
"r_rank": 251,
"h_value": 71.0,
"h_rank": 194,
"avg_value": 0.304721,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": 149,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 5.0,
"hr_rank": 285,
"rbi_value": 37.0,
"rbi_rank": 192,
"tb_value": 106.0,
"tb_rank": 1322,
"bb_value": 31.0,
"bb_rank": 175,
"so_value": 40.0,
"so_rank": 333,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.3948339,
"obp_rank": "-",
"slg_value": 0.4549356,
"slg_rank": "-",
"ops_value": 0.8497695,
"ops_rank": null,
"war_value": 1.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 259.0,
"k_percent": 14.8,
"bb_percent": 11.4,
"woba": 0.374,
"xwoba": 0.343,
"xba": 0.272,
"xslg": 0.395,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 43.1,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 9.6,
"whiff_percent": 20.4,
"swing_percent": 38.5
},
"components": {
"expected_quality": 0.6672,
"regression_edge": -0.8857,
"xwoba_edge": 1.1714,
"xba_edge": 1.0,
"xslg_edge": 0.3571,
"barrel_edge": -0.2667,
"hard_hit_edge": 0.7571,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.25,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"offense_factor": 1.0721,
"quality_score": 0.9618,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669003",
"espn_id": 4313442,
"player_name": "Garrett Mitchell",
"team": "MIL",
"role": "batter",
"espn_rank": 64,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 64,
"gp_value": 117.0,
"gp_rank": 107,
"ab_value": 369.0,
"ab_rank": 129,
"r_value": 54.0,
"r_rank": 107,
"h_value": 97.0,
"h_rank": 113,
"avg_value": 0.2628726,
"avg_rank": 57.0,
"2b_value": 26.0,
"2b_rank": 24,
"3b_value": 3.0,
"3b_rank": 30,
"hr_value": 9.0,
"hr_rank": 182,
"rbi_value": 54.0,
"rbi_rank": 92,
"tb_value": 156.0,
"tb_rank": 743,
"bb_value": 52.0,
"bb_rank": 52,
"so_value": 135.0,
"so_rank": 23,
"sb_value": 12.0,
"sb_rank": 59,
"obp_value": 0.3591549,
"obp_rank": "33",
"slg_value": 0.4227642,
"slg_rank": "75",
"ops_value": 0.7819191,
"ops_rank": 42.0,
"war_value": 2.73,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 413.0,
"k_percent": 31.6,
"bb_percent": 12.2,
"woba": 0.345,
"xwoba": 0.349,
"xba": 0.257,
"xslg": 0.442,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 12.7,
"hard_hit_percent": 51.7,
"exit_velocity_avg": 92.9,
"launch_angle_avg": 1.6,
"whiff_percent": 36.4,
"swing_percent": 43.3
},
"components": {
"expected_quality": 1.0997,
"regression_edge": 0.1143,
"xwoba_edge": 1.3429,
"xba_edge": 0.5714,
"xslg_edge": 1.0286,
"barrel_edge": 1.3111,
"hard_hit_edge": 1.9857,
"exit_velocity_edge": 1.68,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "666152",
"player_name": "David Hamilton",
"offense_factor": 0.9364,
"quality_score": -0.8477,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666152",
"espn_id": 42987,
"player_name": "David Hamilton",
"team": "MIL",
"role": "batter",
"espn_rank": 122,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 122,
"gp_value": 96.0,
"gp_rank": 179,
"ab_value": 268.0,
"ab_rank": 223,
"r_value": 40.0,
"r_rank": 181,
"h_value": 65.0,
"h_rank": 220,
"avg_value": 0.2425373,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 247,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 4.0,
"hr_rank": 313,
"rbi_value": 22.0,
"rbi_rank": 299,
"tb_value": 91.0,
"tb_rank": 1530,
"bb_value": 30.0,
"bb_rank": 179,
"so_value": 70.0,
"so_rank": 191,
"sb_value": 24.0,
"sb_rank": 12,
"obp_value": 0.3210702,
"obp_rank": "-",
"slg_value": 0.3395522,
"slg_rank": "-",
"ops_value": 0.6606224,
"ops_rank": null,
"war_value": 1.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 290.0,
"k_percent": 22.4,
"bb_percent": 9.6,
"woba": 0.299,
"xwoba": 0.27,
"xba": 0.211,
"xslg": 0.299,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 27.8,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 11.9,
"whiff_percent": 22.9,
"swing_percent": 45.2
},
"components": {
"expected_quality": -0.8508,
"regression_edge": -0.8286,
"xwoba_edge": -0.9143,
"xba_edge": -0.7429,
"xslg_edge": -1.0143,
"barrel_edge": -0.6667,
"hard_hit_edge": -1.4286,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -1.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "592885",
"player_name": "Christian Yelich",
"offense_factor": 1.0198,
"quality_score": 0.264,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592885",
"espn_id": 31283,
"player_name": "Christian Yelich",
"team": "MIL",
"role": "batter",
"espn_rank": 532,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 532,
"gp_value": 90.0,
"gp_rank": 211,
"ab_value": 347.0,
"ab_rank": 150,
"r_value": 53.0,
"r_rank": 116,
"h_value": 79.0,
"h_rank": 164,
"avg_value": 0.2276657,
"avg_rank": 124.0,
"2b_value": 18.0,
"2b_rank": 118,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 9.0,
"hr_rank": 182,
"rbi_value": 44.0,
"rbi_rank": 146,
"tb_value": 128.0,
"tb_rank": 952,
"bb_value": 38.0,
"bb_rank": 117,
"so_value": 106.0,
"so_rank": 71,
"sb_value": 10.0,
"sb_rank": 74,
"obp_value": 0.3086734,
"obp_rank": "117",
"slg_value": 0.368876,
"slg_rank": "128",
"ops_value": 0.6775494,
"ops_rank": 245.0,
"war_value": -0.25,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 373.0,
"k_percent": 27.0,
"bb_percent": 9.7,
"woba": 0.299,
"xwoba": 0.311,
"xba": 0.231,
"xslg": 0.388,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 43.7,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 2.9,
"whiff_percent": 29.7,
"swing_percent": 44.7
},
"components": {
"expected_quality": 0.2511,
"regression_edge": 0.3429,
"xwoba_edge": 0.2571,
"xba_edge": -0.1714,
"xslg_edge": 0.2571,
"barrel_edge": 0.7556,
"hard_hit_edge": 0.8429,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": -0.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "687401",
"player_name": "Joey Ortiz",
"offense_factor": 0.9796,
"quality_score": -0.2723,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687401",
"espn_id": 42958,
"player_name": "Joey Ortiz",
"team": "MIL",
"role": "batter",
"espn_rank": 130,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 130,
"gp_value": 107.0,
"gp_rank": 148,
"ab_value": 285.0,
"ab_rank": 207,
"r_value": 38.0,
"r_rank": 193,
"h_value": 71.0,
"h_rank": 194,
"avg_value": 0.2491228,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 211,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 7.0,
"hr_rank": 228,
"rbi_value": 38.0,
"rbi_rank": 183,
"tb_value": 108.0,
"tb_rank": 1213,
"bb_value": 29.0,
"bb_rank": 180,
"so_value": 62.0,
"so_rank": 232,
"sb_value": 9.0,
"sb_rank": 87,
"obp_value": 0.3134796,
"obp_rank": "-",
"slg_value": 0.3789473,
"slg_rank": "-",
"ops_value": 0.6924269,
"ops_rank": null,
"war_value": 1.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 303.0,
"k_percent": 19.2,
"bb_percent": 9.0,
"woba": 0.305,
"xwoba": 0.294,
"xba": 0.237,
"xslg": 0.337,
"sweet_spot_percent": 28.0,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 36.6,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 5.4,
"whiff_percent": 19.1,
"swing_percent": 44.3
},
"components": {
"expected_quality": -0.2654,
"regression_edge": -0.3143,
"xwoba_edge": -0.2286,
"xba_edge": -0.0,
"xslg_edge": -0.4714,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.1714,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": -0.8833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0223,
"raw_average_factor": 1.0223,
"team_espn_average_rank": 181.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "686948",
"player_name": "Drake Baldwin",
"offense_factor": 1.1108,
"quality_score": 1.477,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686948",
"espn_id": 4810190,
"player_name": "Drake Baldwin",
"team": "ATL",
"role": "batter",
"espn_rank": 62,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 62,
"gp_value": 107.0,
"gp_rank": 148,
"ab_value": 418.0,
"ab_rank": 95,
"r_value": 69.0,
"r_rank": 42,
"h_value": 112.0,
"h_rank": 79,
"avg_value": 0.2679425,
"avg_rank": 46.0,
"2b_value": 10.0,
"2b_rank": 247,
"3b_value": 0.0,
"3b_rank": 274,
"hr_value": 21.0,
"hr_rank": 34,
"rbi_value": 63.0,
"rbi_rank": 60,
"tb_value": 185.0,
"tb_rank": 976,
"bb_value": 48.0,
"bb_rank": 66,
"so_value": 98.0,
"so_rank": 92,
"sb_value": 3.0,
"sb_rank": 221,
"obp_value": 0.3523206,
"obp_rank": "45",
"slg_value": 0.4425837,
"slg_rank": "56",
"ops_value": 0.7949043,
"ops_rank": 101.0,
"war_value": 2.76,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 460.0,
"k_percent": 20.7,
"bb_percent": 10.1,
"woba": 0.349,
"xwoba": 0.373,
"xba": 0.279,
"xslg": 0.499,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 13.1,
"hard_hit_percent": 52.0,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 10.8,
"whiff_percent": 23.4,
"swing_percent": 50.2
},
"components": {
"expected_quality": 1.6058,
"regression_edge": 0.6857,
"xwoba_edge": 2.0286,
"xba_edge": 1.2,
"xslg_edge": 1.8429,
"barrel_edge": 1.4,
"hard_hit_edge": 2.0286,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "671739",
"player_name": "Michael Harris II",
"offense_factor": 1.0704,
"quality_score": 0.9386,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671739",
"espn_id": 42470,
"player_name": "Michael Harris II",
"team": "ATL",
"role": "batter",
"espn_rank": 29,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 29,
"gp_value": 124.0,
"gp_rank": 49,
"ab_value": 472.0,
"ab_rank": 38,
"r_value": 61.0,
"r_rank": 77,
"h_value": 139.0,
"h_rank": 12,
"avg_value": 0.2944915,
"avg_rank": 9.0,
"2b_value": 30.0,
"2b_rank": 6,
"3b_value": 1.0,
"3b_rank": 125,
"hr_value": 20.0,
"hr_rank": 50,
"rbi_value": 70.0,
"rbi_rank": 35,
"tb_value": 231.0,
"tb_rank": 418,
"bb_value": 18.0,
"bb_rank": 281,
"so_value": 97.0,
"so_rank": 95,
"sb_value": 7.0,
"sb_rank": 120,
"obp_value": 0.3212121,
"obp_rank": "91",
"slg_value": 0.4894067,
"slg_rank": "23",
"ops_value": 0.8106188,
"ops_rank": 114.0,
"war_value": 3.82,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 476.0,
"k_percent": 19.6,
"bb_percent": 3.6,
"woba": 0.349,
"xwoba": 0.345,
"xba": 0.291,
"xslg": 0.48,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 48.9,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 10.0,
"whiff_percent": 25.2,
"swing_percent": 56.2
},
"components": {
"expected_quality": 1.11,
"regression_edge": -0.1143,
"xwoba_edge": 1.2286,
"xba_edge": 1.5429,
"xslg_edge": 1.5714,
"barrel_edge": 0.9111,
"hard_hit_edge": 1.5857,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.6167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"offense_factor": 1.0013,
"quality_score": 0.0174,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643289",
"espn_id": 35304,
"player_name": "Mauricio Dubon",
"team": "ATL",
"role": "batter",
"espn_rank": 83,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 83,
"gp_value": 123.0,
"gp_rank": 63,
"ab_value": 459.0,
"ab_rank": 62,
"r_value": 55.0,
"r_rank": 103,
"h_value": 123.0,
"h_rank": 41,
"avg_value": 0.2679738,
"avg_rank": 46.0,
"2b_value": 23.0,
"2b_rank": 50,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 10.0,
"hr_rank": 161,
"rbi_value": 61.0,
"rbi_rank": 66,
"tb_value": 180.0,
"tb_rank": 616,
"bb_value": 29.0,
"bb_rank": 180,
"so_value": 62.0,
"so_rank": 232,
"sb_value": 6.0,
"sb_rank": 141,
"obp_value": 0.3130081,
"obp_rank": "110",
"slg_value": 0.3921568,
"slg_rank": "110",
"ops_value": 0.7051649,
"ops_rank": 220.0,
"war_value": 2.22,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 478.0,
"k_percent": 12.5,
"bb_percent": 5.8,
"woba": 0.31,
"xwoba": 0.307,
"xba": 0.269,
"xslg": 0.38,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 30.8,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 15.3,
"whiff_percent": 15.6,
"swing_percent": 53.3
},
"components": {
"expected_quality": 0.0342,
"regression_edge": -0.0857,
"xwoba_edge": 0.1429,
"xba_edge": 0.9143,
"xslg_edge": 0.1429,
"barrel_edge": -0.6222,
"hard_hit_edge": -1.0,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "621566",
"player_name": "Matt Olson",
"offense_factor": 1.0971,
"quality_score": 1.2942,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621566",
"espn_id": 32767,
"player_name": "Matt Olson",
"team": "ATL",
"role": "batter",
"espn_rank": 20,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 20,
"gp_value": 130.0,
"gp_rank": 2,
"ab_value": 503.0,
"ab_rank": 7,
"r_value": 89.0,
"r_rank": 3,
"h_value": 131.0,
"h_rank": 24,
"avg_value": 0.2604373,
"avg_rank": 66.0,
"2b_value": 31.0,
"2b_rank": 3,
"3b_value": 0.0,
"3b_rank": 274,
"hr_value": 36.0,
"hr_rank": 2,
"rbi_value": 77.0,
"rbi_rank": 16,
"tb_value": 270.0,
"tb_rank": 581,
"bb_value": 56.0,
"bb_rank": 38,
"so_value": 143.0,
"so_rank": 12,
"sb_value": 4.0,
"sb_rank": 189,
"obp_value": 0.3362831,
"obp_rank": "65",
"slg_value": 0.5367793,
"slg_rank": "7",
"ops_value": 0.8730624,
"ops_rank": 58.0,
"war_value": 4.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 542.0,
"k_percent": 25.3,
"bb_percent": 9.9,
"woba": 0.371,
"xwoba": 0.363,
"xba": 0.251,
"xslg": 0.522,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 15.7,
"hard_hit_percent": 50.1,
"exit_velocity_avg": 92.7,
"launch_angle_avg": 18.6,
"whiff_percent": 24.9,
"swing_percent": 45.7
},
"components": {
"expected_quality": 1.5421,
"regression_edge": -0.2286,
"xwoba_edge": 1.7429,
"xba_edge": 0.4,
"xslg_edge": 2.1714,
"barrel_edge": 1.9778,
"hard_hit_edge": 1.7571,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "657041",
"player_name": "Lane Thomas",
"offense_factor": 1.0172,
"quality_score": 0.2297,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657041",
"espn_id": 36409,
"player_name": "Lane Thomas",
"team": "ATL",
"role": "batter",
"espn_rank": 255,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 255,
"gp_value": 110.0,
"gp_rank": 138,
"ab_value": 307.0,
"ab_rank": 187,
"r_value": 35.0,
"r_rank": 209,
"h_value": 70.0,
"h_rank": 199,
"avg_value": 0.228013,
"avg_rank": null,
"2b_value": 18.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 274,
"hr_value": 11.0,
"hr_rank": 149,
"rbi_value": 40.0,
"rbi_rank": 172,
"tb_value": 121.0,
"tb_rank": 1312,
"bb_value": 42.0,
"bb_rank": 93,
"so_value": 88.0,
"so_rank": 125,
"sb_value": 8.0,
"sb_rank": 104,
"obp_value": 0.3229461,
"obp_rank": "-",
"slg_value": 0.3941368,
"slg_rank": "-",
"ops_value": 0.7170829,
"ops_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 343.0,
"k_percent": 24.9,
"bb_percent": 11.9,
"woba": 0.319,
"xwoba": 0.315,
"xba": 0.24,
"xslg": 0.372,
"sweet_spot_percent": 36.7,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 18.5,
"whiff_percent": 22.7,
"swing_percent": 41.3
},
"components": {
"expected_quality": 0.2857,
"regression_edge": -0.1143,
"xwoba_edge": 0.3714,
"xba_edge": 0.0857,
"xslg_edge": 0.0286,
"barrel_edge": 0.0,
"hard_hit_edge": 0.6143,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.5667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "645277",
"player_name": "Ozzie Albies",
"offense_factor": 0.9627,
"quality_score": -0.4975,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "645277",
"espn_id": 33783,
"player_name": "Ozzie Albies",
"team": "ATL",
"role": "batter",
"espn_rank": 103,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 103,
"gp_value": 130.0,
"gp_rank": 2,
"ab_value": 497.0,
"ab_rank": 10,
"r_value": 72.0,
"r_rank": 35,
"h_value": 125.0,
"h_rank": 34,
"avg_value": 0.251509,
"avg_rank": 83.0,
"2b_value": 23.0,
"2b_rank": 50,
"3b_value": 0.0,
"3b_rank": 274,
"hr_value": 20.0,
"hr_rank": 50,
"rbi_value": 65.0,
"rbi_rank": 51,
"tb_value": 208.0,
"tb_rank": 782,
"bb_value": 39.0,
"bb_rank": 110,
"so_value": 77.0,
"so_rank": 162,
"sb_value": 2.0,
"sb_rank": 256,
"obp_value": 0.3068592,
"obp_rank": "119",
"slg_value": 0.418511,
"slg_rank": "82",
"ops_value": 0.7253702,
"ops_rank": 37.0,
"war_value": 1.95,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 531.0,
"k_percent": 13.9,
"bb_percent": 7.0,
"woba": 0.314,
"xwoba": 0.284,
"xba": 0.229,
"xslg": 0.356,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 28.0,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 18.7,
"whiff_percent": 20.6,
"swing_percent": 56.3
},
"components": {
"expected_quality": -0.439,
"regression_edge": -0.8571,
"xwoba_edge": -0.5143,
"xba_edge": -0.2286,
"xslg_edge": -0.2,
"barrel_edge": -0.5778,
"hard_hit_edge": -1.4,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_805347",
"player_id": "805347",
"player_name": "Jim Jarvis",
"offense_factor": 0.9802,
"quality_score": -0.2643,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805347",
"espn_id": 5205951,
"player_name": "Jim Jarvis",
"team": "ATL",
"role": "batter",
"espn_rank": 265,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 265,
"gp_value": 38.0,
"gp_rank": 411,
"ab_value": 111.0,
"ab_rank": 406,
"r_value": 10.0,
"r_rank": 424,
"h_value": 23.0,
"h_rank": 399,
"avg_value": 0.2072072,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 365,
"3b_value": 1.0,
"3b_rank": 125,
"hr_value": 1.0,
"hr_rank": 446,
"rbi_value": 11.0,
"rbi_rank": 395,
"tb_value": 33.0,
"tb_rank": 2352,
"bb_value": 8.0,
"bb_rank": 404,
"so_value": 23.0,
"so_rank": 437,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.2666666,
"obp_rank": "-",
"slg_value": 0.2972972,
"slg_rank": "-",
"ops_value": 0.5639638,
"ops_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 117.0,
"k_percent": 18.5,
"bb_percent": 6.5,
"woba": 0.254,
"xwoba": 0.268,
"xba": 0.234,
"xslg": 0.304,
"sweet_spot_percent": 27.2,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 37.0,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 3.4,
"whiff_percent": 18.8,
"swing_percent": 44.2
},
"components": {
"expected_quality": -0.6429,
"regression_edge": 0.4,
"xwoba_edge": -0.9714,
"xba_edge": -0.0857,
"xslg_edge": -0.9429,
"barrel_edge": -0.7778,
"hard_hit_edge": -0.1143,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": -1.0167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "669221",
"player_name": "Sean Murphy",
"offense_factor": 0.9429,
"quality_score": -0.7609,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669221",
"espn_id": 33557,
"player_name": "Sean Murphy",
"team": "ATL",
"role": "batter",
"espn_rank": 594,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 594,
"gp_value": 11.0,
"gp_rank": 559,
"ab_value": 38.0,
"ab_rank": 515,
"r_value": 1.0,
"r_rank": 571,
"h_value": 5.0,
"h_rank": 536,
"avg_value": 0.1315789,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 494,
"3b_value": 0.0,
"3b_rank": 274,
"hr_value": 0.0,
"hr_rank": 519,
"rbi_value": 0.0,
"rbi_rank": 592,
"tb_value": 6.0,
"tb_rank": 3135,
"bb_value": 0.0,
"bb_rank": 595,
"so_value": 15.0,
"so_rank": 486,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.1315789,
"obp_rank": "-",
"slg_value": 0.1578947,
"slg_rank": "-",
"ops_value": 0.2894736,
"ops_rank": null,
"war_value": -0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 34.0,
"k_percent": 39.5,
"bb_percent": 0.0,
"woba": 0.127,
"xwoba": 0.154,
"xba": 0.161,
"xslg": 0.192,
"sweet_spot_percent": 26.1,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 30.4,
"exit_velocity_avg": 83.8,
"launch_angle_avg": 3.4,
"whiff_percent": 33.8,
"swing_percent": 53.8
},
"components": {
"expected_quality": -2.0917,
"regression_edge": 0.7714,
"xwoba_edge": -2.5,
"xba_edge": -2.1714,
"xslg_edge": -2.5,
"barrel_edge": -1.5111,
"hard_hit_edge": -1.0571,
"exit_velocity_edge": -1.96,
"sweet_spot_edge": -1.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "663586",
"player_name": "Austin Riley",
"offense_factor": 1.0184,
"quality_score": 0.2456,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663586",
"espn_id": 34982,
"player_name": "Austin Riley",
"team": "ATL",
"role": "batter",
"espn_rank": 224,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 224,
"gp_value": 129.0,
"gp_rank": 12,
"ab_value": 464.0,
"ab_rank": 49,
"r_value": 54.0,
"r_rank": 107,
"h_value": 102.0,
"h_rank": 101,
"avg_value": 0.2198275,
"avg_rank": 133.0,
"2b_value": 20.0,
"2b_rank": 85,
"3b_value": 1.0,
"3b_rank": 125,
"hr_value": 15.0,
"hr_rank": 99,
"rbi_value": 60.0,
"rbi_rank": 70,
"tb_value": 169.0,
"tb_rank": 733,
"bb_value": 39.0,
"bb_rank": 110,
"so_value": 163.0,
"so_rank": 5,
"sb_value": 7.0,
"sb_rank": 120,
"obp_value": 0.2926356,
"obp_rank": "138",
"slg_value": 0.3642241,
"slg_rank": "130",
"ops_value": 0.6568597,
"ops_rank": 268.0,
"war_value": 0.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 500.0,
"k_percent": 31.6,
"bb_percent": 7.6,
"woba": 0.292,
"xwoba": 0.299,
"xba": 0.211,
"xslg": 0.395,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 12.2,
"hard_hit_percent": 45.7,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 18.7,
"whiff_percent": 32.7,
"swing_percent": 48.4
},
"components": {
"expected_quality": 0.2531,
"regression_edge": 0.2,
"xwoba_edge": -0.0857,
"xba_edge": -0.7429,
"xslg_edge": 0.3571,
"barrel_edge": 1.2,
"hard_hit_edge": 1.1286,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.45
}
}
],
"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 ATL | True | 193 | -0.0901 | 1 | 1.0077 | 0.9886 | 0.9900 | 1.0111 | neutral | 0.3150 | 0.3240 | 22.80 | 8.50 | 22.70 | 7.50 | 37.80 | |
| Home MIL | True | 204 | 0.1850 | 1 | 0.9843 | 1.0183 | 0.9760 | 1.0135 | neutral | 0.2950 | 0.3030 | 23.50 | 7.80 | 27.20 | 8.50 | 38.10 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away ATL | True | None | 92 | 89.51 | 2158 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0231 | |
| Home MIL | True | None | 89 | 90.41 | 2548 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0272 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9907 |
| home_runs_vs_away_pitcher | 1.0048 |
| home_pitcher_starter_only_factor | 0.9843 |
| away_pitcher_starter_only_factor | 1.0077 |
| home_pitcher_workload_share | 0.5926 |
| away_pitcher_workload_share | 0.6296 |
| home_pitcher_quality_edge | 0.1664 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "675660",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 408.0,
"k_percent": 23.5,
"bb_percent": 7.8,
"woba": 0.303,
"xwoba": 0.295,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 38.1,
"avg_best_speed": 76.7436,
"avg_hyper_speed": 93.7969,
"whiff_percent": 27.2,
"swing_percent": 47.9
},
"league_medians": {
"pa": 123.0,
"k_percent": 22.2,
"bb_percent": 9.0,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.5038,
"avg_hyper_speed": 93.8923,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.175,
"command_and_miss": 0.2386,
"regression_edge": 0.2286,
"xwoba_edge": 0.4571,
"barrel_edge": -0.3111,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.2714,
"bb_edge": 0.3,
"pitch_design_score": 0.0272
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675660",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 90.41202882500774,
"release_spin_rate": 2548.1985431891367,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 90.41202882500774,
"release_spin_rate": 2548.1985431891367,
"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.412,
"release_spin_rate": 2548.1985,
"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.0272,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1946,
"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.185,
"sample_weight": 1.0,
"run_prevention_factor": 0.9843,
"strikeout_factor": 1.0183,
"walk_factor": 0.976,
"homer_factor": 1.0135,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675660",
"espn_id": 4315203,
"player_name": "Shane Drohan",
"team": "MIL",
"role": "pitcher",
"espn_rank": 204,
"espn_total_ranked": 825,
"metrics": {
"espn_rank": 204,
"gp_value": 25.0,
"gp_rank": 256,
"gs_value": 14.0,
"gs_rank": 133,
"qs_value": 5.0,
"qs_rank": 99,
"era_value": 3.8571,
"era_rank": null,
"w_value": 6.0,
"w_rank": 92,
"l_value": 4.0,
"l_rank": 157,
"sv_value": 1.0,
"sv_rank": 126,
"hld_value": 2.0,
"hld_rank": 219,
"ip_value": 100.1,
"ip_rank": 105,
"h_value": 92.0,
"h_rank": 108,
"er_value": 43.0,
"er_rank": 118,
"hr_value": 9.0,
"hr_rank": 160,
"bb_value": 33.0,
"bb_rank": 109,
"k_value": 99.0,
"k_rank": 89,
"k_per_9_value": 8.880399,
"k_per_9_rank": 22,
"whip_value": 1.2458,
"whip_rank": null,
"war_value": 0.74,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "641816",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 421.0,
"k_percent": 22.8,
"bb_percent": 8.5,
"woba": 0.324,
"xwoba": 0.315,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 37.8,
"avg_best_speed": 80.4565,
"avg_hyper_speed": 94.0539,
"whiff_percent": 22.7,
"swing_percent": 45.3
},
"league_medians": {
"pa": 123.0,
"k_percent": 22.2,
"bb_percent": 9.0,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.5038,
"avg_hyper_speed": 93.8923,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1726,
"command_and_miss": -0.0664,
"regression_edge": 0.2571,
"xwoba_edge": -0.1143,
"barrel_edge": -0.0889,
"hard_hit_edge": -0.0143,
"whiff_edge": -0.3714,
"bb_edge": 0.125,
"pitch_design_score": -0.0231
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641816",
"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": 89.51332979838516,
"release_spin_rate": 2158.0039927237517,
"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": 89.51332979838516,
"release_spin_rate": 2158.0039927237517,
"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.5133,
"release_spin_rate": 2158.004,
"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.0231,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1649,
"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.0901,
"sample_weight": 1.0,
"run_prevention_factor": 1.0077,
"strikeout_factor": 0.9886,
"walk_factor": 0.99,
"homer_factor": 1.0111,
"woba_minus_xwoba": 0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641816",
"espn_id": 34973,
"player_name": "Tyler Mahle",
"team": "ATL",
"role": "pitcher",
"espn_rank": 193,
"espn_total_ranked": 825,
"metrics": {
"espn_rank": 193,
"gp_value": 21.0,
"gp_rank": 345,
"gs_value": 21.0,
"gs_rank": 79,
"qs_value": 6.0,
"qs_rank": 82,
"era_value": 4.5264,
"era_rank": null,
"w_value": 4.0,
"w_rank": 168,
"l_value": 10.0,
"l_rank": 13,
"sv_value": 0.0,
"sv_rank": 240,
"hld_value": 0.0,
"hld_rank": 327,
"ip_value": 113.1,
"ip_rank": 91,
"h_value": 108.0,
"h_rank": 82,
"er_value": 57.0,
"er_rank": 54,
"hr_value": 16.0,
"hr_rank": 60,
"bb_value": 40.0,
"bb_rank": 66,
"k_value": 108.0,
"k_rank": 72,
"k_per_9_value": 8.57647,
"k_per_9_rank": 21,
"whip_value": 1.3058,
"whip_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9907,
"home_runs_vs_away_pitcher": 1.0048,
"home_pitcher_starter_only_factor": 0.9843,
"away_pitcher_starter_only_factor": 1.0077,
"home_pitcher_workload_share": 0.5926,
"away_pitcher_workload_share": 0.6296,
"home_pitcher_quality_edge": 0.1664
},
"score_before": {
"away_runs": 1.1169,
"home_runs": 6.0428
},
"score_after": {
"away_runs": 1.1065,
"home_runs": 6.0721,
"home_win_probability": 0.92
},
"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 ATL | 3-7 | 0.300 | 2.50 | 3.80 | -13 | 2L | cold | average |
| Home MIL | 7-3 | 0.700 | 5.90 | 2.70 | 32 | 3W | hot | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away ATL | 75-55 | 0.577 | 108 | 0.831 | True |
| Home MIL | 81-49 | 0.623 | 163 | 1.254 | True |
| Signal | - | - | 0.423 | 0.697 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-08-22 | ATL @ MIL | 1 - 4 | MIL | 3 | blowout |
| 2026-08-21 | ATL @ MIL | 1 - 2 | MIL | 1 | close |
| 2026-06-21 | MIL @ ATL | 9 - 4 | MIL | 5 | blowout |
| 2026-06-20 | MIL @ ATL | 3 - 4 | ATL | 1 | close |
| 2026-06-19 | MIL @ ATL | 2 - 3 | ATL | 1 | close |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target ATL | - | - | 3 | - | - | - | - |
| Game target MIL | - | - | 5 | - | - | - | - |
| Player finalized ATL | 37 | 8 | 3 | 1 | 3 | 2 | 8 |
| Player finalized MIL | 34 | 9 | 5 | 1 | 5 | 4 | 8 |
| Player model fractional ATL | 34.07 | 7.62 | 3.48 | 0.91 | 3.31 | 2.34 | 7.95 |
| Player model fractional MIL | 33.06 | 8.86 | 5.09 | 1.02 | 4.74 | 3.84 | 8.06 |
| Simulation box ATL | 30 | 3 | 3 | 3 | 3 | 3 | 8 |
| Simulation box MIL | 29 | 5 | 5 | 1 | 5 | 2 | 10 |
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 ATL | Starter | Tyler Mahle | 5.20 | 5 | 8 | 5 | 2 | 3.32 | 1.11 | True |
| Away ATL | Setup Man | Dylan Lee | 1 | 0 | 1 | 0 | 0 | 2.48 | 0.99 | True |
| Away ATL | Closer | Raisel Iglesias | 1.10 | 0 | 1 | 0 | 0 | 4.31 | 1.27 | True |
| Home MIL | Starter | Shane Drohan | 5.10 | 1 | 5 | 1 | 2 | 4.86 | 1.35 | True |
| Home MIL | Setup Man | Aaron Ashby | 1.10 | 0 | 2 | 0 | 1 | 2.45 | 1.28 | True |
| Home MIL | Middle Reliever (High Leverage) | Chad Patrick | 1.10 | 1 | 1 | 1 | 0 | 2.58 | 1.23 | True |
| Home MIL | Closer | Trevor Megill | 1 | 1 | 0 | 1 | 0 | 1.72 | 0.70 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | MIL | batter | RF | Jake Bauers | better | 10 | 8 | 2 | 8 | 2 | predicted_RBI | 2.3630 | boost | better |
| away | ATL | batter | 2B | Ozzie Albies | worse | 10 | 5 | 5 | 4 | 6 | predicted_HR | 1.9100 | boost | better |
| away | ATL | batter | CF | Michael Harris II | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | -1.6200 | deboost | worse |
| away | ATL | batter | 3B | Austin Riley | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | -1.6200 | deboost | worse |
| home | MIL | batter | LF | Jackson Chourio | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | -1.5200 | deboost | worse |
| home | MIL | batter | 1B | Andrew Vaughn | better | 11 | 7 | 4 | 6 | 5 | predicted_SO | 1.4940 | boost | worse |
| home | MIL | batter | DH | Christian Yelich | worse | 9 | 1 | 8 | 2 | 7 | predicted_AB | -1.4100 | deboost | worse |
| home | MIL | batter | C | William Contreras | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.4070 | boost | worse |
| away | ATL | batter | 1B | Matt Olson | worse | 9 | 0 | 9 | 1 | 8 | predicted_H | -1.1100 | deboost | worse |
| away | ATL | batter | DH | Drake Baldwin | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | -1.0380 | deboost | worse |
| home | MIL | batter | SS | Joey Ortiz | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | -1.0110 | deboost | worse |
| away | ATL | batter | SS | Mauricio Dubón | worse | 10 | 3 | 7 | 2 | 8 | predicted_H | -1.0000 | deboost | worse |
| away | ATL | pitcher | Closer | Raisel Iglesias | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | MIL | pitcher | Starter | Shane Drohan | deboosted | 2 | 0 | 2 | 1 | 1 | predicted_H | -1.0000 | deboost | better |
| home | MIL | pitcher | Middle Reliever (High Leverage) | Chad Patrick | worse | 2 | 1 | 1 | 0 | 2 | predicted_H | 1.0000 | boost | worse |
| away | ATL | batter | LF | Lane Thomas | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 0.9900 | boost | better |
| home | MIL | batter | 2B | Brice Turang | worse | 9 | 3 | 6 | 4 | 5 | predicted_AB | -0.9700 | deboost | worse |
| away | ATL | batter | RF | Jim Jarvis | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | -0.9210 | deboost | worse |
| away | ATL | batter | C | Sean Murphy | worse | 9 | 1 | 8 | 0 | 9 | predicted_AB | -0.9200 | deboost | worse |
| home | MIL | batter | 3B | David Hamilton | worse | 9 | 3 | 6 | 2 | 7 | predicted_H | -0.7900 | deboost | worse |
| home | MIL | batter | CF | Garrett Mitchell | worse | 11 | 0 | 11 | 1 | 10 | predicted_H | -0.5800 | deboost | worse |
| away | ATL | pitcher | Starter | Tyler Mahle | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | MIL | pitcher | Setup Man | Aaron Ashby | 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 | Tyler Mahle |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0901 |
| ESPN Rank | 193 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0231 |
| Avg Velo | 89.5133 |
| Avg Spin | 2158.0040 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 5 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 8 |
| Season ERA | 4.5265 |
| Season WHIP | 1.3059 |
| Role Avg IP | 5.3970 |
| Recent Avg IP | 6.0670 |
| Last Start IP | 6.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 130,
"wins": 75,
"losses": 55,
"win_pct": 0.5769,
"runs_scored": 610.0,
"runs_allowed": 502.0,
"run_differential": 108.0,
"run_differential_per_game": 0.8308,
"avg_runs_scored": 4.6923,
"avg_runs_allowed": 3.8615,
"offense_index": 1.045,
"defense_index": 1.1628,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.5,
"avg_runs_allowed": 3.8,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.0971
},
"opponent": {
"team": "MIL",
"games": 130,
"wins": 81,
"losses": 49,
"win_pct": 0.6231,
"runs_scored": 648.0,
"runs_allowed": 485.0,
"run_differential": 163.0,
"run_differential_per_game": 1.2538,
"avg_runs_scored": 4.9846,
"avg_runs_allowed": 3.7308,
"offense_index": 1.1101,
"defense_index": 1.2035,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.3282
},
"edges": {
"quality_edge": -0.2311,
"offense_edge": 0.045,
"opponent_offense_edge": 0.1101,
"defense_strength": 0.1628,
"opponent_defense_weakness": -0.2035,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9912,
"run_prevention": 1.0129,
"strikeout": 0.9843
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641816",
"profile": {
"available": true,
"pitcher_id": "641816",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 421.0,
"k_percent": 22.8,
"bb_percent": 8.5,
"woba": 0.324,
"xwoba": 0.315,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 37.8,
"avg_best_speed": 80.4565,
"avg_hyper_speed": 94.0539,
"whiff_percent": 22.7,
"swing_percent": 45.3
},
"league_medians": {
"pa": 123.0,
"k_percent": 22.2,
"bb_percent": 9.0,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.5038,
"avg_hyper_speed": 93.8923,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1726,
"command_and_miss": -0.0664,
"regression_edge": 0.2571,
"xwoba_edge": -0.1143,
"barrel_edge": -0.0889,
"hard_hit_edge": -0.0143,
"whiff_edge": -0.3714,
"bb_edge": 0.125,
"pitch_design_score": -0.0231
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641816",
"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": 89.51332979838516,
"release_spin_rate": 2158.0039927237517,
"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": 89.51332979838516,
"release_spin_rate": 2158.0039927237517,
"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.5133,
"release_spin_rate": 2158.004,
"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.0231,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1649,
"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.0901,
"sample_weight": 1.0,
"run_prevention_factor": 1.0077,
"strikeout_factor": 0.9886,
"walk_factor": 0.99,
"homer_factor": 1.0111,
"woba_minus_xwoba": 0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641816",
"espn_id": 34973,
"player_name": "Tyler Mahle",
"team": "ATL",
"role": "pitcher",
"espn_rank": 193,
"espn_total_ranked": 825,
"metrics": {
"espn_rank": 193,
"gp_value": 21.0,
"gp_rank": 345,
"gs_value": 21.0,
"gs_rank": 79,
"qs_value": 6.0,
"qs_rank": 82,
"era_value": 4.5264,
"era_rank": null,
"w_value": 4.0,
"w_rank": 168,
"l_value": 10.0,
"l_rank": 13,
"sv_value": 0.0,
"sv_rank": 240,
"hld_value": 0.0,
"hld_rank": 327,
"ip_value": 113.1,
"ip_rank": 91,
"h_value": 108.0,
"h_rank": 82,
"er_value": 57.0,
"er_rank": 54,
"hr_value": 16.0,
"hr_rank": 60,
"bb_value": 40.0,
"bb_rank": 66,
"k_value": 108.0,
"k_rank": 72,
"k_per_9_value": 8.57647,
"k_per_9_rank": 21,
"whip_value": 1.3058,
"whip_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0077,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0077,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.99,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0111,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 0.9886,
"adjusted": 6
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 56.2,
"ER": 19,
"H": 45,
"BB": 16,
"SO": 51,
"HR": 5,
"ERA": 3.0176470588235293,
"WHIP": 1.076470588235294,
"K9": 8.1,
"HR9": 0.7941176470588235,
"games_pitched": 10,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-18T00:00:00"
}{
"available": true,
"pitcher_id": "641816",
"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": 89.51332979838516,
"release_spin_rate": 2158.0039927237517,
"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": 89.51332979838516,
"release_spin_rate": 2158.0039927237517,
"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.5133,
"release_spin_rate": 2158.004,
"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.0231,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1649,
"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": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "641816",
"report_date": "20260823",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.1,
"ER": 8.0,
"R": 8.0,
"H": 21.0,
"BB": 7.0,
"SO": 31.0,
"HR": 3.0,
"BF": 114.0,
"Pitches": 448.0
},
"per_game": {
"IP": 6.0,
"ER": 1.6,
"R": 1.6,
"H": 4.2,
"BB": 1.4,
"SO": 6.2,
"HR": 0.6,
"BF": 22.8,
"Pitches": 89.6
},
"rates": {
"ERA": 2.3736,
"WHIP": 0.9231,
"ER_per_IP": 0.26374,
"H_per_IP": 0.69231,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.02198,
"HR_per_IP": 0.0989
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.2,
"ER": 19.0,
"R": 20.0,
"H": 45.0,
"BB": 16.0,
"SO": 51.0,
"HR": 5.0,
"BF": 224.0,
"Pitches": 873.0
},
"per_game": {
"IP": 5.2,
"ER": 1.9,
"R": 2.0,
"H": 4.5,
"BB": 1.6,
"SO": 5.1,
"HR": 0.5,
"BF": 22.4,
"Pitches": 87.3
},
"rates": {
"ERA": 3.0176,
"WHIP": 1.0765,
"ER_per_IP": 0.33529,
"H_per_IP": 0.79412,
"BB_per_IP": 0.28235,
"SO_per_IP": 0.9,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 21,
"totals": {
"IP": 113.1,
"ER": 57.0,
"R": 58.0,
"H": 108.0,
"BB": 40.0,
"SO": 108.0,
"HR": 16.0,
"BF": 473.0,
"Pitches": 1839.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7143,
"R": 2.7619,
"H": 5.1429,
"BB": 1.9048,
"SO": 5.1429,
"HR": 0.7619,
"BF": 22.5238,
"Pitches": 87.5714
},
"rates": {
"ERA": 4.5265,
"WHIP": 1.3059,
"ER_per_IP": 0.50294,
"H_per_IP": 0.95294,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.95294,
"HR_per_IP": 0.14118
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.112,
"predicted_H": 4.686,
"predicted_BB": 1.67,
"predicted_SO": 5.517,
"predicted_HR": 0.643,
"predicted_ERA": 3.3156,
"predicted_WHIP": 1.1086
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4312,
"form_weight": 0.5688,
"form_reliability": 0.8077,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 2.112,
"final": 3.3574,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.686,
"final": 4.8214,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.67,
"final": 1.8123,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 5.517,
"final": 6.5878,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.643,
"final": 0.797,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3156,
"final": 3.3156,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1086,
"final": 1.1086,
"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 | Dylan Lee |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.9310 |
| ESPN Rank | 66 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2063 |
| Avg Velo | 86.2411 |
| Avg Spin | 2134.7083 |
| 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.0172 |
| Season WHIP | 0.7586 |
| Role Avg IP | 0.9670 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 130,
"wins": 75,
"losses": 55,
"win_pct": 0.5769,
"runs_scored": 610.0,
"runs_allowed": 502.0,
"run_differential": 108.0,
"run_differential_per_game": 0.8308,
"avg_runs_scored": 4.6923,
"avg_runs_allowed": 3.8615,
"offense_index": 1.045,
"defense_index": 1.1628,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.5,
"avg_runs_allowed": 3.8,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.0971
},
"opponent": {
"team": "MIL",
"games": 130,
"wins": 81,
"losses": 49,
"win_pct": 0.6231,
"runs_scored": 648.0,
"runs_allowed": 485.0,
"run_differential": 163.0,
"run_differential_per_game": 1.2538,
"avg_runs_scored": 4.9846,
"avg_runs_allowed": 3.7308,
"offense_index": 1.1101,
"defense_index": 1.2035,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.3282
},
"edges": {
"quality_edge": -0.2311,
"offense_edge": 0.045,
"opponent_offense_edge": 0.1101,
"defense_strength": 0.1628,
"opponent_defense_weakness": -0.2035,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9912,
"run_prevention": 1.0129,
"strikeout": 0.9843
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669276",
"profile": {
"available": true,
"pitcher_id": "669276",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 211.0,
"k_percent": 33.3,
"bb_percent": 6.5,
"woba": 0.2,
"xwoba": 0.233,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 30.8,
"avg_best_speed": 75.9164,
"avg_hyper_speed": 92.8239,
"whiff_percent": 37.6,
"swing_percent": 52.6
},
"league_medians": {
"pa": 123.0,
"k_percent": 22.2,
"bb_percent": 9.0,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.5038,
"avg_hyper_speed": 93.8923,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.4927,
"command_and_miss": 1.4536,
"regression_edge": -0.9429,
"xwoba_edge": 2.2286,
"barrel_edge": 0.2,
"hard_hit_edge": 0.9857,
"whiff_edge": 1.7571,
"bb_edge": 0.625,
"pitch_design_score": -0.2063
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669276",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.24110591430622,
"release_spin_rate": 2134.708293497958,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 86.24110591430622,
"release_spin_rate": 2134.708293497958,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.2411,
"release_spin_rate": 2134.7083,
"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.2063,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4738,
"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.931,
"sample_weight": 0.844,
"run_prevention_factor": 0.9209,
"strikeout_factor": 1.1129,
"walk_factor": 0.9578,
"homer_factor": 0.8968,
"woba_minus_xwoba": -0.033,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "669276",
"espn_id": 41455,
"player_name": "Dylan Lee",
"team": "ATL",
"role": "pitcher",
"espn_rank": 66,
"espn_total_ranked": 825,
"metrics": {
"espn_rank": 66,
"gp_value": 60.0,
"gp_rank": 10,
"gs_value": 0.0,
"gs_rank": 345,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.0172,
"era_rank": null,
"w_value": 5.0,
"w_rank": 117,
"l_value": 0.0,
"l_rank": 550,
"sv_value": 0.0,
"sv_rank": 240,
"hld_value": 29.0,
"hld_rank": 1,
"ip_value": 58.0,
"ip_rank": 203,
"h_value": 30.0,
"h_rank": 378,
"er_value": 13.0,
"er_rank": 414,
"hr_value": 3.0,
"hr_rank": 406,
"bb_value": 14.0,
"bb_rank": 366,
"k_value": 72.0,
"k_rank": 154,
"k_per_9_value": 11.172414,
"k_per_9_rank": 20,
"whip_value": 0.7586,
"whip_rank": null,
"war_value": 2.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9332,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9332,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9644,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9129,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0953,
"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": 1,
"H": 2,
"BB": 6,
"SO": 12,
"HR": 0,
"ERA": 0.9642857142857142,
"WHIP": 0.8571428571428571,
"K9": 11.571428571428571,
"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-08-20T00:00:00"
}{
"available": true,
"pitcher_id": "669276",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.24110591430622,
"release_spin_rate": 2134.708293497958,
"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": 18,
"pitch_usage": 0.0,
"release_speed": 86.24110591430622,
"release_spin_rate": 2134.708293497958,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.2411,
"release_spin_rate": 2134.7083,
"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.2063,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4738,
"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.622,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6992,
"prior_weight": 0.3008
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669276",
"report_date": "20260823",
"season_year": 2026,
"rows_used": 60,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.2
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.8571,
"ER_per_IP": 0.21429,
"H_per_IP": 0.42857,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 6.0,
"SO": 12.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 158.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.2,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 3.5,
"Pitches": 15.8
},
"rates": {
"ERA": 0.9643,
"WHIP": 0.8571,
"ER_per_IP": 0.10714,
"H_per_IP": 0.21429,
"BB_per_IP": 0.64286,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"season": {
"games": 60,
"totals": {
"IP": 58.0,
"ER": 13.0,
"R": 15.0,
"H": 30.0,
"BB": 14.0,
"SO": 72.0,
"HR": 3.0,
"BF": 216.0,
"Pitches": 889.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2167,
"R": 0.25,
"H": 0.5,
"BB": 0.2333,
"SO": 1.2,
"HR": 0.05,
"BF": 3.6,
"Pitches": 14.8167
},
"rates": {
"ERA": 2.0172,
"WHIP": 0.7586,
"ER_per_IP": 0.22414,
"H_per_IP": 0.51724,
"BB_per_IP": 0.24138,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.05172
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.276,
"predicted_H": 0.553,
"predicted_BB": 0.436,
"predicted_SO": 1.178,
"predicted_HR": 0.052,
"predicted_ERA": 2.4835,
"predicted_WHIP": 0.9889
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4771,
"form_weight": 0.5229,
"form_reliability": 0.6992,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.622,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6992,
"prior_weight": 0.3008
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.276,
"final": 0.1443,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.553,
"final": 0.2892,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.436,
"final": 0.228,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.178,
"final": 1.0931,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.052,
"final": 0.0272,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4835,
"final": 2.4835,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9889,
"final": 0.9889,
"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 | Raisel Iglesias |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2906 |
| ESPN Rank | 202 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0974 |
| Avg Velo | 91.6657 |
| Avg Spin | 2200.0485 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.0857 |
| Season WHIP | 1.1786 |
| Role Avg IP | 1.0140 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 130,
"wins": 75,
"losses": 55,
"win_pct": 0.5769,
"runs_scored": 610.0,
"runs_allowed": 502.0,
"run_differential": 108.0,
"run_differential_per_game": 0.8308,
"avg_runs_scored": 4.6923,
"avg_runs_allowed": 3.8615,
"offense_index": 1.045,
"defense_index": 1.1628,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.5,
"avg_runs_allowed": 3.8,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.0971
},
"opponent": {
"team": "MIL",
"games": 130,
"wins": 81,
"losses": 49,
"win_pct": 0.6231,
"runs_scored": 648.0,
"runs_allowed": 485.0,
"run_differential": 163.0,
"run_differential_per_game": 1.2538,
"avg_runs_scored": 4.9846,
"avg_runs_allowed": 3.7308,
"offense_index": 1.1101,
"defense_index": 1.2035,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.3282
},
"edges": {
"quality_edge": -0.2311,
"offense_edge": 0.045,
"opponent_offense_edge": 0.1101,
"defense_strength": 0.1628,
"opponent_defense_weakness": -0.2035,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9912,
"run_prevention": 1.0129,
"strikeout": 0.9843
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "628452",
"profile": {
"available": true,
"pitcher_id": "628452",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 187.0,
"k_percent": 26.7,
"bb_percent": 7.3,
"woba": 0.292,
"xwoba": 0.284,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 36.8,
"avg_best_speed": 77.5721,
"avg_hyper_speed": 93.4764,
"whiff_percent": 30.6,
"swing_percent": 52.8
},
"league_medians": {
"pa": 123.0,
"k_percent": 22.2,
"bb_percent": 9.0,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.5038,
"avg_hyper_speed": 93.8923,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.3421,
"command_and_miss": 0.6393,
"regression_edge": 0.2286,
"xwoba_edge": 0.7714,
"barrel_edge": -0.5778,
"hard_hit_edge": 0.1286,
"whiff_edge": 0.7571,
"bb_edge": 0.425,
"pitch_design_score": 0.0974
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "628452",
"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": 91.66565663041236,
"release_spin_rate": 2200.0485085060564,
"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": 91.66565663041236,
"release_spin_rate": 2200.0485085060564,
"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.6657,
"release_spin_rate": 2200.0485,
"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.0974,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6961,
"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.2906,
"sample_weight": 0.748,
"run_prevention_factor": 0.9753,
"strikeout_factor": 1.0419,
"walk_factor": 0.9746,
"homer_factor": 1.0134,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "628452",
"espn_id": 33618,
"player_name": "Raisel Iglesias",
"team": "ATL",
"role": "pitcher",
"espn_rank": 202,
"espn_total_ranked": 825,
"metrics": {
"espn_rank": 202,
"gp_value": 46.0,
"gp_rank": 99,
"gs_value": 0.0,
"gs_rank": 345,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.0857,
"era_rank": null,
"w_value": 1.0,
"w_rank": 384,
"l_value": 2.0,
"l_rank": 296,
"sv_value": 26.0,
"sv_rank": 9,
"hld_value": 0.0,
"hld_rank": 327,
"ip_value": 46.2,
"ip_rank": 286,
"h_value": 41.0,
"h_rank": 277,
"er_value": 16.0,
"er_rank": 357,
"hr_value": 5.0,
"hr_rank": 285,
"bb_value": 14.0,
"bb_rank": 366,
"k_value": 51.0,
"k_rank": 248,
"k_per_9_value": 9.835714,
"k_per_9_rank": 23,
"whip_value": 1.1785,
"whip_rank": null,
"war_value": 0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9815,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9815,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.981,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.01,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0313,
"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.2,
"ER": 6,
"H": 9,
"BB": 6,
"SO": 8,
"HR": 1,
"ERA": 5.586206896551724,
"WHIP": 1.5517241379310345,
"K9": 7.448275862068966,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-20T00:00:00"
}{
"available": true,
"pitcher_id": "628452",
"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": 91.66565663041236,
"release_spin_rate": 2200.0485085060564,
"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": 91.66565663041236,
"release_spin_rate": 2200.0485085060564,
"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.6657,
"release_spin_rate": 2200.0485,
"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.0974,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6961,
"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": 9.351,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6516,
"prior_weight": 0.3484
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "628452",
"report_date": "20260823",
"season_year": 2026,
"rows_used": 46,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 2.0,
"SO": 5.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.4,
"SO": 1.0,
"HR": 0.2,
"BF": 4.0,
"Pitches": 15.8
},
"rates": {
"ERA": 3.6,
"WHIP": 1.0,
"ER_per_IP": 0.4,
"H_per_IP": 0.6,
"BB_per_IP": 0.4,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 6.0,
"SO": 8.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 170.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.9,
"BB": 0.6,
"SO": 0.8,
"HR": 0.1,
"BF": 4.4,
"Pitches": 17.0
},
"rates": {
"ERA": 5.5862,
"WHIP": 1.5517,
"ER_per_IP": 0.62069,
"H_per_IP": 0.93103,
"BB_per_IP": 0.62069,
"SO_per_IP": 0.82759,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 46,
"totals": {
"IP": 46.2,
"ER": 16.0,
"R": 19.0,
"H": 41.0,
"BB": 14.0,
"SO": 51.0,
"HR": 5.0,
"BF": 191.0,
"Pitches": 724.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3478,
"R": 0.413,
"H": 0.8913,
"BB": 0.3043,
"SO": 1.1087,
"HR": 0.1087,
"BF": 4.1522,
"Pitches": 15.7391
},
"rates": {
"ERA": 3.0857,
"WHIP": 1.1786,
"ER_per_IP": 0.34286,
"H_per_IP": 0.87857,
"BB_per_IP": 0.3,
"SO_per_IP": 1.09286,
"HR_per_IP": 0.10714
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.367,
"predicted_H": 0.646,
"predicted_BB": 0.327,
"predicted_SO": 0.733,
"predicted_HR": 0.113,
"predicted_ERA": 4.3054,
"predicted_WHIP": 1.2679
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4972,
"form_weight": 0.5028,
"form_reliability": 0.6516,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.351,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6516,
"prior_weight": 0.3484
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.367,
"final": 0.1845,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.646,
"final": 0.3248,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.327,
"final": 0.1644,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.733,
"final": 0.8658,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.113,
"final": 0.0568,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3054,
"final": 4.3054,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2679,
"final": 1.2679,
"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.085 | 0.000 | 0.000 | Hitting_2B | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.868 | 3.000 | 4.000 | Hitting_AB | 3.931 | 2.000 | -0.931 | 1.000 |
| predicted_AVG | 0.268 | 0.000 | 0.250 | Hitting_AVG | 0.279 | 0.000 | -0.279 | 0.000 |
| predicted_BB | 0.453 | 1.000 | 1.000 | Hitting_BB | 0.468 | 2.000 | 0.532 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_H | 1.038 | 0.000 | 1.000 | Hitting_H | 1.097 | 0.000 | -1.097 | 0.000 |
| predicted_HR | 0.198 | 0.000 | 1.000 | Hitting_HR | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_OBP | 0.345 | 0.250 | 0.400 | Hitting_OBP | 0.365 | 0.500 | -0.115 | -0.250 |
| predicted_R | 0.642 | 1.000 | 1.000 | Hitting_R | 0.678 | 1.000 | 0.322 | 0.000 |
| predicted_RBI | 0.594 | 0.000 | 1.000 | Hitting_RBI | 0.633 | 0.000 | -0.633 | 0.000 |
| predicted_SLG | 0.444 | 0.000 | 1.000 | Hitting_SLG | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_SO | 0.896 | 0.000 | 1.000 | Hitting_SO | 0.893 | 0.000 | -0.893 | 0.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_BB: 0.4530 -> 1.0000 (boost 0.5470, better) |
| Biggest Deboost | predicted_H: 1.0380 -> 0.0000 (deboost -1.0380, 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_RBI: 0.5940 -> 0.5352 (deboost -0.0588, 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.4235 -> 0.4112 (deboost -0.0123, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5054 -> 1.0000 (boost 0.4946, better) | predicted_BB: 0.4292 -> 0.0000 (deboost -0.4292, worse) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.245 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5728 -> 1.0000 (boost 0.4272, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4112 -> 0.4190 (boost 0.0078, 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 |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 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 |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4190 -> 0.4112 (deboost -0.0078, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686948",
"player_name": "Drake Baldwin",
"position": "DH",
"team": "ATL",
"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.085,
"predicted_3B": 0.0,
"predicted_AB": 3.868,
"predicted_AVG": 0.268,
"predicted_BB": 0.453,
"predicted_H": 1.038,
"predicted_HR": 0.198,
"predicted_OBP": 0.345,
"predicted_R": 0.642,
"predicted_RBI": 0.594,
"predicted_SLG": 0.444,
"predicted_SO": 0.896
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.0898,
"predicted_3B": 0.0004,
"predicted_AB": 3.8632,
"predicted_AVG": 0.2534,
"predicted_BB": 0.4314,
"predicted_H": 0.9796,
"predicted_HBP": 0.039,
"predicted_HR": 0.1885,
"predicted_OBP": 0.3307,
"predicted_R": 0.6066,
"predicted_RBI": 0.5352,
"predicted_SLG": 0.4235,
"predicted_SO": 0.9042
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.085,
"after": 0.0898,
"delta": 0.0048,
"percent_delta": 0.0565,
"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.868,
"after": 3.8632,
"delta": -0.0048,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2534,
"delta": -0.0146,
"percent_delta": -0.0545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.453,
"after": 0.4314,
"delta": -0.0216,
"percent_delta": -0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.038,
"after": 0.9796,
"delta": -0.0584,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.198,
"after": 0.1885,
"delta": -0.0095,
"percent_delta": -0.048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3307,
"delta": -0.0143,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.642,
"after": 0.6066,
"delta": -0.0354,
"percent_delta": -0.0551,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.594,
"after": 0.5352,
"delta": -0.0588,
"percent_delta": -0.099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4235,
"delta": -0.0205,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.896,
"after": 0.9042,
"delta": 0.0082,
"percent_delta": 0.0092,
"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_RBI",
"before": 0.594,
"after": 0.5352,
"delta": -0.0588,
"percent_delta": -0.099,
"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": 106
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0898,
"predicted_3B": 0.0004,
"predicted_AB": 3.8632,
"predicted_AVG": 0.2452,
"predicted_BB": 0.4292,
"predicted_H": 0.9473,
"predicted_HBP": 0.039,
"predicted_HR": 0.1835,
"predicted_OBP": 0.3207,
"predicted_R": 0.5728,
"predicted_RBI": 0.5054,
"predicted_SLG": 0.4112,
"predicted_SO": 0.9088
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0898,
"after": 0.0898,
"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.8632,
"after": 3.8632,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2534,
"after": 0.2452,
"delta": -0.0082,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4314,
"after": 0.4292,
"delta": -0.0022,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9796,
"after": 0.9473,
"delta": -0.0323,
"percent_delta": -0.033,
"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.1885,
"after": 0.1835,
"delta": -0.005,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3307,
"after": 0.3207,
"delta": -0.01,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6066,
"after": 0.5728,
"delta": -0.0338,
"percent_delta": -0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5352,
"after": 0.5054,
"delta": -0.0298,
"percent_delta": -0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4235,
"after": 0.4112,
"delta": -0.0123,
"percent_delta": -0.029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9042,
"after": 0.9088,
"delta": 0.0046,
"percent_delta": 0.0051,
"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.4235,
"after": 0.4112,
"delta": -0.0123,
"percent_delta": -0.029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.245 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0898,
"after": 0.0,
"delta": -0.0898,
"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.8632,
"after": 4.0,
"delta": 0.1368,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4292,
"after": 0.0,
"delta": -0.4292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9473,
"after": 1.0,
"delta": 0.0527,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"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.1835,
"after": 0.0,
"delta": -0.1835,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5054,
"after": 1.0,
"delta": 0.4946,
"percent_delta": 0.9786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9088,
"after": 1.0,
"delta": 0.0912,
"percent_delta": 0.1004,
"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.5054,
"after": 1.0,
"delta": 0.4946,
"percent_delta": 0.9786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4292,
"after": 0.0,
"delta": -0.4292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5728,
"after": 1.0,
"delta": 0.4272,
"percent_delta": 0.7458,
"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.5728,
"after": 1.0,
"delta": 0.4272,
"percent_delta": 0.7458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.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_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": 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_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_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": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.245,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.325,
"predicted_R": 1.0,
"predicted_RBI": 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.2452,
"after": 0.245,
"delta": -0.0002,
"percent_delta": -0.0008,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3207,
"after": 0.325,
"delta": 0.0043,
"percent_delta": 0.0134,
"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_SLG",
"before": 0.4112,
"after": 0.419,
"delta": 0.0078,
"percent_delta": 0.019,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4112,
"after": 0.419,
"delta": 0.0078,
"percent_delta": 0.019,
"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": 8,
"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": 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": 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": 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": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 9,
"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.2452,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3207,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4112,
"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.245,
"after": 0.2452,
"delta": 0.0002,
"percent_delta": 0.0008,
"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_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.3207,
"delta": -0.0043,
"percent_delta": -0.0133,
"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_SLG",
"before": 0.419,
"after": 0.4112,
"delta": -0.0078,
"percent_delta": -0.0187,
"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_SLG",
"before": 0.419,
"after": 0.4112,
"delta": -0.0078,
"percent_delta": -0.0187,
"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.085,
"after": 0.0,
"delta": -0.085,
"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.868,
"after": 3.0,
"delta": -0.868,
"percent_delta": -0.2244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2452,
"delta": -0.0228,
"percent_delta": -0.0851,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.453,
"after": 1.0,
"delta": 0.547,
"percent_delta": 1.2075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.038,
"after": 0.0,
"delta": -1.038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3207,
"delta": -0.0243,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.642,
"after": 1.0,
"delta": 0.358,
"percent_delta": 0.5576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.594,
"after": 0.0,
"delta": -0.594,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4112,
"delta": -0.0328,
"percent_delta": -0.0739,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.896,
"after": 0.0,
"delta": -0.896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.453,
"after": 1.0,
"delta": 0.547,
"percent_delta": 1.2075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.038,
"after": 0.0,
"delta": -1.038,
"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.085 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.868 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.453 | - |
| predicted_H | 1.038 | - |
| predicted_HR | 0.198 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.642 | - |
| predicted_RBI | 0.594 | - |
| predicted_SLG | 0.444 | - |
| predicted_SO | 0.896 | - |
Final model 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.090 | 0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.863 | -0.005 |
| predicted_AVG | 0.253 | -0.015 |
| predicted_BB | 0.431 | -0.022 |
| predicted_H | 0.980 | -0.058 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.189 | -0.010 |
| predicted_OBP | 0.331 | -0.014 |
| predicted_R | 0.607 | -0.035 |
| predicted_RBI | 0.535 | -0.059 |
| predicted_SLG | 0.423 | -0.021 |
| predicted_SO | 0.904 | 0.008 |
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.090 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.863 | 0.000 |
| predicted_AVG | 0.245 | -0.008 |
| predicted_BB | 0.429 | -0.002 |
| predicted_H | 0.947 | -0.032 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.183 | -0.005 |
| predicted_OBP | 0.321 | -0.010 |
| predicted_R | 0.573 | -0.034 |
| predicted_RBI | 0.505 | -0.030 |
| predicted_SLG | 0.411 | -0.012 |
| predicted_SO | 0.909 | 0.005 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.245 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 | 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| H | 1.000 | 0.000 |
| HR | 1.000 | 1.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.090 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.137 |
| predicted_AVG | 0.245 | -0.000 |
| predicted_BB | 0.000 | -0.429 |
| predicted_H | 1.000 | 0.053 |
| predicted_HR | 0.000 | -0.183 |
| predicted_OBP | 0.325 | 0.004 |
| predicted_R | 1.000 | 0.427 |
| predicted_RBI | 1.000 | 0.495 |
| predicted_SLG | 0.419 | 0.008 |
| predicted_SO | 1.000 | 0.091 |
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 | -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 | - | 19.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 6.000 | 0.1053 | 0.1905 | 0.2632 | 0.1053 | 0.0526 | 0.0526 | 0.1053 | 0.3158 |
| last_10 | 0.20 | 10 | - | 39.000 | 10.000 | 2.000 | 0.000 | 1.000 | 3.000 | 5.000 | 3.000 | 7.000 | 0.2564 | 0.3095 | 0.3846 | 0.2564 | 0.0256 | 0.0769 | 0.0769 | 0.1795 |
| season | 0.60 | 106 | - | 410.000 | 110.000 | 9.000 | 0.000 | 21.000 | 63.000 | 68.000 | 48.000 | 95.000 | 0.2683 | 0.3541 | 0.4439 | 0.2683 | 0.0512 | 0.1537 | 0.1171 | 0.2317 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0960 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8570 |
| predicted_AVG | 0.2342 |
| predicted_BB | 0.4030 |
| predicted_H | 0.9030 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.1760 |
| predicted_OBP | 0.3120 |
| predicted_R | 0.5600 |
| predicted_RBI | 0.4580 |
| predicted_SLG | 0.3966 |
| predicted_SO | 0.9150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0850 | 0.0960 | 0.0898 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8680 | 3.8570 | 3.8632 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2342 | 0.2534 | model_form_blend |
| predicted_BB | 0.4530 | 0.4030 | 0.4314 | model_form_blend |
| predicted_H | 1.0380 | 0.9030 | 0.9796 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1980 | 0.1760 | 0.1885 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3120 | 0.3307 | model_form_blend |
| predicted_R | 0.6420 | 0.5600 | 0.6066 | model_form_blend |
| predicted_RBI | 0.5940 | 0.4580 | 0.5352 | model_form_blend |
| predicted_SLG | 0.4440 | 0.3966 | 0.4235 | model_form_blend |
| predicted_SO | 0.8960 | 0.9150 | 0.9042 | 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 | 466 |
| Season rows before report date | 466 |
| Report year | 2026 |
| Profile rows used | 106 |
| 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 | 0 |
| 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.0 |
| Hitting_BB | 2 |
| 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 | 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 | C |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 686948 |
| playerID | 686948 |
| playerName | Drake Baldwin |
| pos | C |
| started | True |
| startingPosition | C |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-22 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.349 |
| sl_xwoba | 0.373 |
| sl_xba | 0.279 |
| sl_xslg | 0.499 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 13.1 |
| sl_hard_hit_percent | 52.0 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 50.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.244 | 0.000 | 1.000 | Hitting_2B | 0.244 | 1.000 | -0.244 | -1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 5.620 | 4.000 | 6.000 | Hitting_AB | 4.053 | 4.000 | -0.053 | 0.000 |
| predicted_AVG | 0.281 | 0.000 | 0.167 | Hitting_AVG | 0.295 | 0.500 | -0.295 | -0.500 |
| predicted_BB | 0.130 | 0.000 | 0.000 | Hitting_BB | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_H | 1.580 | 0.000 | 1.000 | Hitting_H | 1.197 | 2.000 | -1.197 | -2.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_OBP | 0.332 | 0.000 | 0.167 | Hitting_OBP | 0.320 | 0.500 | -0.320 | -0.500 |
| predicted_R | 0.504 | 0.000 | 1.000 | Hitting_R | 0.545 | 0.000 | -0.545 | 0.000 |
| predicted_RBI | 0.650 | 0.000 | 1.000 | Hitting_RBI | 0.592 | 1.000 | -0.592 | -1.000 |
| predicted_SLG | 0.477 | 0.000 | 0.333 | Hitting_SLG | 0.486 | 0.750 | -0.486 | -0.750 |
| predicted_SO | 0.789 | 1.000 | 1.000 | Hitting_SO | 0.828 | 1.000 | 0.172 | 0.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.7890 -> 1.0000 (boost 0.2110, worse) |
| Biggest Deboost | predicted_AB: 5.6200 -> 4.0000 (deboost -1.6200, 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 | 7 | 4 | 3 | 4 | 3 | predicted_2B: 0.2440 -> 0.3228 (boost 0.0788, better) | predicted_AB: 5.6200 -> 4.8533 (deboost -0.7667, 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.4951 -> 0.4406 (deboost -0.0545, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 4.8533 -> 6.0000 (boost 1.1467, better) | predicted_H: 1.3934 -> 1.0000 (deboost -0.3934, worse) | AB rounded to 6 (raw=5.62), rates preserved: AVG=0.248 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4444 -> 0.0000 (deboost -0.4444, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 5 | 0 | 5 | 0 | 5 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3810 -> 0.4406 (boost 0.0596, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671739",
"player_name": "Michael Harris II",
"position": "CF",
"team": "ATL",
"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.244,
"predicted_3B": 0.008,
"predicted_AB": 5.62,
"predicted_AVG": 0.281,
"predicted_BB": 0.13,
"predicted_H": 1.58,
"predicted_HR": 0.17,
"predicted_OBP": 0.332,
"predicted_R": 0.504,
"predicted_RBI": 0.65,
"predicted_SLG": 0.477,
"predicted_SO": 0.789
},
"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.3228,
"predicted_3B": 0.0071,
"predicted_AB": 4.8533,
"predicted_AVG": 0.301,
"predicted_BB": 0.1127,
"predicted_H": 1.441,
"predicted_HBP": 0.011,
"predicted_HR": 0.1397,
"predicted_OBP": 0.3372,
"predicted_R": 0.4706,
"predicted_RBI": 0.5772,
"predicted_SLG": 0.4951,
"predicted_SO": 0.7764
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.244,
"after": 0.3228,
"delta": 0.0788,
"percent_delta": 0.323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0071,
"delta": -0.0009,
"percent_delta": -0.1125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.62,
"after": 4.8533,
"delta": -0.7667,
"percent_delta": -0.1364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.301,
"delta": 0.02,
"percent_delta": 0.0712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.13,
"after": 0.1127,
"delta": -0.0173,
"percent_delta": -0.1331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.58,
"after": 1.441,
"delta": -0.139,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1397,
"delta": -0.0303,
"percent_delta": -0.1782,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3372,
"delta": 0.0052,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.504,
"after": 0.4706,
"delta": -0.0334,
"percent_delta": -0.0663,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.5772,
"delta": -0.0728,
"percent_delta": -0.112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.4951,
"delta": 0.0181,
"percent_delta": 0.0379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 0.7764,
"delta": -0.0126,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.244,
"after": 0.3228,
"delta": 0.0788,
"percent_delta": 0.323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.62,
"after": 4.8533,
"delta": -0.7667,
"percent_delta": -0.1364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 123
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3228,
"predicted_3B": 0.0071,
"predicted_AB": 4.8533,
"predicted_AVG": 0.2871,
"predicted_BB": 0.1121,
"predicted_H": 1.3934,
"predicted_HBP": 0.011,
"predicted_HR": 0.136,
"predicted_OBP": 0.3032,
"predicted_R": 0.4444,
"predicted_RBI": 0.545,
"predicted_SLG": 0.4406,
"predicted_SO": 0.7804
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3228,
"after": 0.3228,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0071,
"after": 0.0071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8533,
"after": 4.8533,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.2871,
"delta": -0.0139,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1127,
"after": 0.1121,
"delta": -0.0006,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.441,
"after": 1.3934,
"delta": -0.0476,
"percent_delta": -0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1397,
"after": 0.136,
"delta": -0.0037,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3372,
"after": 0.3032,
"delta": -0.034,
"percent_delta": -0.1008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4706,
"after": 0.4444,
"delta": -0.0262,
"percent_delta": -0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5772,
"after": 0.545,
"delta": -0.0322,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4951,
"after": 0.4406,
"delta": -0.0545,
"percent_delta": -0.1101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7764,
"after": 0.7804,
"delta": 0.004,
"percent_delta": 0.0052,
"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.4951,
"after": 0.4406,
"delta": -0.0545,
"percent_delta": -0.1101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.62), rates preserved: AVG=0.248 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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.3228,
"after": 0.0,
"delta": -0.3228,
"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": 4.8533,
"after": 6.0,
"delta": 1.1467,
"percent_delta": 0.2363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1121,
"after": 0.0,
"delta": -0.1121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3934,
"after": 1.0,
"delta": -0.3934,
"percent_delta": -0.2823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.545,
"after": 1.0,
"delta": 0.455,
"percent_delta": 0.8349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7804,
"after": 1.0,
"delta": 0.2196,
"percent_delta": 0.2814,
"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": 4.8533,
"after": 6.0,
"delta": 1.1467,
"percent_delta": 0.2363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3934,
"after": 1.0,
"delta": -0.3934,
"percent_delta": -0.2823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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": 6.0,
"after": 6.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.4444,
"after": 0.0,
"delta": -0.4444,
"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.4444,
"after": 0.0,
"delta": -0.4444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 6.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.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": 6.0,
"after": 6.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_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_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_2B",
"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": 7,
"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": 6.0,
"predicted_AVG": 0.248,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.266,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.381,
"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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2871,
"after": 0.248,
"delta": -0.0391,
"percent_delta": -0.1362,
"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.3032,
"after": 0.266,
"delta": -0.0372,
"percent_delta": -0.1227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4406,
"after": 0.381,
"delta": -0.0596,
"percent_delta": -0.1353,
"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_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": 8,
"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": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"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": 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": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.2871,
"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.3032,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4406,
"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.248,
"after": 0.2871,
"delta": 0.0391,
"percent_delta": 0.1577,
"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.266,
"after": 0.3032,
"delta": 0.0372,
"percent_delta": 0.1399,
"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.381,
"after": 0.4406,
"delta": 0.0596,
"percent_delta": 0.1565,
"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.381,
"after": 0.4406,
"delta": 0.0596,
"percent_delta": 0.1565,
"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.244,
"after": 0.0,
"delta": -0.244,
"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": 5.62,
"after": 4.0,
"delta": -1.62,
"percent_delta": -0.2883,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2871,
"delta": 0.0061,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.58,
"after": 0.0,
"delta": -1.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3032,
"delta": -0.0288,
"percent_delta": -0.0867,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.504,
"after": 0.0,
"delta": -0.504,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.4406,
"delta": -0.0364,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 1.0,
"delta": 0.211,
"percent_delta": 0.2674,
"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.789,
"after": 1.0,
"delta": 0.211,
"percent_delta": 0.2674,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.62,
"after": 4.0,
"delta": -1.62,
"percent_delta": -0.2883,
"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.244 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 5.620 | - |
| predicted_AVG | 0.281 | - |
| predicted_BB | 0.130 | - |
| predicted_H | 1.580 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.504 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.477 | - |
| predicted_SO | 0.789 | - |
Final model 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.323 | 0.079 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 4.853 | -0.767 |
| predicted_AVG | 0.301 | 0.020 |
| predicted_BB | 0.113 | -0.017 |
| predicted_H | 1.441 | -0.139 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.140 | -0.030 |
| predicted_OBP | 0.337 | 0.005 |
| predicted_R | 0.471 | -0.033 |
| predicted_RBI | 0.577 | -0.073 |
| predicted_SLG | 0.495 | 0.018 |
| predicted_SO | 0.776 | -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.323 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 4.853 | 0.000 |
| predicted_AVG | 0.287 | -0.014 |
| predicted_BB | 0.112 | -0.001 |
| predicted_H | 1.393 | -0.048 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.136 | -0.004 |
| predicted_OBP | 0.303 | -0.034 |
| predicted_R | 0.444 | -0.026 |
| predicted_RBI | 0.545 | -0.032 |
| predicted_SLG | 0.441 | -0.054 |
| predicted_SO | 0.780 | 0.004 |
AB rounded to 6 (raw=5.62), rates preserved: AVG=0.248 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.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 | 6.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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.323 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 6.000 | 1.147 |
| predicted_AVG | 0.248 | -0.039 |
| predicted_BB | 0.000 | -0.112 |
| predicted_H | 1.000 | -0.393 |
| predicted_HR | 0.000 | -0.136 |
| predicted_OBP | 0.266 | -0.037 |
| predicted_R | 0.000 | -0.444 |
| predicted_RBI | 1.000 | 0.455 |
| predicted_SLG | 0.381 | -0.060 |
| predicted_SO | 1.000 | 0.220 |
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 | -2.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 | -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 | 9.000 | 5.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 3.000 | 0.4500 | 0.4500 | 0.7000 | 0.4500 | 0.0000 | 0.1000 | 0.0000 | 0.1500 |
| last_10 | 0.20 | 10 | - | 38.000 | 12.000 | 5.000 | 0.000 | 0.000 | 3.000 | 2.000 | 0.000 | 8.000 | 0.3158 | 0.3158 | 0.4474 | 0.3158 | 0.0000 | 0.0790 | 0.0000 | 0.2105 |
| season | 0.60 | 123 | - | 470.000 | 140.000 | 30.000 | 1.000 | 20.000 | 70.000 | 62.000 | 16.000 | 97.000 | 0.2979 | 0.3218 | 0.4936 | 0.2979 | 0.0425 | 0.1489 | 0.0340 | 0.2064 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4260 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.8500 |
| predicted_AVG | 0.3271 |
| predicted_BB | 0.0900 |
| predicted_H | 1.2590 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.3439 |
| predicted_R | 0.4270 |
| predicted_RBI | 0.4820 |
| predicted_SLG | 0.5188 |
| predicted_SO | 0.7600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2440 | 0.4260 | 0.3228 | model_form_blend |
| predicted_3B | 0.0080 | 0.0060 | 0.0071 | model_form_blend |
| predicted_AB | 5.6200 | 3.8500 | 4.8533 | model_form_blend |
| predicted_AVG | 0.2810 | 0.3271 | 0.3010 | model_form_blend |
| predicted_BB | 0.1300 | 0.0900 | 0.1127 | model_form_blend |
| predicted_H | 1.5800 | 1.2590 | 1.4410 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1700 | 0.1000 | 0.1397 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3439 | 0.3372 | model_form_blend |
| predicted_R | 0.5040 | 0.4270 | 0.4706 | model_form_blend |
| predicted_RBI | 0.6500 | 0.4820 | 0.5772 | model_form_blend |
| predicted_SLG | 0.4770 | 0.5188 | 0.4951 | model_form_blend |
| predicted_SO | 0.7890 | 0.7600 | 0.7764 | 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 | 488 |
| Season rows before report date | 488 |
| Report year | 2026 |
| Profile rows used | 123 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| 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 | 1 |
| Hitting_TB | 3 |
| 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 | CF |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 671739 |
| playerID | 671739 |
| playerName | Michael Harris II |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-22 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 3.6 |
| sl_woba | 0.349 |
| sl_xwoba | 0.345 |
| sl_xba | 0.291 |
| sl_xslg | 0.48 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 48.9 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 25.2 |
| sl_swing_percent | 56.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.189 | 0.000 | 0.000 | Hitting_2B | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.705 | 4.000 | 4.000 | Hitting_AB | 3.829 | 4.000 | 0.171 | 0.000 |
| predicted_AVG | 0.270 | 0.000 | 0.250 | Hitting_AVG | 0.266 | 0.500 | -0.266 | -0.500 |
| predicted_BB | 0.238 | 0.000 | 0.000 | Hitting_BB | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 1.019 | 2.000 | -1.019 | -2.000 |
| predicted_HR | 0.082 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.314 | 0.000 | 0.250 | Hitting_OBP | 0.314 | 0.500 | -0.314 | -0.500 |
| predicted_R | 0.451 | 0.000 | 0.000 | Hitting_R | 0.471 | 0.000 | -0.471 | 0.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.535 | 0.000 | -0.535 | 0.000 |
| predicted_SLG | 0.396 | 0.000 | 0.250 | Hitting_SLG | 0.398 | 0.500 | -0.398 | -0.500 |
| predicted_SO | 0.508 | 1.000 | 0.000 | Hitting_SO | 0.521 | 0.000 | 0.479 | 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.5080 -> 1.0000 (boost 0.4920, worse) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, 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 | 2 | 3 | 2 | 3 | predicted_AVG: 0.2700 -> 0.2860 (boost 0.0160, better) | predicted_RBI: 0.5000 -> 0.4221 (deboost -0.0779, 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.3923 -> 0.3815 (deboost -0.0108, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.4654 -> 1.0000 (boost 0.5346, worse) | predicted_RBI: 0.3986 -> 0.0000 (deboost -0.3986, worse) | AB rounded to 4 (raw=3.71), rates preserved: AVG=0.272 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3776 -> 0.0000 (deboost -0.3776, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 1 | 1 | 2 | 0 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3760 -> 0.3815 (boost 0.0055, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"position": "SS",
"team": "ATL",
"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.016,
"predicted_AB": 3.705,
"predicted_AVG": 0.27,
"predicted_BB": 0.238,
"predicted_H": 1.0,
"predicted_HR": 0.082,
"predicted_OBP": 0.314,
"predicted_R": 0.451,
"predicted_RBI": 0.5,
"predicted_SLG": 0.396,
"predicted_SO": 0.508
},
"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.1561,
"predicted_3B": 0.0134,
"predicted_AB": 3.6496,
"predicted_AVG": 0.286,
"predicted_BB": 0.2064,
"predicted_H": 1.0424,
"predicted_HBP": 0.011,
"predicted_HR": 0.069,
"predicted_OBP": 0.3246,
"predicted_R": 0.3999,
"predicted_RBI": 0.4221,
"predicted_SLG": 0.3923,
"predicted_SO": 0.463
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.1561,
"delta": -0.0329,
"percent_delta": -0.1741,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0134,
"delta": -0.0026,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.705,
"after": 3.6496,
"delta": -0.0554,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.286,
"delta": 0.016,
"percent_delta": 0.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 0.2064,
"delta": -0.0316,
"percent_delta": -0.1328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0424,
"delta": 0.0424,
"percent_delta": 0.0424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.082,
"after": 0.069,
"delta": -0.013,
"percent_delta": -0.1585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3246,
"delta": 0.0106,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.451,
"after": 0.3999,
"delta": -0.0511,
"percent_delta": -0.1133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4221,
"delta": -0.0779,
"percent_delta": -0.1558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3923,
"delta": -0.0037,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.508,
"after": 0.463,
"delta": -0.045,
"percent_delta": -0.0886,
"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_AVG",
"before": 0.27,
"after": 0.286,
"delta": 0.016,
"percent_delta": 0.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4221,
"delta": -0.0779,
"percent_delta": -0.1558,
"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.1561,
"predicted_3B": 0.0134,
"predicted_AB": 3.6496,
"predicted_AVG": 0.2762,
"predicted_BB": 0.2053,
"predicted_H": 1.008,
"predicted_HBP": 0.011,
"predicted_HR": 0.0672,
"predicted_OBP": 0.3148,
"predicted_R": 0.3776,
"predicted_RBI": 0.3986,
"predicted_SLG": 0.3815,
"predicted_SO": 0.4654
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1561,
"after": 0.1561,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6496,
"after": 3.6496,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2762,
"delta": -0.0098,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2064,
"after": 0.2053,
"delta": -0.0011,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0424,
"after": 1.008,
"delta": -0.0344,
"percent_delta": -0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.069,
"after": 0.0672,
"delta": -0.0018,
"percent_delta": -0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3246,
"after": 0.3148,
"delta": -0.0098,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3999,
"after": 0.3776,
"delta": -0.0223,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4221,
"after": 0.3986,
"delta": -0.0235,
"percent_delta": -0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3923,
"after": 0.3815,
"delta": -0.0108,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.463,
"after": 0.4654,
"delta": 0.0024,
"percent_delta": 0.0052,
"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.3923,
"after": 0.3815,
"delta": -0.0108,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.71), rates preserved: AVG=0.272 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.1561,
"after": 0.0,
"delta": -0.1561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0,
"delta": -0.0134,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6496,
"after": 4.0,
"delta": 0.3504,
"percent_delta": 0.096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2053,
"after": 0.0,
"delta": -0.2053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.008,
"after": 1.0,
"delta": -0.008,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0672,
"after": 0.0,
"delta": -0.0672,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3986,
"after": 0.0,
"delta": -0.3986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4654,
"after": 1.0,
"delta": 0.5346,
"percent_delta": 1.1487,
"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.4654,
"after": 1.0,
"delta": 0.5346,
"percent_delta": 1.1487,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3986,
"after": 0.0,
"delta": -0.3986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3776,
"after": 0.0,
"delta": -0.3776,
"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.3776,
"after": 0.0,
"delta": -0.3776,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 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_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_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"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": 7,
"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.316,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.376,
"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.2762,
"after": 0.272,
"delta": -0.0042,
"percent_delta": -0.0152,
"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.3148,
"after": 0.316,
"delta": 0.0012,
"percent_delta": 0.0038,
"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_SLG",
"before": 0.3815,
"after": 0.376,
"delta": -0.0055,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 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_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": 8,
"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": 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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.2762,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3148,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3815,
"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": 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.2762,
"delta": 0.0042,
"percent_delta": 0.0154,
"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": 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.316,
"after": 0.3148,
"delta": -0.0012,
"percent_delta": -0.004,
"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.376,
"after": 0.3815,
"delta": 0.0055,
"percent_delta": 0.0147,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3815,
"delta": 0.0055,
"percent_delta": 0.0147,
"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.189,
"after": 0.0,
"delta": -0.189,
"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": 3.705,
"after": 4.0,
"delta": 0.295,
"percent_delta": 0.0796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2762,
"delta": 0.0062,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 0.0,
"delta": -0.238,
"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.082,
"after": 0.0,
"delta": -0.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3148,
"delta": 0.0008,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.451,
"after": 0.0,
"delta": -0.451,
"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.396,
"after": 0.3815,
"delta": -0.0145,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.508,
"after": 1.0,
"delta": 0.492,
"percent_delta": 0.9685,
"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.508,
"after": 1.0,
"delta": 0.492,
"percent_delta": 0.9685,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.016 | - |
| predicted_AB | 3.705 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.238 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.082 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.451 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 0.508 | - |
Final model 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.033 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 3.650 | -0.055 |
| predicted_AVG | 0.286 | 0.016 |
| predicted_BB | 0.206 | -0.032 |
| predicted_H | 1.042 | 0.042 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.069 | -0.013 |
| predicted_OBP | 0.325 | 0.011 |
| predicted_R | 0.400 | -0.051 |
| predicted_RBI | 0.422 | -0.078 |
| predicted_SLG | 0.392 | -0.004 |
| predicted_SO | 0.463 | -0.045 |
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.013 | 0.000 |
| predicted_AB | 3.650 | 0.000 |
| predicted_AVG | 0.276 | -0.010 |
| predicted_BB | 0.205 | -0.001 |
| predicted_H | 1.008 | -0.034 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.067 | -0.002 |
| predicted_OBP | 0.315 | -0.010 |
| predicted_R | 0.378 | -0.022 |
| predicted_RBI | 0.399 | -0.023 |
| predicted_SLG | 0.382 | -0.011 |
| predicted_SO | 0.465 | 0.002 |
AB rounded to 4 (raw=3.71), rates preserved: AVG=0.272 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SO | 0.000 | -1.000 |
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.013 |
| predicted_AB | 4.000 | 0.350 |
| predicted_AVG | 0.272 | -0.004 |
| predicted_BB | 0.000 | -0.205 |
| predicted_H | 1.000 | -0.008 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.316 | 0.001 |
| predicted_R | 0.000 | -0.378 |
| predicted_RBI | 0.000 | -0.399 |
| predicted_SLG | 0.376 | -0.006 |
| predicted_SO | 1.000 | 0.535 |
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 | 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 | 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 | - | 17.000 | 8.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 0.4706 | 0.4706 | 0.4706 | 0.4706 | 0.0000 | 0.0000 | 0.0000 | 0.0588 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 0.2727 | 0.2857 | 0.2727 | 0.2727 | 0.0000 | 0.0303 | 0.0303 | 0.0606 |
| season | 0.60 | 122 | - | 452.000 | 122.000 | 23.000 | 2.000 | 10.000 | 61.000 | 55.000 | 29.000 | 62.000 | 0.2699 | 0.3155 | 0.3960 | 0.2699 | 0.0221 | 0.1350 | 0.0642 | 0.1372 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1130 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.5770 |
| predicted_AVG | 0.3069 |
| predicted_BB | 0.1650 |
| predicted_H | 1.0980 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0520 |
| predicted_OBP | 0.3385 |
| predicted_R | 0.3330 |
| predicted_RBI | 0.3200 |
| predicted_SLG | 0.3875 |
| predicted_SO | 0.4040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.1130 | 0.1561 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 3.7050 | 3.5770 | 3.6496 | model_form_blend |
| predicted_AVG | 0.2700 | 0.3069 | 0.2860 | model_form_blend |
| predicted_BB | 0.2380 | 0.1650 | 0.2064 | model_form_blend |
| predicted_H | 1.0000 | 1.0980 | 1.0424 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0820 | 0.0520 | 0.0690 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3385 | 0.3246 | model_form_blend |
| predicted_R | 0.4510 | 0.3330 | 0.3999 | model_form_blend |
| predicted_RBI | 0.5000 | 0.3200 | 0.4221 | model_form_blend |
| predicted_SLG | 0.3960 | 0.3875 | 0.3923 | model_form_blend |
| predicted_SO | 0.5080 | 0.4040 | 0.4630 | 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 | 486 |
| Season rows before report date | 486 |
| 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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| 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 | 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 | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 643289 |
| playerID | 643289 |
| playerName | Mauricio Dubón |
| pos | LF |
| started | True |
| startingPosition | 2B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-22 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.31 |
| sl_xwoba | 0.307 |
| sl_xba | 0.269 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 30.8 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 15.3 |
| sl_whiff_percent | 15.6 |
| sl_swing_percent | 53.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.240 | 0.000 | 1.000 | Hitting_2B | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.480 | 4.000 | 4.000 | Hitting_AB | 3.890 | 4.000 | 0.110 | 0.000 |
| predicted_AVG | 0.248 | 0.000 | 0.250 | Hitting_AVG | 0.268 | 0.250 | -0.268 | -0.250 |
| predicted_BB | 0.426 | 0.000 | 1.000 | Hitting_BB | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.110 | 0.000 | 1.000 | Hitting_H | 1.042 | 1.000 | -1.042 | -1.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.288 | 0.000 | -0.288 | 0.000 |
| predicted_OBP | 0.296 | 0.000 | 0.400 | Hitting_OBP | 0.347 | 0.250 | -0.347 | -0.250 |
| predicted_R | 0.682 | 0.000 | 1.000 | Hitting_R | 0.729 | 0.000 | -0.729 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 0.000 | Hitting_RBI | 0.624 | 0.000 | -0.624 | 0.000 |
| predicted_SLG | 0.419 | 0.000 | 0.500 | Hitting_SLG | 0.556 | 0.250 | -0.556 | -0.250 |
| predicted_SO | 1.093 | 0.000 | 1.000 | Hitting_SO | 1.099 | 0.000 | -1.099 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 1.1100 -> 0.0000 (deboost -1.1100, 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 | 0 | 4 | 0 | 4 | - | predicted_AB: 4.4800 -> 4.1889 (deboost -0.2911, 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_AVG: 0.2386 -> 0.2313 (deboost -0.0073, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_RBI: 0.4302 -> 0.0000 (deboost -0.4302, worse) | AB rounded to 4 (raw=4.48), rates preserved: AVG=0.216 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5717 -> 1.0000 (boost 0.4283, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 5 | 0 | 5 | 0 | 5 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4010 -> 0.4200 (boost 0.0190, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621566",
"player_name": "Matt Olson",
"position": "1B",
"team": "ATL",
"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.24,
"predicted_3B": 0.0,
"predicted_AB": 4.48,
"predicted_AVG": 0.248,
"predicted_BB": 0.426,
"predicted_H": 1.11,
"predicted_HR": 0.21,
"predicted_OBP": 0.296,
"predicted_R": 0.682,
"predicted_RBI": 0.49,
"predicted_SLG": 0.419,
"predicted_SO": 1.093
},
"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.2156,
"predicted_3B": 0.0004,
"predicted_AB": 4.1889,
"predicted_AVG": 0.2386,
"predicted_BB": 0.3929,
"predicted_H": 1.0021,
"predicted_HBP": 0.015,
"predicted_HR": 0.1965,
"predicted_OBP": 0.2942,
"predicted_R": 0.6054,
"predicted_RBI": 0.4556,
"predicted_SLG": 0.4177,
"predicted_SO": 1.0974
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.24,
"after": 0.2156,
"delta": -0.0244,
"percent_delta": -0.1017,
"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.48,
"after": 4.1889,
"delta": -0.2911,
"percent_delta": -0.065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2386,
"delta": -0.0094,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.426,
"after": 0.3929,
"delta": -0.0331,
"percent_delta": -0.0777,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.0021,
"delta": -0.1079,
"percent_delta": -0.0972,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.1965,
"delta": -0.0135,
"percent_delta": -0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2942,
"delta": -0.0018,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.682,
"after": 0.6054,
"delta": -0.0766,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4556,
"delta": -0.0344,
"percent_delta": -0.0702,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4177,
"delta": -0.0013,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.093,
"after": 1.0974,
"delta": 0.0044,
"percent_delta": 0.004,
"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": 4.48,
"after": 4.1889,
"delta": -0.2911,
"percent_delta": -0.065,
"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.2156,
"predicted_3B": 0.0004,
"predicted_AB": 4.1889,
"predicted_AVG": 0.2313,
"predicted_BB": 0.3909,
"predicted_H": 0.969,
"predicted_HBP": 0.015,
"predicted_HR": 0.1913,
"predicted_OBP": 0.2969,
"predicted_R": 0.5717,
"predicted_RBI": 0.4302,
"predicted_SLG": 0.42,
"predicted_SO": 1.103
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2156,
"after": 0.2156,
"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.1889,
"after": 4.1889,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2386,
"after": 0.2313,
"delta": -0.0073,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3929,
"after": 0.3909,
"delta": -0.002,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0021,
"after": 0.969,
"delta": -0.0331,
"percent_delta": -0.033,
"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.1965,
"after": 0.1913,
"delta": -0.0052,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2942,
"after": 0.2969,
"delta": 0.0027,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6054,
"after": 0.5717,
"delta": -0.0337,
"percent_delta": -0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4556,
"after": 0.4302,
"delta": -0.0254,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4177,
"after": 0.42,
"delta": 0.0023,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0974,
"after": 1.103,
"delta": 0.0056,
"percent_delta": 0.0051,
"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_AVG",
"before": 0.2386,
"after": 0.2313,
"delta": -0.0073,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.48), rates preserved: AVG=0.216 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2156,
"after": 0.0,
"delta": -0.2156,
"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.1889,
"after": 4.0,
"delta": -0.1889,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3909,
"after": 0.0,
"delta": -0.3909,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.969,
"after": 1.0,
"delta": 0.031,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1913,
"after": 0.0,
"delta": -0.1913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4302,
"after": 0.0,
"delta": -0.4302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.103,
"after": 1.0,
"delta": -0.103,
"percent_delta": -0.0934,
"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_RBI",
"before": 0.4302,
"after": 0.0,
"delta": -0.4302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5717,
"after": 1.0,
"delta": 0.4283,
"percent_delta": 0.7492,
"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.5717,
"after": 1.0,
"delta": 0.4283,
"percent_delta": 0.7492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.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": 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_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_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_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_2B",
"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": 7,
"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.216,
"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.401,
"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.2313,
"after": 0.216,
"delta": -0.0153,
"percent_delta": -0.0661,
"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.2969,
"after": 0.285,
"delta": -0.0119,
"percent_delta": -0.0401,
"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.42,
"after": 0.401,
"delta": -0.019,
"percent_delta": -0.0452,
"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_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": 8,
"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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 9,
"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.2313,
"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.2969,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.42,
"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.216,
"after": 0.2313,
"delta": 0.0153,
"percent_delta": 0.071,
"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.285,
"after": 0.2969,
"delta": 0.0119,
"percent_delta": 0.0419,
"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.401,
"after": 0.42,
"delta": 0.019,
"percent_delta": 0.0474,
"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.401,
"after": 0.42,
"delta": 0.019,
"percent_delta": 0.0474,
"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.24,
"after": 0.0,
"delta": -0.24,
"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.48,
"after": 4.0,
"delta": -0.48,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2313,
"delta": -0.0167,
"percent_delta": -0.0673,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 0.0,
"delta": -1.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2969,
"delta": 0.0009,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.682,
"after": 0.0,
"delta": -0.682,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.42,
"delta": 0.001,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.093,
"after": 0.0,
"delta": -1.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 0,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.11,
"after": 0.0,
"delta": -1.11,
"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.240 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.480 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.426 | - |
| predicted_H | 1.110 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.682 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.419 | - |
| predicted_SO | 1.093 | - |
Final model 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.216 | -0.024 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.189 | -0.291 |
| predicted_AVG | 0.239 | -0.009 |
| predicted_BB | 0.393 | -0.033 |
| predicted_H | 1.002 | -0.108 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.197 | -0.013 |
| predicted_OBP | 0.294 | -0.002 |
| predicted_R | 0.605 | -0.077 |
| predicted_RBI | 0.456 | -0.034 |
| predicted_SLG | 0.418 | -0.001 |
| predicted_SO | 1.097 | 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.216 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.189 | 0.000 |
| predicted_AVG | 0.231 | -0.007 |
| predicted_BB | 0.391 | -0.002 |
| predicted_H | 0.969 | -0.033 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.191 | -0.005 |
| predicted_OBP | 0.297 | 0.003 |
| predicted_R | 0.572 | -0.034 |
| predicted_RBI | 0.430 | -0.025 |
| predicted_SLG | 0.420 | 0.002 |
| predicted_SO | 1.103 | 0.006 |
AB rounded to 4 (raw=4.48), rates preserved: AVG=0.216 HR/AB=0.043
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.216 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.189 |
| predicted_AVG | 0.216 | -0.015 |
| predicted_BB | 0.000 | -0.391 |
| predicted_H | 1.000 | 0.031 |
| predicted_HR | 0.000 | -0.191 |
| predicted_OBP | 0.285 | -0.012 |
| predicted_R | 1.000 | 0.428 |
| predicted_RBI | 0.000 | -0.430 |
| predicted_SLG | 0.401 | -0.019 |
| predicted_SO | 1.000 | -0.103 |
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 | 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 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 6.000 | 0.1579 | 0.2000 | 0.1579 | 0.1579 | 0.0000 | 0.0000 | 0.0526 | 0.3158 |
| last_10 | 0.20 | 10 | - | 37.000 | 7.000 | 2.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 11.000 | 0.1892 | 0.2500 | 0.3243 | 0.1892 | 0.0270 | 0.0811 | 0.0811 | 0.2973 |
| season | 0.60 | 129 | - | 497.000 | 129.000 | 31.000 | 0.000 | 35.000 | 75.000 | 88.000 | 55.000 | 141.000 | 0.2596 | 0.3351 | 0.5332 | 0.2596 | 0.0704 | 0.1509 | 0.1107 | 0.2837 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1840 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8110 |
| predicted_AVG | 0.2263 |
| predicted_BB | 0.3500 |
| predicted_H | 0.8620 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1790 |
| predicted_OBP | 0.2918 |
| predicted_R | 0.5060 |
| predicted_RBI | 0.4110 |
| predicted_SLG | 0.4159 |
| predicted_SO | 1.1030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2400 | 0.1840 | 0.2156 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.4800 | 3.8110 | 4.1889 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2263 | 0.2386 | model_form_blend |
| predicted_BB | 0.4260 | 0.3500 | 0.3929 | model_form_blend |
| predicted_H | 1.1100 | 0.8620 | 1.0021 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.2100 | 0.1790 | 0.1965 | model_form_blend |
| predicted_OBP | 0.2960 | 0.2918 | 0.2942 | model_form_blend |
| predicted_R | 0.6820 | 0.5060 | 0.6054 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4110 | 0.4556 | model_form_blend |
| predicted_SLG | 0.4190 | 0.4159 | 0.4177 | model_form_blend |
| predicted_SO | 1.0930 | 1.1030 | 1.0974 | 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 | 553 |
| Season rows before report date | 553 |
| 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 | 0 |
| 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.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 | 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 | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 621566 |
| playerID | 621566 |
| playerName | Matt Olson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-22 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.371 |
| sl_xwoba | 0.363 |
| sl_xba | 0.251 |
| sl_xslg | 0.522 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 15.7 |
| sl_hard_hit_percent | 50.1 |
| sl_exit_velocity_avg | 92.7 |
| sl_launch_angle_avg | 18.6 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 45.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.176 | 0.000 | 0.000 | Hitting_2B | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.010 | 4.000 | 3.000 | Hitting_AB | 2.000 | 1.000 | 2.000 | 3.000 |
| predicted_AVG | 0.232 | 0.250 | 0.000 | Hitting_AVG | 0.208 | 0.000 | 0.042 | 0.250 |
| predicted_BB | 0.382 | 0.000 | 0.000 | Hitting_BB | 0.208 | 0.000 | -0.208 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.330 | 1.000 | 0.000 | Hitting_H | 0.417 | 0.000 | 0.583 | 1.000 |
| predicted_HR | 0.050 | 1.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | 0.917 | 1.000 |
| predicted_OBP | 0.277 | 0.250 | 0.000 | Hitting_OBP | 0.283 | 0.000 | -0.033 | 0.250 |
| predicted_R | 0.324 | 1.000 | 0.000 | Hitting_R | 0.375 | 0.000 | 0.625 | 1.000 |
| predicted_RBI | 0.200 | 1.000 | 0.000 | Hitting_RBI | 0.292 | 0.000 | 0.708 | 1.000 |
| predicted_SLG | 0.373 | 1.000 | 0.000 | Hitting_SLG | 0.458 | 0.000 | 0.542 | 1.000 |
| predicted_SO | 0.863 | 1.000 | 1.000 | Hitting_SO | 0.917 | 0.000 | 0.083 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.0100 -> 4.0000 (boost 0.9900, better) |
| Biggest Deboost | predicted_BB: 0.3820 -> 0.0000 (deboost -0.3820, 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 | 3 | 2 | 3 | 2 | predicted_H: 0.3300 -> 0.4410 (boost 0.1110, better) | predicted_AB: 3.0100 -> 2.9093 (deboost -0.1007, 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.3741 -> 0.2755 (deboost -0.0986, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.9060 -> 1.0000 (boost 0.0940, worse) | predicted_H: 0.4264 -> 0.0000 (deboost -0.4264, worse) | AB rounded to 3 (raw=3.01), rates preserved: AVG=0.142 HR/AB=0.021 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3095 -> 0.0000 (deboost -0.3095, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 1 | 0 | 1 | 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 |
| 8 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "657041",
"player_name": "Lane Thomas",
"position": "LF",
"team": "ATL",
"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.176,
"predicted_3B": 0.0,
"predicted_AB": 3.01,
"predicted_AVG": 0.232,
"predicted_BB": 0.382,
"predicted_H": 0.33,
"predicted_HR": 0.05,
"predicted_OBP": 0.277,
"predicted_R": 0.324,
"predicted_RBI": 0.2,
"predicted_SLG": 0.373,
"predicted_SO": 0.863
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.1833,
"predicted_3B": 0.0004,
"predicted_AB": 2.9093,
"predicted_AVG": 0.2237,
"predicted_BB": 0.3483,
"predicted_H": 0.441,
"predicted_HBP": 0.012,
"predicted_HR": 0.0654,
"predicted_OBP": 0.2834,
"predicted_R": 0.3278,
"predicted_RBI": 0.2593,
"predicted_SLG": 0.3741,
"predicted_SO": 0.9014
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1833,
"delta": 0.0073,
"percent_delta": 0.0415,
"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.01,
"after": 2.9093,
"delta": -0.1007,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2237,
"delta": -0.0083,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.3483,
"delta": -0.0337,
"percent_delta": -0.0882,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.441,
"delta": 0.111,
"percent_delta": 0.3364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0654,
"delta": 0.0154,
"percent_delta": 0.308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2834,
"delta": 0.0064,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.324,
"after": 0.3278,
"delta": 0.0038,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.2593,
"delta": 0.0593,
"percent_delta": 0.2965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.3741,
"delta": 0.0011,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 0.9014,
"delta": 0.0384,
"percent_delta": 0.0445,
"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.33,
"after": 0.441,
"delta": 0.111,
"percent_delta": 0.3364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.01,
"after": 2.9093,
"delta": -0.1007,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 102
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1833,
"predicted_3B": 0.0004,
"predicted_AB": 2.9093,
"predicted_AVG": 0.1466,
"predicted_BB": 0.3465,
"predicted_H": 0.4264,
"predicted_HBP": 0.012,
"predicted_HR": 0.0637,
"predicted_OBP": 0.2374,
"predicted_R": 0.3095,
"predicted_RBI": 0.2449,
"predicted_SLG": 0.2755,
"predicted_SO": 0.906
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1833,
"after": 0.1833,
"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.9093,
"after": 2.9093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2237,
"after": 0.1466,
"delta": -0.0771,
"percent_delta": -0.3447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3483,
"after": 0.3465,
"delta": -0.0018,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.441,
"after": 0.4264,
"delta": -0.0146,
"percent_delta": -0.0331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0654,
"after": 0.0637,
"delta": -0.0017,
"percent_delta": -0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2834,
"after": 0.2374,
"delta": -0.046,
"percent_delta": -0.1623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3278,
"after": 0.3095,
"delta": -0.0183,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2593,
"after": 0.2449,
"delta": -0.0144,
"percent_delta": -0.0555,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3741,
"after": 0.2755,
"delta": -0.0986,
"percent_delta": -0.2636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9014,
"after": 0.906,
"delta": 0.0046,
"percent_delta": 0.0051,
"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.3741,
"after": 0.2755,
"delta": -0.0986,
"percent_delta": -0.2636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.01), rates preserved: AVG=0.142 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1833,
"after": 0.0,
"delta": -0.1833,
"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.9093,
"after": 3.0,
"delta": 0.0907,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3465,
"after": 0.0,
"delta": -0.3465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4264,
"after": 0.0,
"delta": -0.4264,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0637,
"after": 0.0,
"delta": -0.0637,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2449,
"after": 0.0,
"delta": -0.2449,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.906,
"after": 1.0,
"delta": 0.094,
"percent_delta": 0.1038,
"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.906,
"after": 1.0,
"delta": 0.094,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4264,
"after": 0.0,
"delta": -0.4264,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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.3095,
"after": 0.0,
"delta": -0.3095,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3095,
"after": 0.0,
"delta": -0.3095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"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_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_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_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": 7,
"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.142,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.236,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.274,
"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.1466,
"after": 0.142,
"delta": -0.0046,
"percent_delta": -0.0314,
"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": 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.2374,
"after": 0.236,
"delta": -0.0014,
"percent_delta": -0.0059,
"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_SLG",
"before": 0.2755,
"after": 0.274,
"delta": -0.0015,
"percent_delta": -0.0054,
"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_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": 8,
"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": 1.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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.1466,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2374,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2755,
"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.142,
"after": 0.1466,
"delta": 0.0046,
"percent_delta": 0.0323,
"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": 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.236,
"after": 0.2374,
"delta": 0.0014,
"percent_delta": 0.006,
"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_SLG",
"before": 0.274,
"after": 0.2755,
"delta": 0.0015,
"percent_delta": 0.0055,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.01,
"after": 4.0,
"delta": 0.99,
"percent_delta": 0.3289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.1466,
"delta": -0.0854,
"percent_delta": -0.3681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.0,
"delta": 0.67,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 1.0,
"delta": 0.95,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2374,
"delta": -0.0396,
"percent_delta": -0.143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.324,
"after": 1.0,
"delta": 0.676,
"percent_delta": 2.0864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 1.0,
"delta": 0.8,
"percent_delta": 4.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.2755,
"delta": -0.0975,
"percent_delta": -0.2614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 1.0,
"delta": 0.137,
"percent_delta": 0.1587,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.01,
"after": 4.0,
"delta": 0.99,
"percent_delta": 0.3289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.010 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.382 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.324 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.373 | - |
| predicted_SO | 0.863 | - |
Final model 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.183 | 0.007 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.909 | -0.101 |
| predicted_AVG | 0.224 | -0.008 |
| predicted_BB | 0.348 | -0.034 |
| predicted_H | 0.441 | 0.111 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.065 | 0.015 |
| predicted_OBP | 0.283 | 0.006 |
| predicted_R | 0.328 | 0.004 |
| predicted_RBI | 0.259 | 0.059 |
| predicted_SLG | 0.374 | 0.001 |
| predicted_SO | 0.901 | 0.038 |
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.183 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.909 | 0.000 |
| predicted_AVG | 0.147 | -0.077 |
| predicted_BB | 0.346 | -0.002 |
| predicted_H | 0.426 | -0.015 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.064 | -0.002 |
| predicted_OBP | 0.237 | -0.046 |
| predicted_R | 0.309 | -0.018 |
| predicted_RBI | 0.245 | -0.014 |
| predicted_SLG | 0.276 | -0.099 |
| predicted_SO | 0.906 | 0.005 |
AB rounded to 3 (raw=3.01), rates preserved: AVG=0.142 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.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 | 1.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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 | 0.000 | -1.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.183 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.091 |
| predicted_AVG | 0.142 | -0.005 |
| predicted_BB | 0.000 | -0.346 |
| predicted_H | 1.000 | 0.574 |
| predicted_HR | 0.000 | -0.064 |
| predicted_OBP | 0.236 | -0.001 |
| predicted_R | 0.000 | -0.309 |
| predicted_RBI | 0.000 | -0.245 |
| predicted_SLG | 0.274 | -0.002 |
| predicted_SO | 1.000 | 0.094 |
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 | 1.000 | 1.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 | 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 | - | 11.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 5.000 | 0.1818 | 0.2500 | 0.2727 | 0.1818 | 0.0000 | 0.0909 | 0.0909 | 0.4546 |
| last_10 | 0.20 | 10 | - | 22.000 | 4.000 | 2.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 10.000 | 0.1818 | 0.2500 | 0.4091 | 0.1818 | 0.0454 | 0.1364 | 0.0909 | 0.4546 |
| season | 0.60 | 102 | - | 307.000 | 70.000 | 18.000 | 0.000 | 11.000 | 39.000 | 33.000 | 39.000 | 88.000 | 0.2280 | 0.3181 | 0.3941 | 0.2280 | 0.0358 | 0.1270 | 0.1270 | 0.2866 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1930 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.7740 |
| predicted_AVG | 0.2126 |
| predicted_BB | 0.3030 |
| predicted_H | 0.5900 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0860 |
| predicted_OBP | 0.2920 |
| predicted_R | 0.3330 |
| predicted_RBI | 0.3390 |
| predicted_SLG | 0.3756 |
| predicted_SO | 0.9530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1930 | 0.1833 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0100 | 2.7740 | 2.9093 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2126 | 0.2237 | model_form_blend |
| predicted_BB | 0.3820 | 0.3030 | 0.3483 | model_form_blend |
| predicted_H | 0.3300 | 0.5900 | 0.4410 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0500 | 0.0860 | 0.0654 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2920 | 0.2834 | model_form_blend |
| predicted_R | 0.3240 | 0.3330 | 0.3278 | model_form_blend |
| predicted_RBI | 0.2000 | 0.3390 | 0.2593 | model_form_blend |
| predicted_SLG | 0.3730 | 0.3756 | 0.3741 | model_form_blend |
| predicted_SO | 0.8630 | 0.9530 | 0.9014 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 102 |
| 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 | 1 |
| 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 | 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 | 7 |
| 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 |
| gameID | 20260822_ATL@MIL |
| game_type | ph |
| mlbID | 657041 |
| note | Flied out for Yastrzemski in the 9th. |
| playerID | 657041 |
| playerName | Lane Thomas |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-22 |
| sl_k_percent | 24.9 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.319 |
| sl_xwoba | 0.315 |
| sl_xba | 0.24 |
| sl_xslg | 0.372 |
| sl_sweet_spot_percent | 36.7 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 18.5 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 41.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.178 | 0.000 | 0.000 | Hitting_2B | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.680 | 4.000 | 5.000 | Hitting_AB | 3.858 | 4.000 | 0.142 | 0.000 |
| predicted_AVG | 0.250 | 0.500 | 0.200 | Hitting_AVG | 0.255 | 0.500 | 0.245 | 0.000 |
| predicted_BB | 0.302 | 0.000 | 0.000 | Hitting_BB | 0.320 | 0.000 | -0.320 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 1.170 | 2.000 | 1.000 | Hitting_H | 0.983 | 2.000 | 1.017 | 0.000 |
| predicted_HR | 0.090 | 2.000 | 0.000 | Hitting_HR | 0.153 | 0.000 | 1.847 | 2.000 |
| predicted_OBP | 0.288 | 0.500 | 0.200 | Hitting_OBP | 0.313 | 0.500 | 0.187 | 0.000 |
| predicted_R | 0.558 | 1.000 | 0.000 | Hitting_R | 0.580 | 0.000 | 0.420 | 1.000 |
| predicted_RBI | 0.440 | 2.000 | 0.000 | Hitting_RBI | 0.512 | 0.000 | 1.488 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_SLG | 0.348 | 2.000 | 0.200 | Hitting_SLG | 0.425 | 0.500 | 1.575 | 1.500 |
| predicted_SO | 0.597 | 2.000 | 1.000 | Hitting_SO | 0.632 | 0.000 | 1.368 | 2.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_HR: 0.0900 -> 2.0000 (boost 1.9100, better) |
| Biggest Deboost | predicted_AB: 4.6800 -> 4.0000 (deboost -0.6800, 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_SLG: 0.3480 -> 0.3544 (boost 0.0064, better) | predicted_AB: 4.6800 -> 4.2639 (deboost -0.4161, 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.3544 -> 0.3423 (deboost -0.0121, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_AB: 4.2639 -> 5.0000 (boost 0.7361, better) | predicted_RBI: 0.3843 -> 0.0000 (deboost -0.3843, worse) | AB rounded to 5 (raw=4.68), rates preserved: AVG=0.218 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4362 -> 0.0000 (deboost -0.4362, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3423 -> 0.3200 (deboost -0.0223, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 5 | 1 | 4 | 2 | predicted_HR: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3200 -> 0.3423 (boost 0.0223, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "645277",
"player_name": "Ozzie Albies",
"position": "2B",
"team": "ATL",
"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.178,
"predicted_3B": 0.0,
"predicted_AB": 4.68,
"predicted_AVG": 0.25,
"predicted_BB": 0.302,
"predicted_H": 1.17,
"predicted_HR": 0.09,
"predicted_OBP": 0.288,
"predicted_R": 0.558,
"predicted_RBI": 0.44,
"predicted_SLG": 0.348,
"predicted_SO": 0.597
},
"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.1732,
"predicted_3B": 0.0004,
"predicted_AB": 4.2639,
"predicted_AVG": 0.2467,
"predicted_BB": 0.2837,
"predicted_H": 1.0535,
"predicted_HBP": 0.028,
"predicted_HR": 0.0913,
"predicted_OBP": 0.2882,
"predicted_R": 0.4619,
"predicted_RBI": 0.407,
"predicted_SLG": 0.3544,
"predicted_SO": 0.5692
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.178,
"after": 0.1732,
"delta": -0.0048,
"percent_delta": -0.027,
"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.68,
"after": 4.2639,
"delta": -0.4161,
"percent_delta": -0.0889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2467,
"delta": -0.0033,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.302,
"after": 0.2837,
"delta": -0.0183,
"percent_delta": -0.0606,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 1.0535,
"delta": -0.1165,
"percent_delta": -0.0996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0913,
"delta": 0.0013,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2882,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.558,
"after": 0.4619,
"delta": -0.0961,
"percent_delta": -0.1722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.407,
"delta": -0.033,
"percent_delta": -0.075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3544,
"delta": 0.0064,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.597,
"after": 0.5692,
"delta": -0.0278,
"percent_delta": -0.0466,
"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.348,
"after": 0.3544,
"delta": 0.0064,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.68,
"after": 4.2639,
"delta": -0.4161,
"percent_delta": -0.0889,
"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.1732,
"predicted_3B": 0.0004,
"predicted_AB": 4.2639,
"predicted_AVG": 0.2389,
"predicted_BB": 0.2823,
"predicted_H": 1.0187,
"predicted_HBP": 0.028,
"predicted_HR": 0.0889,
"predicted_OBP": 0.2862,
"predicted_R": 0.4362,
"predicted_RBI": 0.3843,
"predicted_SLG": 0.3423,
"predicted_SO": 0.5721
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1732,
"after": 0.1732,
"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.2639,
"after": 4.2639,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2467,
"after": 0.2389,
"delta": -0.0078,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2837,
"after": 0.2823,
"delta": -0.0014,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0535,
"after": 1.0187,
"delta": -0.0348,
"percent_delta": -0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0913,
"after": 0.0889,
"delta": -0.0024,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2882,
"after": 0.2862,
"delta": -0.002,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4619,
"after": 0.4362,
"delta": -0.0257,
"percent_delta": -0.0556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.407,
"after": 0.3843,
"delta": -0.0227,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3544,
"after": 0.3423,
"delta": -0.0121,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5692,
"after": 0.5721,
"delta": 0.0029,
"percent_delta": 0.0051,
"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.3544,
"after": 0.3423,
"delta": -0.0121,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.68), rates preserved: AVG=0.218 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1732,
"after": 0.0,
"delta": -0.1732,
"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.2639,
"after": 5.0,
"delta": 0.7361,
"percent_delta": 0.1726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2823,
"after": 0.0,
"delta": -0.2823,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0187,
"after": 1.0,
"delta": -0.0187,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0889,
"after": 0.0,
"delta": -0.0889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3843,
"after": 0.0,
"delta": -0.3843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5721,
"after": 1.0,
"delta": 0.4279,
"percent_delta": 0.7479,
"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": 4.2639,
"after": 5.0,
"delta": 0.7361,
"percent_delta": 0.1726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3843,
"after": 0.0,
"delta": -0.3843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.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": 5.0,
"after": 5.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.4362,
"after": 0.0,
"delta": -0.4362,
"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.4362,
"after": 0.0,
"delta": -0.4362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 5.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.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_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_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_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": {}
},
{
"index": 7,
"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": 5.0,
"predicted_AVG": 0.218,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.268,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.32,
"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.2389,
"after": 0.218,
"delta": -0.0209,
"percent_delta": -0.0875,
"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.2862,
"after": 0.268,
"delta": -0.0182,
"percent_delta": -0.0636,
"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_SLG",
"before": 0.3423,
"after": 0.32,
"delta": -0.0223,
"percent_delta": -0.0651,
"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.3423,
"after": 0.32,
"delta": -0.0223,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 2.0,
"predicted_R": 1.0,
"predicted_RBI": 2.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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.2389,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 2.0,
"predicted_OBP": 0.2862,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3423,
"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.218,
"after": 0.2389,
"delta": 0.0209,
"percent_delta": 0.096,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.268,
"after": 0.2862,
"delta": 0.0182,
"percent_delta": 0.0678,
"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.32,
"after": 0.3423,
"delta": 0.0223,
"percent_delta": 0.0696,
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.3423,
"delta": 0.0223,
"percent_delta": 0.0696,
"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.178,
"after": 0.0,
"delta": -0.178,
"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.68,
"after": 4.0,
"delta": -0.68,
"percent_delta": -0.1453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2389,
"delta": -0.0111,
"percent_delta": -0.0444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.302,
"after": 0.0,
"delta": -0.302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.09,
"after": 2.0,
"delta": 1.91,
"percent_delta": 21.2222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2862,
"delta": -0.0018,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.558,
"after": 1.0,
"delta": 0.442,
"percent_delta": 0.7921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 2.0,
"delta": 1.56,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3423,
"delta": -0.0057,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.597,
"after": 2.0,
"delta": 1.403,
"percent_delta": 2.3501,
"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_HR",
"before": 0.09,
"after": 2.0,
"delta": 1.91,
"percent_delta": 21.2222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.68,
"after": 4.0,
"delta": -0.68,
"percent_delta": -0.1453,
"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.178 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.680 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.302 | - |
| predicted_H | 1.170 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.558 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.348 | - |
| predicted_SO | 0.597 | - |
Final model 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.173 | -0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.264 | -0.416 |
| predicted_AVG | 0.247 | -0.003 |
| predicted_BB | 0.284 | -0.018 |
| predicted_H | 1.054 | -0.116 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.091 | 0.001 |
| predicted_OBP | 0.288 | 0.000 |
| predicted_R | 0.462 | -0.096 |
| predicted_RBI | 0.407 | -0.033 |
| predicted_SLG | 0.354 | 0.006 |
| predicted_SO | 0.569 | -0.028 |
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.173 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.264 | 0.000 |
| predicted_AVG | 0.239 | -0.008 |
| predicted_BB | 0.282 | -0.001 |
| predicted_H | 1.019 | -0.035 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.089 | -0.002 |
| predicted_OBP | 0.286 | -0.002 |
| predicted_R | 0.436 | -0.026 |
| predicted_RBI | 0.384 | -0.023 |
| predicted_SLG | 0.342 | -0.012 |
| predicted_SO | 0.572 | 0.003 |
AB rounded to 5 (raw=4.68), rates preserved: AVG=0.218 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.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 | 5.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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.173 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.736 |
| predicted_AVG | 0.218 | -0.021 |
| predicted_BB | 0.000 | -0.282 |
| predicted_H | 1.000 | -0.019 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.268 | -0.018 |
| predicted_R | 0.000 | -0.436 |
| predicted_RBI | 0.000 | -0.384 |
| predicted_SLG | 0.320 | -0.022 |
| predicted_SO | 1.000 | 0.428 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 2.000 | 2.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.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 | - | 18.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 2.000 | 0.2778 | 0.3000 | 0.3333 | 0.2778 | 0.0000 | 0.0556 | 0.0556 | 0.1111 |
| last_10 | 0.20 | 10 | - | 36.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 4.000 | 0.1667 | 0.2051 | 0.1944 | 0.1667 | 0.0000 | 0.0278 | 0.0556 | 0.1111 |
| season | 0.60 | 129 | - | 490.000 | 125.000 | 23.000 | 0.000 | 20.000 | 65.000 | 72.000 | 39.000 | 77.000 | 0.2551 | 0.3108 | 0.4245 | 0.2551 | 0.0408 | 0.1326 | 0.0796 | 0.1571 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1670 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7230 |
| predicted_AVG | 0.2423 |
| predicted_BB | 0.2600 |
| predicted_H | 0.9020 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.2884 |
| predicted_R | 0.3370 |
| predicted_RBI | 0.3640 |
| predicted_SLG | 0.3627 |
| predicted_SO | 0.5330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1780 | 0.1670 | 0.1732 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.6800 | 3.7230 | 4.2639 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2423 | 0.2467 | model_form_blend |
| predicted_BB | 0.3020 | 0.2600 | 0.2837 | model_form_blend |
| predicted_H | 1.1700 | 0.9020 | 1.0535 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.0900 | 0.0930 | 0.0913 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2884 | 0.2882 | model_form_blend |
| predicted_R | 0.5580 | 0.3370 | 0.4619 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3640 | 0.4070 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3627 | 0.3544 | model_form_blend |
| predicted_SO | 0.5970 | 0.5330 | 0.5692 | 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 | 543 |
| Season rows before report date | 543 |
| 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 2 |
| R | 1 |
| RBI | 2 |
| 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 | 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 | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| 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 | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 645277 |
| playerID | 645277 |
| playerName | Ozzie Albies |
| pos | 2B |
| started | True |
| startingPosition | DH |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-22 |
| sl_k_percent | 13.9 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.314 |
| sl_xwoba | 0.284 |
| sl_xba | 0.229 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 28.0 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 56.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.091 | 0.000 | 0.000 | Hitting_2B | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.920 | 3.000 | 4.000 | Hitting_AB | 3.543 | 4.000 | -0.543 | -1.000 |
| predicted_AVG | 0.171 | 0.000 | 0.250 | Hitting_AVG | 0.113 | 0.250 | -0.113 | -0.250 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.670 | 0.000 | 1.000 | Hitting_H | 0.400 | 1.000 | -0.400 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.206 | 0.000 | 0.250 | Hitting_OBP | 0.113 | 0.250 | -0.113 | -0.250 |
| predicted_R | 0.091 | 0.000 | 0.000 | Hitting_R | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.246 | 0.000 | 0.250 | Hitting_SLG | 0.137 | 0.250 | -0.137 | -0.250 |
| predicted_SO | 1.364 | 2.000 | 1.000 | Hitting_SO | 1.514 | 1.000 | 0.486 | 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 | 0 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.3640 -> 2.0000 (boost 0.6360, worse) |
| Biggest Deboost | predicted_AB: 3.9200 -> 3.0000 (deboost -0.9200, 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 | 3 | 2 | 4 | 1 | predicted_R: 0.0910 -> 0.1424 (boost 0.0514, better) | predicted_AB: 3.9200 -> 3.8122 (deboost -0.1078, 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.2091 -> 0.1785 (deboost -0.0306, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_H: 0.6517 -> 1.0000 (boost 0.3483, better) | predicted_SO: 1.2861 -> 1.0000 (deboost -0.2861, better) | AB rounded to 4 (raw=3.92), rates preserved: AVG=0.166 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1345 -> 0.0000 (deboost -0.1345, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669221",
"player_name": "Sean Murphy",
"position": "C",
"team": "ATL",
"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.0,
"predicted_AB": 3.92,
"predicted_AVG": 0.171,
"predicted_BB": 0.0,
"predicted_H": 0.67,
"predicted_HR": 0.05,
"predicted_OBP": 0.206,
"predicted_R": 0.091,
"predicted_RBI": 0.16,
"predicted_SLG": 0.246,
"predicted_SO": 1.364
},
"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.1077,
"predicted_3B": 0.0019,
"predicted_AB": 3.8122,
"predicted_AVG": 0.1772,
"predicted_BB": 0.0353,
"predicted_H": 0.6739,
"predicted_HBP": 0.013,
"predicted_HR": 0.0516,
"predicted_OBP": 0.2091,
"predicted_R": 0.1424,
"predicted_RBI": 0.1728,
"predicted_SLG": 0.2569,
"predicted_SO": 1.2796
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.1077,
"delta": 0.0167,
"percent_delta": 0.1835,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.92,
"after": 3.8122,
"delta": -0.1078,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.171,
"after": 0.1772,
"delta": 0.0062,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0353,
"delta": 0.0353,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.6739,
"delta": 0.0039,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0516,
"delta": 0.0016,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.206,
"after": 0.2091,
"delta": 0.0031,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.091,
"after": 0.1424,
"delta": 0.0514,
"percent_delta": 0.5648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.1728,
"delta": 0.0128,
"percent_delta": 0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.246,
"after": 0.2569,
"delta": 0.0109,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.364,
"after": 1.2796,
"delta": -0.0844,
"percent_delta": -0.0619,
"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_R",
"before": 0.091,
"after": 0.1424,
"delta": 0.0514,
"percent_delta": 0.5648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.92,
"after": 3.8122,
"delta": -0.1078,
"percent_delta": -0.0275,
"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": 11
}
},
{
"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.1077,
"predicted_3B": 0.0019,
"predicted_AB": 3.8122,
"predicted_AVG": 0.1709,
"predicted_BB": 0.0351,
"predicted_H": 0.6517,
"predicted_HBP": 0.013,
"predicted_HR": 0.0502,
"predicted_OBP": 0.1785,
"predicted_R": 0.1345,
"predicted_RBI": 0.1632,
"predicted_SLG": 0.2397,
"predicted_SO": 1.2861
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1077,
"after": 0.1077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8122,
"after": 3.8122,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1772,
"after": 0.1709,
"delta": -0.0063,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0353,
"after": 0.0351,
"delta": -0.0002,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6739,
"after": 0.6517,
"delta": -0.0222,
"percent_delta": -0.0329,
"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.0516,
"after": 0.0502,
"delta": -0.0014,
"percent_delta": -0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2091,
"after": 0.1785,
"delta": -0.0306,
"percent_delta": -0.1463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1424,
"after": 0.1345,
"delta": -0.0079,
"percent_delta": -0.0555,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1728,
"after": 0.1632,
"delta": -0.0096,
"percent_delta": -0.0556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2569,
"after": 0.2397,
"delta": -0.0172,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2796,
"after": 1.2861,
"delta": 0.0065,
"percent_delta": 0.0051,
"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.2091,
"after": 0.1785,
"delta": -0.0306,
"percent_delta": -0.1463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.92), rates preserved: AVG=0.166 HR/AB=0.013",
"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.1077,
"after": 0.0,
"delta": -0.1077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8122,
"after": 4.0,
"delta": 0.1878,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0351,
"after": 0.0,
"delta": -0.0351,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6517,
"after": 1.0,
"delta": 0.3483,
"percent_delta": 0.5344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.0502,
"after": 0.0,
"delta": -0.0502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1632,
"after": 0.0,
"delta": -0.1632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2861,
"after": 1.0,
"delta": -0.2861,
"percent_delta": -0.2225,
"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_H",
"before": 0.6517,
"after": 1.0,
"delta": 0.3483,
"percent_delta": 0.5344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.2861,
"after": 1.0,
"delta": -0.2861,
"percent_delta": -0.2225,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.1345,
"after": 0.0,
"delta": -0.1345,
"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.1345,
"after": 0.0,
"delta": -0.1345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 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_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_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": {}
},
{
"index": 7,
"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.166,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.179,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.24,
"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.1709,
"after": 0.166,
"delta": -0.0049,
"percent_delta": -0.0287,
"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.1785,
"after": 0.179,
"delta": 0.0005,
"percent_delta": 0.0028,
"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_SLG",
"before": 0.2397,
"after": 0.24,
"delta": 0.0003,
"percent_delta": 0.0013,
"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": {}
},
{
"index": 8,
"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": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 9,
"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.1709,
"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.1785,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2397,
"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.166,
"after": 0.1709,
"delta": 0.0049,
"percent_delta": 0.0298,
"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": 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.179,
"after": 0.1785,
"delta": -0.0005,
"percent_delta": -0.0027,
"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.24,
"after": 0.2397,
"delta": -0.0003,
"percent_delta": -0.0012,
"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": {},
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.92,
"after": 3.0,
"delta": -0.92,
"percent_delta": -0.2347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.171,
"after": 0.1709,
"delta": -0.0001,
"percent_delta": -0.0006,
"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": 0.67,
"after": 0.0,
"delta": -0.67,
"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.206,
"after": 0.1785,
"delta": -0.0275,
"percent_delta": -0.1335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.246,
"after": 0.2397,
"delta": -0.0063,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.364,
"after": 2.0,
"delta": 0.636,
"percent_delta": 0.4663,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 0,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.364,
"after": 2.0,
"delta": 0.636,
"percent_delta": 0.4663,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.92,
"after": 3.0,
"delta": -0.92,
"percent_delta": -0.2347,
"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.091 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.920 | - |
| predicted_AVG | 0.171 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.206 | - |
| predicted_R | 0.091 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.246 | - |
| predicted_SO | 1.364 | - |
Final model 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.108 | 0.017 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.812 | -0.108 |
| predicted_AVG | 0.177 | 0.006 |
| predicted_BB | 0.035 | 0.035 |
| predicted_H | 0.674 | 0.004 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.052 | 0.002 |
| predicted_OBP | 0.209 | 0.003 |
| predicted_R | 0.142 | 0.051 |
| predicted_RBI | 0.173 | 0.013 |
| predicted_SLG | 0.257 | 0.011 |
| predicted_SO | 1.280 | -0.084 |
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.108 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.812 | 0.000 |
| predicted_AVG | 0.171 | -0.006 |
| predicted_BB | 0.035 | -0.000 |
| predicted_H | 0.652 | -0.022 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.050 | -0.001 |
| predicted_OBP | 0.178 | -0.031 |
| predicted_R | 0.135 | -0.008 |
| predicted_RBI | 0.163 | -0.010 |
| predicted_SLG | 0.240 | -0.017 |
| predicted_SO | 1.286 | 0.006 |
AB rounded to 4 (raw=3.92), rates preserved: AVG=0.166 HR/AB=0.013
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.108 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.188 |
| predicted_AVG | 0.166 | -0.005 |
| predicted_BB | 0.000 | -0.035 |
| predicted_H | 1.000 | 0.348 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.179 | 0.001 |
| predicted_R | 0.000 | -0.135 |
| predicted_RBI | 0.000 | -0.163 |
| predicted_SLG | 0.240 | 0.000 |
| predicted_SO | 1.000 | -0.286 |
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 | 3.000 | - |
| R | 0.000 | 0.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 | - | 16.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.1875 | 0.1875 | 0.2500 | 0.1875 | 0.0000 | 0.0000 | 0.0000 | 0.3125 |
| last_10 | 0.20 | 10 | - | 35.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 13.000 | 0.1429 | 0.1429 | 0.1714 | 0.1429 | 0.0000 | 0.0000 | 0.0000 | 0.3714 |
| season | 0.60 | 11 | - | 38.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 15.000 | 0.1316 | 0.1316 | 0.1579 | 0.1316 | 0.0000 | 0.0000 | 0.0000 | 0.3947 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1430 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.5840 |
| predicted_AVG | 0.1904 |
| predicted_BB | 0.1100 |
| predicted_H | 0.6820 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0550 |
| predicted_OBP | 0.2157 |
| predicted_R | 0.2510 |
| predicted_RBI | 0.2000 |
| predicted_SLG | 0.2799 |
| predicted_SO | 1.1010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.1430 | 0.1077 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0019 | model_form_blend |
| predicted_AB | 3.9200 | 3.5840 | 3.8122 | model_form_blend |
| predicted_AVG | 0.1710 | 0.1904 | 0.1772 | model_form_blend |
| predicted_BB | 0.0000 | 0.1100 | 0.0353 | model_form_blend |
| predicted_H | 0.6700 | 0.6820 | 0.6739 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0500 | 0.0550 | 0.0516 | model_form_blend |
| predicted_OBP | 0.2060 | 0.2157 | 0.2091 | model_form_blend |
| predicted_R | 0.0910 | 0.2510 | 0.1424 | model_form_blend |
| predicted_RBI | 0.1600 | 0.2000 | 0.1728 | model_form_blend |
| predicted_SLG | 0.2460 | 0.2799 | 0.2569 | model_form_blend |
| predicted_SO | 1.3640 | 1.1010 | 1.2796 | 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 | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 11 |
| 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 | 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 | 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 | 1 |
| Hitting_TB | 1 |
| 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 | C |
| gameID | 20260820_ATL@CHW |
| game_type | full |
| mlbID | 669221 |
| playerID | 669221 |
| playerName | Sean Murphy |
| pos | C |
| started | True |
| startingPosition | C |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-20 |
| sl_k_percent | 39.5 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.127 |
| sl_xwoba | 0.154 |
| sl_xba | 0.161 |
| sl_xslg | 0.192 |
| sl_sweet_spot_percent | 26.1 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 30.4 |
| sl_exit_velocity_avg | 83.8 |
| sl_launch_angle_avg | 3.4 |
| sl_whiff_percent | 33.8 |
| sl_swing_percent | 53.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.148 | 0.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.620 | 2.000 | 4.000 | Hitting_AB | 3.648 | 3.000 | -1.648 | -1.000 |
| predicted_AVG | 0.177 | 0.000 | 0.250 | Hitting_AVG | 0.225 | 0.000 | -0.225 | 0.000 |
| predicted_BB | 0.305 | 1.000 | 0.000 | Hitting_BB | 0.314 | 1.000 | 0.686 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 0.640 | 0.000 | 1.000 | Hitting_H | 0.822 | 0.000 | -0.822 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.271 | 0.333 | 0.250 | Hitting_OBP | 0.302 | 0.250 | 0.031 | 0.083 |
| predicted_R | 0.422 | 0.000 | 0.000 | Hitting_R | 0.458 | 0.000 | -0.458 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_SLG | 0.320 | 0.000 | 0.250 | Hitting_SLG | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_SO | 1.242 | 0.000 | 1.000 | Hitting_SO | 1.287 | 0.000 | -1.287 | 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 | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3050 -> 1.0000 (boost 0.6950, better) |
| Biggest Deboost | predicted_AB: 3.6200 -> 2.0000 (deboost -1.6200, 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_AVG: 0.1770 -> 0.1878 (boost 0.0108, 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.2712 -> 0.2447 (deboost -0.0265, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 3.6087 -> 4.0000 (boost 0.3913, better) | predicted_RBI: 0.3879 -> 0.0000 (deboost -0.3879, worse) | AB rounded to 4 (raw=3.62), rates preserved: AVG=0.181 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3969 -> 0.0000 (deboost -0.3969, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2447 -> 0.2500 (boost 0.0053, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2500 -> 0.2447 (deboost -0.0053, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663586",
"player_name": "Austin Riley",
"position": "3B",
"team": "ATL",
"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.148,
"predicted_3B": 0.008,
"predicted_AB": 3.62,
"predicted_AVG": 0.177,
"predicted_BB": 0.305,
"predicted_H": 0.64,
"predicted_HR": 0.11,
"predicted_OBP": 0.271,
"predicted_R": 0.422,
"predicted_RBI": 0.4,
"predicted_SLG": 0.32,
"predicted_SO": 1.242
},
"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.1653,
"predicted_3B": 0.0067,
"predicted_AB": 3.6087,
"predicted_AVG": 0.1878,
"predicted_BB": 0.3033,
"predicted_H": 0.6773,
"predicted_HBP": 0.046,
"predicted_HR": 0.1026,
"predicted_OBP": 0.2712,
"predicted_R": 0.4203,
"predicted_RBI": 0.4108,
"predicted_SLG": 0.3264,
"predicted_SO": 1.2754
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.1653,
"delta": 0.0173,
"percent_delta": 0.1169,
"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.62,
"after": 3.6087,
"delta": -0.0113,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.177,
"after": 0.1878,
"delta": 0.0108,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.305,
"after": 0.3033,
"delta": -0.0017,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.6773,
"delta": 0.0373,
"percent_delta": 0.0583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1026,
"delta": -0.0074,
"percent_delta": -0.0673,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.2712,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.4203,
"delta": -0.0017,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4108,
"delta": 0.0108,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.3264,
"delta": 0.0064,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.242,
"after": 1.2754,
"delta": 0.0334,
"percent_delta": 0.0269,
"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.177,
"after": 0.1878,
"delta": 0.0108,
"percent_delta": 0.061,
"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": 128
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1653,
"predicted_3B": 0.0067,
"predicted_AB": 3.6087,
"predicted_AVG": 0.1815,
"predicted_BB": 0.3018,
"predicted_H": 0.6549,
"predicted_HBP": 0.046,
"predicted_HR": 0.0999,
"predicted_OBP": 0.2447,
"predicted_R": 0.3969,
"predicted_RBI": 0.3879,
"predicted_SLG": 0.314,
"predicted_SO": 1.2819
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1653,
"after": 0.1653,
"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.6087,
"after": 3.6087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1878,
"after": 0.1815,
"delta": -0.0063,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3033,
"after": 0.3018,
"delta": -0.0015,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6773,
"after": 0.6549,
"delta": -0.0224,
"percent_delta": -0.0331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.046,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1026,
"after": 0.0999,
"delta": -0.0027,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2712,
"after": 0.2447,
"delta": -0.0265,
"percent_delta": -0.0977,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4203,
"after": 0.3969,
"delta": -0.0234,
"percent_delta": -0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4108,
"after": 0.3879,
"delta": -0.0229,
"percent_delta": -0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3264,
"after": 0.314,
"delta": -0.0124,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2754,
"after": 1.2819,
"delta": 0.0065,
"percent_delta": 0.0051,
"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.2712,
"after": 0.2447,
"delta": -0.0265,
"percent_delta": -0.0977,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.62), rates preserved: AVG=0.181 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1653,
"after": 0.0,
"delta": -0.1653,
"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.6087,
"after": 4.0,
"delta": 0.3913,
"percent_delta": 0.1084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3018,
"after": 0.0,
"delta": -0.3018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6549,
"after": 1.0,
"delta": 0.3451,
"percent_delta": 0.527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0999,
"after": 0.0,
"delta": -0.0999,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3879,
"after": 0.0,
"delta": -0.3879,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2819,
"after": 1.0,
"delta": -0.2819,
"percent_delta": -0.2199,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6087,
"after": 4.0,
"delta": 0.3913,
"percent_delta": 0.1084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3879,
"after": 0.0,
"delta": -0.3879,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3969,
"after": 0.0,
"delta": -0.3969,
"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.3969,
"after": 0.0,
"delta": -0.3969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 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_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_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": {}
},
{
"index": 7,
"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.181,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.313,
"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.1815,
"after": 0.181,
"delta": -0.0005,
"percent_delta": -0.0028,
"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.2447,
"after": 0.25,
"delta": 0.0053,
"percent_delta": 0.0217,
"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.314,
"after": 0.313,
"delta": -0.001,
"percent_delta": -0.0032,
"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_OBP",
"before": 0.2447,
"after": 0.25,
"delta": 0.0053,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"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": 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": 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": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.1815,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2447,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.314,
"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.181,
"after": 0.1815,
"delta": 0.0005,
"percent_delta": 0.0027,
"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_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.25,
"after": 0.2447,
"delta": -0.0053,
"percent_delta": -0.0214,
"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.313,
"after": 0.314,
"delta": 0.001,
"percent_delta": 0.0033,
"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_OBP",
"before": 0.25,
"after": 0.2447,
"delta": -0.0053,
"percent_delta": -0.0214,
"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.148,
"after": 0.0,
"delta": -0.148,
"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.62,
"after": 2.0,
"delta": -1.62,
"percent_delta": -0.4475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.177,
"after": 0.1815,
"delta": 0.0045,
"percent_delta": 0.0254,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.305,
"after": 1.0,
"delta": 0.695,
"percent_delta": 2.2787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.2447,
"delta": -0.0263,
"percent_delta": -0.097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.314,
"delta": -0.006,
"percent_delta": -0.0188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.242,
"after": 0.0,
"delta": -1.242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.305,
"after": 1.0,
"delta": 0.695,
"percent_delta": 2.2787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.62,
"after": 2.0,
"delta": -1.62,
"percent_delta": -0.4475,
"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.148 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.620 | - |
| predicted_AVG | 0.177 | - |
| predicted_BB | 0.305 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.271 | - |
| predicted_R | 0.422 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.320 | - |
| predicted_SO | 1.242 | - |
Final model 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.165 | 0.017 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.609 | -0.011 |
| predicted_AVG | 0.188 | 0.011 |
| predicted_BB | 0.303 | -0.002 |
| predicted_H | 0.677 | 0.037 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.103 | -0.007 |
| predicted_OBP | 0.271 | 0.000 |
| predicted_R | 0.420 | -0.002 |
| predicted_RBI | 0.411 | 0.011 |
| predicted_SLG | 0.326 | 0.006 |
| predicted_SO | 1.275 | 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.165 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.609 | 0.000 |
| predicted_AVG | 0.181 | -0.006 |
| predicted_BB | 0.302 | -0.002 |
| predicted_H | 0.655 | -0.022 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.100 | -0.003 |
| predicted_OBP | 0.245 | -0.026 |
| predicted_R | 0.397 | -0.023 |
| predicted_RBI | 0.388 | -0.023 |
| predicted_SLG | 0.314 | -0.012 |
| predicted_SO | 1.282 | 0.006 |
AB rounded to 4 (raw=3.62), rates preserved: AVG=0.181 HR/AB=0.028
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.165 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.391 |
| predicted_AVG | 0.181 | -0.001 |
| predicted_BB | 0.000 | -0.302 |
| predicted_H | 1.000 | 0.345 |
| predicted_HR | 0.000 | -0.100 |
| predicted_OBP | 0.250 | 0.005 |
| predicted_R | 0.000 | -0.397 |
| predicted_RBI | 0.000 | -0.388 |
| predicted_SLG | 0.313 | -0.001 |
| predicted_SO | 1.000 | -0.282 |
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 | -2.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 | 3.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 | - | 18.000 | 2.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 8.000 | 0.1111 | 0.2000 | 0.1667 | 0.1111 | 0.0000 | 0.1111 | 0.1111 | 0.4444 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 3.000 | 0.000 | 1.000 | 3.000 | 6.000 | 2.000 | 14.000 | 0.2222 | 0.2632 | 0.3889 | 0.2222 | 0.0278 | 0.0833 | 0.0556 | 0.3889 |
| season | 0.60 | 128 | - | 457.000 | 101.000 | 19.000 | 1.000 | 15.000 | 60.000 | 54.000 | 39.000 | 159.000 | 0.2210 | 0.2947 | 0.3654 | 0.2210 | 0.0328 | 0.1313 | 0.0853 | 0.3479 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1880 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.5940 |
| predicted_AVG | 0.2020 |
| predicted_BB | 0.3010 |
| predicted_H | 0.7260 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.2714 |
| predicted_R | 0.4180 |
| predicted_RBI | 0.4250 |
| predicted_SLG | 0.3347 |
| predicted_SO | 1.3190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1480 | 0.1880 | 0.1653 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.6200 | 3.5940 | 3.6087 | model_form_blend |
| predicted_AVG | 0.1770 | 0.2020 | 0.1878 | model_form_blend |
| predicted_BB | 0.3050 | 0.3010 | 0.3033 | model_form_blend |
| predicted_H | 0.6400 | 0.7260 | 0.6773 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.1100 | 0.0930 | 0.1026 | model_form_blend |
| predicted_OBP | 0.2710 | 0.2714 | 0.2712 | model_form_blend |
| predicted_R | 0.4220 | 0.4180 | 0.4203 | model_form_blend |
| predicted_RBI | 0.4000 | 0.4250 | 0.4108 | model_form_blend |
| predicted_SLG | 0.3200 | 0.3347 | 0.3264 | model_form_blend |
| predicted_SO | 1.2420 | 1.3190 | 1.2754 | 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 | 506 |
| Season rows before report date | 506 |
| Report year | 2026 |
| Profile rows used | 128 |
| 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| 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 | 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 | 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 | 3B |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 663586 |
| playerID | 663586 |
| playerName | Austin Riley |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-22 |
| sl_k_percent | 31.6 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.292 |
| sl_xwoba | 0.299 |
| sl_xba | 0.211 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 12.2 |
| sl_hard_hit_percent | 45.7 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 32.7 |
| sl_swing_percent | 48.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.132 | 0.000 | 0.000 | Hitting_2B | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_AB | 2.921 | 2.000 | 3.000 | Hitting_AB | 3.172 | 3.000 | -1.172 | -1.000 |
| predicted_AVG | 0.207 | 0.000 | 0.333 | Hitting_AVG | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_BB | 0.211 | 1.000 | 0.000 | Hitting_BB | 0.262 | 0.000 | 0.738 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.605 | 0.000 | 1.000 | Hitting_H | 0.762 | 0.000 | -0.762 | 0.000 |
| predicted_HR | 0.026 | 0.000 | 0.000 | Hitting_HR | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_OBP | 0.261 | 0.333 | 0.333 | Hitting_OBP | 0.305 | 0.000 | 0.028 | 0.333 |
| predicted_R | 0.263 | 0.000 | 0.000 | Hitting_R | 0.320 | 0.000 | -0.320 | 0.000 |
| predicted_RBI | 0.289 | 0.000 | 0.000 | Hitting_RBI | 0.361 | 0.000 | -0.361 | 0.000 |
| predicted_SLG | 0.297 | 0.000 | 0.333 | Hitting_SLG | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_SO | 0.605 | 1.000 | 1.000 | Hitting_SO | 0.615 | 1.000 | 0.385 | 0.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.2110 -> 1.0000 (boost 0.7890, better) |
| Biggest Deboost | predicted_AB: 2.9210 -> 2.0000 (deboost -0.9210, 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 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.2970 -> 0.2790 (deboost -0.0180, 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.2579 -> 0.2491 (deboost -0.0088, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_H: 0.5510 -> 1.0000 (boost 0.4490, better) | predicted_RBI: 0.2522 -> 0.0000 (deboost -0.2522, worse) | AB rounded to 3 (raw=2.92), rates preserved: AVG=0.188 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2335 -> 0.0000 (deboost -0.2335, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2491 -> 0.2550 (boost 0.0059, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2550 -> 0.2491 (deboost -0.0059, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805347",
"player_name": "Jim Jarvis",
"position": "RF",
"team": "ATL",
"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.132,
"predicted_3B": 0.026,
"predicted_AB": 2.921,
"predicted_AVG": 0.207,
"predicted_BB": 0.211,
"predicted_H": 0.605,
"predicted_HR": 0.026,
"predicted_OBP": 0.261,
"predicted_R": 0.263,
"predicted_RBI": 0.289,
"predicted_SLG": 0.297,
"predicted_SO": 0.605
},
"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.1159,
"predicted_3B": 0.0217,
"predicted_AB": 2.9245,
"predicted_AVG": 0.1947,
"predicted_BB": 0.2376,
"predicted_H": 0.5698,
"predicted_HBP": 0.018,
"predicted_HR": 0.0287,
"predicted_OBP": 0.2579,
"predicted_R": 0.2473,
"predicted_RBI": 0.2671,
"predicted_SLG": 0.279,
"predicted_SO": 0.6406
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.1159,
"delta": -0.0161,
"percent_delta": -0.122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0217,
"delta": -0.0043,
"percent_delta": -0.1654,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.921,
"after": 2.9245,
"delta": 0.0035,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.1947,
"delta": -0.0123,
"percent_delta": -0.0594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 0.2376,
"delta": 0.0266,
"percent_delta": 0.1261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.605,
"after": 0.5698,
"delta": -0.0352,
"percent_delta": -0.0582,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.026,
"after": 0.0287,
"delta": 0.0027,
"percent_delta": 0.1038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2579,
"delta": -0.0031,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.263,
"after": 0.2473,
"delta": -0.0157,
"percent_delta": -0.0597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.289,
"after": 0.2671,
"delta": -0.0219,
"percent_delta": -0.0758,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.279,
"delta": -0.018,
"percent_delta": -0.0606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.605,
"after": 0.6406,
"delta": 0.0356,
"percent_delta": 0.0588,
"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.297,
"after": 0.279,
"delta": -0.018,
"percent_delta": -0.0606,
"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": 38
}
},
{
"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.1159,
"predicted_3B": 0.0217,
"predicted_AB": 2.9245,
"predicted_AVG": 0.1884,
"predicted_BB": 0.2364,
"predicted_H": 0.551,
"predicted_HBP": 0.018,
"predicted_HR": 0.0279,
"predicted_OBP": 0.2491,
"predicted_R": 0.2335,
"predicted_RBI": 0.2522,
"predicted_SLG": 0.2715,
"predicted_SO": 0.6439
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1159,
"after": 0.1159,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0217,
"after": 0.0217,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9245,
"after": 2.9245,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1947,
"after": 0.1884,
"delta": -0.0063,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2376,
"after": 0.2364,
"delta": -0.0012,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5698,
"after": 0.551,
"delta": -0.0188,
"percent_delta": -0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0287,
"after": 0.0279,
"delta": -0.0008,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2579,
"after": 0.2491,
"delta": -0.0088,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2473,
"after": 0.2335,
"delta": -0.0138,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2671,
"after": 0.2522,
"delta": -0.0149,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.279,
"after": 0.2715,
"delta": -0.0075,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6406,
"after": 0.6439,
"delta": 0.0033,
"percent_delta": 0.0052,
"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.2579,
"after": 0.2491,
"delta": -0.0088,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.92), rates preserved: AVG=0.188 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1159,
"after": 0.0,
"delta": -0.1159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0217,
"after": 0.0,
"delta": -0.0217,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9245,
"after": 3.0,
"delta": 0.0755,
"percent_delta": 0.0258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2364,
"after": 0.0,
"delta": -0.2364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.551,
"after": 1.0,
"delta": 0.449,
"percent_delta": 0.8149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0279,
"after": 0.0,
"delta": -0.0279,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2522,
"after": 0.0,
"delta": -0.2522,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6439,
"after": 1.0,
"delta": 0.3561,
"percent_delta": 0.553,
"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_H",
"before": 0.551,
"after": 1.0,
"delta": 0.449,
"percent_delta": 0.8149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2522,
"after": 0.0,
"delta": -0.2522,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2335,
"after": 0.0,
"delta": -0.2335,
"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.2335,
"after": 0.0,
"delta": -0.2335,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.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_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_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": {}
},
{
"index": 7,
"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.188,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.255,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.272,
"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.1884,
"after": 0.188,
"delta": -0.0004,
"percent_delta": -0.0021,
"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.2491,
"after": 0.255,
"delta": 0.0059,
"percent_delta": 0.0237,
"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.2715,
"after": 0.272,
"delta": 0.0005,
"percent_delta": 0.0018,
"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_OBP",
"before": 0.2491,
"after": 0.255,
"delta": 0.0059,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"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": 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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.1884,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2491,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2715,
"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": 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.188,
"after": 0.1884,
"delta": 0.0004,
"percent_delta": 0.0022,
"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_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.255,
"after": 0.2491,
"delta": -0.0059,
"percent_delta": -0.0231,
"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.272,
"after": 0.2715,
"delta": -0.0005,
"percent_delta": -0.0017,
"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_OBP",
"before": 0.255,
"after": 0.2491,
"delta": -0.0059,
"percent_delta": -0.0231,
"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.132,
"after": 0.0,
"delta": -0.132,
"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": 2.921,
"after": 2.0,
"delta": -0.921,
"percent_delta": -0.3153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.1884,
"delta": -0.0186,
"percent_delta": -0.0899,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 1.0,
"delta": 0.789,
"percent_delta": 3.7393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.605,
"after": 0.0,
"delta": -0.605,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2491,
"delta": -0.0119,
"percent_delta": -0.0456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.2715,
"delta": -0.0255,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.605,
"after": 1.0,
"delta": 0.395,
"percent_delta": 0.6529,
"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.211,
"after": 1.0,
"delta": 0.789,
"percent_delta": 3.7393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.921,
"after": 2.0,
"delta": -0.921,
"percent_delta": -0.3153,
"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.132 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 2.921 | - |
| predicted_AVG | 0.207 | - |
| predicted_BB | 0.211 | - |
| predicted_H | 0.605 | - |
| predicted_HR | 0.026 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.263 | - |
| predicted_RBI | 0.289 | - |
| predicted_SLG | 0.297 | - |
| predicted_SO | 0.605 | - |
Final model 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.116 | -0.016 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 2.925 | 0.004 |
| predicted_AVG | 0.195 | -0.012 |
| predicted_BB | 0.238 | 0.027 |
| predicted_H | 0.570 | -0.035 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.029 | 0.003 |
| predicted_OBP | 0.258 | -0.003 |
| predicted_R | 0.247 | -0.016 |
| predicted_RBI | 0.267 | -0.022 |
| predicted_SLG | 0.279 | -0.018 |
| predicted_SO | 0.641 | 0.036 |
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.116 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 2.925 | 0.000 |
| predicted_AVG | 0.188 | -0.006 |
| predicted_BB | 0.236 | -0.001 |
| predicted_H | 0.551 | -0.019 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.028 | -0.001 |
| predicted_OBP | 0.249 | -0.009 |
| predicted_R | 0.234 | -0.014 |
| predicted_RBI | 0.252 | -0.015 |
| predicted_SLG | 0.272 | -0.008 |
| predicted_SO | 0.644 | 0.003 |
AB rounded to 3 (raw=2.92), rates preserved: AVG=0.188 HR/AB=0.010
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.116 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | 0.075 |
| predicted_AVG | 0.188 | -0.000 |
| predicted_BB | 0.000 | -0.236 |
| predicted_H | 1.000 | 0.449 |
| predicted_HR | 0.000 | -0.028 |
| predicted_OBP | 0.255 | 0.006 |
| predicted_R | 0.000 | -0.234 |
| predicted_RBI | 0.000 | -0.252 |
| predicted_SLG | 0.272 | 0.001 |
| predicted_SO | 1.000 | 0.356 |
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 | 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 | 3.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 | - | 12.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.0833 | 0.2143 | 0.0833 | 0.0833 | 0.0000 | 0.0000 | 0.1667 | 0.2500 |
| last_10 | 0.20 | 10 | - | 24.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 8.000 | 0.0833 | 0.1852 | 0.0833 | 0.0833 | 0.0000 | 0.0417 | 0.1250 | 0.3333 |
| season | 0.60 | 38 | - | 111.000 | 23.000 | 5.000 | 1.000 | 1.000 | 11.000 | 10.000 | 8.000 | 23.000 | 0.2072 | 0.2667 | 0.2973 | 0.2072 | 0.0090 | 0.0991 | 0.0721 | 0.2072 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0910 |
| predicted_3B | 0.0150 |
| predicted_AB | 2.9300 |
| predicted_AVG | 0.1757 |
| predicted_BB | 0.2790 |
| predicted_H | 0.5150 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0330 |
| predicted_OBP | 0.2530 |
| predicted_R | 0.2230 |
| predicted_RBI | 0.2330 |
| predicted_SLG | 0.2509 |
| predicted_SO | 0.6960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.0910 | 0.1159 | model_form_blend |
| predicted_3B | 0.0260 | 0.0150 | 0.0217 | model_form_blend |
| predicted_AB | 2.9210 | 2.9300 | 2.9245 | model_form_blend |
| predicted_AVG | 0.2070 | 0.1757 | 0.1947 | model_form_blend |
| predicted_BB | 0.2110 | 0.2790 | 0.2376 | model_form_blend |
| predicted_H | 0.6050 | 0.5150 | 0.5698 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0260 | 0.0330 | 0.0287 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2530 | 0.2579 | model_form_blend |
| predicted_R | 0.2630 | 0.2230 | 0.2473 | model_form_blend |
| predicted_RBI | 0.2890 | 0.2330 | 0.2671 | model_form_blend |
| predicted_SLG | 0.2970 | 0.2509 | 0.2790 | model_form_blend |
| predicted_SO | 0.6050 | 0.6960 | 0.6406 | 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 | 122 |
| Season rows before report date | 122 |
| Report year | 2026 |
| Profile rows used | 38 |
| 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 | 2 |
| 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 | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 805347 |
| playerID | 805347 |
| playerName | Jim Jarvis |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-22 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.254 |
| sl_xwoba | 0.268 |
| sl_xba | 0.234 |
| sl_xslg | 0.304 |
| sl_sweet_spot_percent | 27.2 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 37.0 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 3.4 |
| sl_whiff_percent | 18.8 |
| sl_swing_percent | 44.2 |
| 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.000 | 1.000 | 1.000 | 1.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 1.000 | 2.000 | 4.000 | 3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.333 | 6.000 | 0.667 | -1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 6.067 | 6.200 | -0.867 | -1.000 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 6.333 | 3.000 | 1.667 | 5.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.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 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641816",
"player_name": "Tyler Mahle",
"position": "Starter",
"team": "ATL",
"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": 5.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 8.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 5.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 5.0,
"predicted_SO": 8.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": 5.0,
"after": 5.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": 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": 8.0,
"after": 8.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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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": 5.0,
"after": 5.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": 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": 8.0,
"after": 8.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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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 | 5.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 8.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 | 30.100 | 8.000 | 21.000 | 7.000 | 31.000 | 3.000 | 2.3736 | 0.9231 | 0.2637 | 0.6923 | 0.2308 | 1.0220 | 0.0989 |
| last_10 | 0.35 | 10 | 56.200 | 19.000 | 45.000 | 16.000 | 51.000 | 5.000 | 3.0176 | 1.0765 | 0.3353 | 0.7941 | 0.2823 | 0.9000 | 0.0882 |
| season | 0.20 | 21 | 113.100 | 57.000 | 108.000 | 40.000 | 108.000 | 16.000 | 4.5265 | 1.3059 | 0.5029 | 0.9529 | 0.3529 | 0.9529 | 0.1412 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6700 |
| predicted_ER | 2.1120 |
| predicted_ERA | 3.3156 |
| predicted_H | 4.6860 |
| predicted_HR | 0.6430 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.5170 |
| predicted_WHIP | 1.1086 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.6700 | 1.8123 | model_form_blend |
| predicted_ER | 5.0000 | 2.1120 | 3.3574 | model_form_blend |
| predicted_ERA | - | 3.3156 | 3.3156 | form_only |
| predicted_H | 5.0000 | 4.6860 | 4.8214 | model_form_blend |
| predicted_HR | 1.0000 | 0.6430 | 0.7970 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 8.0000 | 5.5170 | 6.5878 | model_form_blend |
| predicted_WHIP | - | 1.1086 | 1.1086 | 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 | 3 |
| Season rows before report date | 3 |
| Report year | 2026 |
| Profile rows used | 21 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 5 |
| R | 5 |
| ER | 5 |
| BB | 2 |
| SO | 8 |
| HR | 1 |
| BF | 24 |
| Pitches | 103 |
| 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 | 25 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.53 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 5 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.2 |
| Pitching_Pitches | 76 |
| Pitching_R | 2 |
| Pitching_SO | 3 |
| Pitching_Strikes | 58 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260818_ATL@MIN |
| game_type | full |
| mlbID | 641816 |
| playerID | 641816 |
| playerName | Tyler Mahle |
| pos | P |
| started | True |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-18 |
| game_pk | 823667.0 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.324 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 37.8 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 45.3 |
| sv_pitch_count | 76.0 |
| sv_outs_recorded_est | 20.0 |
| sv_release_speed | 89.87105263157895 |
| sv_release_spin_rate | 2042.1447368421047 |
| sv_effective_speed | 90.5671052631579 |
| sv_launch_speed | 84.34444444444445 |
| sv_launch_angle | 12.27777777777778 |
| sv_woba_value | 7.55 |
| sv_woba_denom | 25.0 |
| sv_delta_run_exp | -0.6679999999999998 |
| sv_delta_home_win_exp | -0.06 |
| sl_avg_best_speed | 80.456510314 |
| sl_avg_hyper_speed | 94.053935457 |
| 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.233 | 0.000 | -0.233 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.850 | 1.000 | 0.150 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.200 | 2.000 | -0.200 | -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": "669276",
"player_name": "Dylan Lee",
"position": "Setup Man",
"team": "ATL",
"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.200 | 1.000 | 2.000 | 2.000 | 6.000 | 0.000 | 1.9286 | 0.8571 | 0.2143 | 0.4286 | 0.4286 | 1.2857 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 1.000 | 2.000 | 6.000 | 12.000 | 0.000 | 0.9643 | 0.8571 | 0.1071 | 0.2143 | 0.6429 | 1.2857 | 0.0000 |
| season | 0.20 | 60 | 58.000 | 13.000 | 30.000 | 14.000 | 72.000 | 3.000 | 2.0172 | 0.7586 | 0.2241 | 0.5172 | 0.2414 | 1.2414 | 0.0517 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4360 |
| predicted_ER | 0.2760 |
| predicted_ERA | 2.4835 |
| predicted_H | 0.5530 |
| predicted_HR | 0.0520 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1780 |
| predicted_WHIP | 0.9889 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4360 | 0.2280 | model_form_blend |
| predicted_ER | 0.0000 | 0.2760 | 0.1443 | model_form_blend |
| predicted_ERA | - | 2.4835 | 2.4835 | form_only |
| predicted_H | 0.0000 | 0.5530 | 0.2892 | model_form_blend |
| predicted_HR | 0.0000 | 0.0520 | 0.0272 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1780 | 1.0931 | model_form_blend |
| predicted_WHIP | - | 0.9889 | 0.9889 | 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 | 60 |
| Season rows before report date | 60 |
| Report year | 2026 |
| Profile rows used | 60 |
| 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 | 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.02 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260820_ATL@CHW |
| game_type | full |
| mlbID | 669276 |
| playerID | 669276 |
| playerName | Dylan Lee |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-20 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.2 |
| sl_xwoba | 0.233 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 30.8 |
| sl_whiff_percent | 37.6 |
| sl_swing_percent | 52.6 |
| sl_avg_best_speed | 75.916444844 |
| sl_avg_hyper_speed | 92.823947165 |
| 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.304 | 0.000 | -0.304 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.891 | 0.000 | -0.891 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.974 | 1.000 | 0.126 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.109 | 2.000 | -0.109 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) |
| 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 | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "628452",
"player_name": "Raisel Iglesias",
"position": "Closer",
"team": "ATL",
"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.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 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": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}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.100 | - |
| 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 | 2.000 | 3.000 | 2.000 | 5.000 | 1.000 | 3.6000 | 1.0000 | 0.4000 | 0.6000 | 0.4000 | 1.0000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.200 | 6.000 | 9.000 | 6.000 | 8.000 | 1.000 | 5.5862 | 1.5517 | 0.6207 | 0.9310 | 0.6207 | 0.8276 | 0.1035 |
| season | 0.20 | 46 | 46.200 | 16.000 | 41.000 | 14.000 | 51.000 | 5.000 | 3.0857 | 1.1786 | 0.3429 | 0.8786 | 0.3000 | 1.0929 | 0.1071 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3270 |
| predicted_ER | 0.3670 |
| predicted_ERA | 4.3054 |
| predicted_H | 0.6460 |
| predicted_HR | 0.1130 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7330 |
| predicted_WHIP | 1.2679 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3270 | 0.1644 | model_form_blend |
| predicted_ER | 0.0000 | 0.3670 | 0.1845 | model_form_blend |
| predicted_ERA | - | 4.3054 | 4.3054 | form_only |
| predicted_H | 0.0000 | 0.6460 | 0.3248 | model_form_blend |
| predicted_HR | 0.0000 | 0.1130 | 0.0568 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7330 | 0.8658 | model_form_blend |
| predicted_WHIP | - | 1.2679 | 1.2679 | 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 | 46 |
| Season rows before report date | 46 |
| Report year | 2026 |
| Profile rows used | 46 |
| 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 | 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.09 |
| 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 | 12 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260820_ATL@CHW |
| game_type | full |
| mlbID | 628452 |
| playerID | 628452 |
| playerName | Raisel Iglesias |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-08-20 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.292 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 36.8 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 52.8 |
| sl_avg_best_speed | 77.572107581 |
| sl_avg_hyper_speed | 93.476387258 |
| Field | Value |
|---|---|
| Pitcher | Shane Drohan |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1850 |
| ESPN Rank | 204 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0272 |
| Avg Velo | 90.4120 |
| Avg Spin | 2548.1985 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 3.8571 |
| Season WHIP | 1.2458 |
| Role Avg IP | 5.2620 |
| Recent Avg IP | 5.6670 |
| Last Start IP | 5.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 130,
"wins": 81,
"losses": 49,
"win_pct": 0.6231,
"runs_scored": 648.0,
"runs_allowed": 485.0,
"run_differential": 163.0,
"run_differential_per_game": 1.2538,
"avg_runs_scored": 4.9846,
"avg_runs_allowed": 3.7308,
"offense_index": 1.1101,
"defense_index": 1.2035,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.3282
},
"opponent": {
"team": "ATL",
"games": 130,
"wins": 75,
"losses": 55,
"win_pct": 0.5769,
"runs_scored": 610.0,
"runs_allowed": 502.0,
"run_differential": 108.0,
"run_differential_per_game": 0.8308,
"avg_runs_scored": 4.6923,
"avg_runs_allowed": 3.8615,
"offense_index": 1.045,
"defense_index": 1.1628,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.5,
"avg_runs_allowed": 3.8,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.0971
},
"edges": {
"quality_edge": 0.2311,
"offense_edge": 0.1101,
"opponent_offense_edge": 0.045,
"defense_strength": 0.2035,
"opponent_defense_weakness": -0.1628,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0135,
"run_prevention": 0.9753,
"strikeout": 1.0033
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "675660",
"profile": {
"available": true,
"pitcher_id": "675660",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 408.0,
"k_percent": 23.5,
"bb_percent": 7.8,
"woba": 0.303,
"xwoba": 0.295,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 38.1,
"avg_best_speed": 76.7436,
"avg_hyper_speed": 93.7969,
"whiff_percent": 27.2,
"swing_percent": 47.9
},
"league_medians": {
"pa": 123.0,
"k_percent": 22.2,
"bb_percent": 9.0,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.5038,
"avg_hyper_speed": 93.8923,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.175,
"command_and_miss": 0.2386,
"regression_edge": 0.2286,
"xwoba_edge": 0.4571,
"barrel_edge": -0.3111,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.2714,
"bb_edge": 0.3,
"pitch_design_score": 0.0272
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675660",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 90.41202882500774,
"release_spin_rate": 2548.1985431891367,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 90.41202882500774,
"release_spin_rate": 2548.1985431891367,
"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.412,
"release_spin_rate": 2548.1985,
"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.0272,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1946,
"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.185,
"sample_weight": 1.0,
"run_prevention_factor": 0.9843,
"strikeout_factor": 1.0183,
"walk_factor": 0.976,
"homer_factor": 1.0135,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675660",
"espn_id": 4315203,
"player_name": "Shane Drohan",
"team": "MIL",
"role": "pitcher",
"espn_rank": 204,
"espn_total_ranked": 825,
"metrics": {
"espn_rank": 204,
"gp_value": 25.0,
"gp_rank": 256,
"gs_value": 14.0,
"gs_rank": 133,
"qs_value": 5.0,
"qs_rank": 99,
"era_value": 3.8571,
"era_rank": null,
"w_value": 6.0,
"w_rank": 92,
"l_value": 4.0,
"l_rank": 157,
"sv_value": 1.0,
"sv_rank": 126,
"hld_value": 2.0,
"hld_rank": 219,
"ip_value": 100.1,
"ip_rank": 105,
"h_value": 92.0,
"h_rank": 108,
"er_value": 43.0,
"er_rank": 118,
"hr_value": 9.0,
"hr_rank": 160,
"bb_value": 33.0,
"bb_rank": 109,
"k_value": 99.0,
"k_rank": 89,
"k_per_9_value": 8.880399,
"k_per_9_rank": 22,
"whip_value": 1.2458,
"whip_rank": null,
"war_value": 0.74,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9843,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9843,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.976,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0135,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0183,
"adjusted": 6
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 52.2,
"ER": 25,
"H": 50,
"BB": 19,
"SO": 52,
"HR": 5,
"ERA": 4.272151898734178,
"WHIP": 1.3101265822784811,
"K9": 8.88607594936709,
"HR9": 0.8544303797468354,
"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-08-18T00:00:00"
}{
"available": true,
"pitcher_id": "675660",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 90.41202882500774,
"release_spin_rate": 2548.1985431891367,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 90.41202882500774,
"release_spin_rate": 2548.1985431891367,
"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.412,
"release_spin_rate": 2548.1985,
"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.0272,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1946,
"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": 25.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8333,
"prior_weight": 0.1667
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "675660",
"report_date": "20260823",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.1,
"ER": 16.0,
"R": 16.0,
"H": 23.0,
"BB": 12.0,
"SO": 23.0,
"HR": 3.0,
"BF": 104.0,
"Pitches": 396.0
},
"per_game": {
"IP": 5.0,
"ER": 3.2,
"R": 3.2,
"H": 4.6,
"BB": 2.4,
"SO": 4.6,
"HR": 0.6,
"BF": 20.8,
"Pitches": 79.2
},
"rates": {
"ERA": 5.9178,
"WHIP": 1.4384,
"ER_per_IP": 0.65753,
"H_per_IP": 0.94521,
"BB_per_IP": 0.49315,
"SO_per_IP": 0.94521,
"HR_per_IP": 0.12329
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.2,
"ER": 25.0,
"R": 27.0,
"H": 50.0,
"BB": 19.0,
"SO": 52.0,
"HR": 5.0,
"BF": 223.0,
"Pitches": 830.0
},
"per_game": {
"IP": 5.1,
"ER": 2.5,
"R": 2.7,
"H": 5.0,
"BB": 1.9,
"SO": 5.2,
"HR": 0.5,
"BF": 22.3,
"Pitches": 83.0
},
"rates": {
"ERA": 4.2722,
"WHIP": 1.3101,
"ER_per_IP": 0.47468,
"H_per_IP": 0.94937,
"BB_per_IP": 0.36076,
"SO_per_IP": 0.98734,
"HR_per_IP": 0.09494
}
},
"season": {
"games": 25,
"totals": {
"IP": 100.1,
"ER": 43.0,
"R": 48.0,
"H": 92.0,
"BB": 33.0,
"SO": 99.0,
"HR": 9.0,
"BF": 421.0,
"Pitches": 1579.0
},
"per_game": {
"IP": 4.0,
"ER": 1.72,
"R": 1.92,
"H": 3.68,
"BB": 1.32,
"SO": 3.96,
"HR": 0.36,
"BF": 16.84,
"Pitches": 63.16
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.2458,
"ER_per_IP": 0.42857,
"H_per_IP": 0.91694,
"BB_per_IP": 0.3289,
"SO_per_IP": 0.98671,
"HR_per_IP": 0.0897
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.693,
"predicted_H": 4.719,
"predicted_BB": 2.025,
"predicted_SO": 4.811,
"predicted_HR": 0.566,
"predicted_ERA": 4.8609,
"predicted_WHIP": 1.3526
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4204,
"form_weight": 0.5796,
"form_reliability": 0.8333,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 25.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8333,
"prior_weight": 0.1667
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.0,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.693,
"final": 1.9812,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 4.719,
"final": 3.5758,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.025,
"final": 2.0145,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.811,
"final": 4.8905,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.566,
"final": 0.7485,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8609,
"final": 4.8609,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3526,
"final": 1.3526,
"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 | Aaron Ashby |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7744 |
| ESPN Rank | 187 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1421 |
| Avg Velo | 92.4637 |
| Avg Spin | 2246.7855 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 3.2500 |
| Season WHIP | 1.3889 |
| Role Avg IP | 1.1810 |
| Recent Avg IP | 1.2670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 130,
"wins": 81,
"losses": 49,
"win_pct": 0.6231,
"runs_scored": 648.0,
"runs_allowed": 485.0,
"run_differential": 163.0,
"run_differential_per_game": 1.2538,
"avg_runs_scored": 4.9846,
"avg_runs_allowed": 3.7308,
"offense_index": 1.1101,
"defense_index": 1.2035,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.3282
},
"opponent": {
"team": "ATL",
"games": 130,
"wins": 75,
"losses": 55,
"win_pct": 0.5769,
"runs_scored": 610.0,
"runs_allowed": 502.0,
"run_differential": 108.0,
"run_differential_per_game": 0.8308,
"avg_runs_scored": 4.6923,
"avg_runs_allowed": 3.8615,
"offense_index": 1.045,
"defense_index": 1.1628,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.5,
"avg_runs_allowed": 3.8,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.0971
},
"edges": {
"quality_edge": 0.2311,
"offense_edge": 0.1101,
"opponent_offense_edge": 0.045,
"defense_strength": 0.2035,
"opponent_defense_weakness": -0.1628,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0135,
"run_prevention": 0.9753,
"strikeout": 1.0033
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676879",
"profile": {
"available": true,
"pitcher_id": "676879",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 302.0,
"k_percent": 32.1,
"bb_percent": 11.4,
"woba": 0.293,
"xwoba": 0.265,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 39.2,
"avg_best_speed": 75.3149,
"avg_hyper_speed": 94.2755,
"whiff_percent": 32.2,
"swing_percent": 40.8
},
"league_medians": {
"pa": 123.0,
"k_percent": 22.2,
"bb_percent": 9.0,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.5038,
"avg_hyper_speed": 93.8923,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8198,
"command_and_miss": 0.8614,
"regression_edge": 0.8,
"xwoba_edge": 1.3143,
"barrel_edge": 0.5778,
"hard_hit_edge": -0.2143,
"whiff_edge": 0.9857,
"bb_edge": -0.6,
"pitch_design_score": 0.1421
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676879",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 92.46372937950683,
"release_spin_rate": 2246.7854933486437,
"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": 21,
"pitch_usage": 0.0,
"release_speed": 92.46372937950683,
"release_spin_rate": 2246.7854933486437,
"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.4637,
"release_spin_rate": 2246.7855,
"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.1421,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0153,
"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.7744,
"sample_weight": 1.0,
"run_prevention_factor": 0.9342,
"strikeout_factor": 1.096,
"walk_factor": 1.048,
"homer_factor": 0.9229,
"woba_minus_xwoba": 0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676879",
"espn_id": 41325,
"player_name": "Aaron Ashby",
"team": "MIL",
"role": "pitcher",
"espn_rank": 187,
"espn_total_ranked": 825,
"metrics": {
"espn_rank": 187,
"gp_value": 60.0,
"gp_rank": 10,
"gs_value": 1.0,
"gs_rank": 288,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.25,
"era_rank": null,
"w_value": 13.0,
"w_rank": 5,
"l_value": 2.0,
"l_rank": 296,
"sv_value": 2.0,
"sv_rank": 84,
"hld_value": 12.0,
"hld_rank": 48,
"ip_value": 72.0,
"ip_rank": 157,
"h_value": 64.0,
"h_rank": 161,
"er_value": 26.0,
"er_rank": 204,
"hr_value": 5.0,
"hr_rank": 285,
"bb_value": 36.0,
"bb_rank": 83,
"k_value": 101.0,
"k_rank": 82,
"k_per_9_value": 12.625,
"k_per_9_rank": 14,
"whip_value": 1.3888,
"whip_rank": null,
"war_value": 0.87,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9342,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9342,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.048,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9229,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.096,
"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": 11.2,
"ER": 4,
"H": 10,
"BB": 6,
"SO": 19,
"HR": 0,
"ERA": 3.085714285714286,
"WHIP": 1.3714285714285714,
"K9": 14.657142857142858,
"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-08-22T00:00:00"
}{
"available": true,
"pitcher_id": "676879",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 92.46372937950683,
"release_spin_rate": 2246.7854933486437,
"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": 21,
"pitch_usage": 0.0,
"release_speed": 92.46372937950683,
"release_spin_rate": 2246.7854933486437,
"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.4637,
"release_spin_rate": 2246.7855,
"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.1421,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0153,
"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.427,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7426,
"prior_weight": 0.2574
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "676879",
"report_date": "20260823",
"season_year": 2026,
"rows_used": 60,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 3.0,
"SO": 7.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 119.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.6,
"SO": 1.4,
"HR": 0.0,
"BF": 5.0,
"Pitches": 23.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.1053,
"ER_per_IP": 0.0,
"H_per_IP": 0.63158,
"BB_per_IP": 0.47368,
"SO_per_IP": 1.10526,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 4.0,
"R": 5.0,
"H": 10.0,
"BB": 6.0,
"SO": 19.0,
"HR": 0.0,
"BF": 52.0,
"Pitches": 235.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.5,
"H": 1.0,
"BB": 0.6,
"SO": 1.9,
"HR": 0.0,
"BF": 5.2,
"Pitches": 23.5
},
"rates": {
"ERA": 3.0857,
"WHIP": 1.3714,
"ER_per_IP": 0.34286,
"H_per_IP": 0.85714,
"BB_per_IP": 0.51429,
"SO_per_IP": 1.62857,
"HR_per_IP": 0.0
}
},
"season": {
"games": 60,
"totals": {
"IP": 72.0,
"ER": 26.0,
"R": 31.0,
"H": 64.0,
"BB": 36.0,
"SO": 101.0,
"HR": 5.0,
"BF": 315.0,
"Pitches": 1295.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4333,
"R": 0.5167,
"H": 1.0667,
"BB": 0.6,
"SO": 1.6833,
"HR": 0.0833,
"BF": 5.25,
"Pitches": 21.5833
},
"rates": {
"ERA": 3.25,
"WHIP": 1.3889,
"ER_per_IP": 0.36111,
"H_per_IP": 0.88889,
"BB_per_IP": 0.5,
"SO_per_IP": 1.40278,
"HR_per_IP": 0.06944
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.363,
"predicted_H": 1.089,
"predicted_BB": 0.614,
"predicted_SO": 1.66,
"predicted_HR": 0.065,
"predicted_ERA": 2.4473,
"predicted_WHIP": 1.2772
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4588,
"form_weight": 0.5412,
"form_reliability": 0.7426,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.427,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7426,
"prior_weight": 0.2574
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.363,
"final": 0.1965,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.089,
"final": 0.5894,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.614,
"final": 0.7911,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.66,
"final": 1.816,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.065,
"final": 0.0352,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4473,
"final": 2.4473,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2772,
"final": 1.2772,
"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 | Chad Patrick |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0644 |
| ESPN Rank | 90 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1510 |
| Avg Velo | 92.6221 |
| Avg Spin | 2361.3166 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.9670 |
| Season WHIP | 1.1758 |
| Role Avg IP | 1.6940 |
| Recent Avg IP | 1.1330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 130,
"wins": 81,
"losses": 49,
"win_pct": 0.6231,
"runs_scored": 648.0,
"runs_allowed": 485.0,
"run_differential": 163.0,
"run_differential_per_game": 1.2538,
"avg_runs_scored": 4.9846,
"avg_runs_allowed": 3.7308,
"offense_index": 1.1101,
"defense_index": 1.2035,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.3282
},
"opponent": {
"team": "ATL",
"games": 130,
"wins": 75,
"losses": 55,
"win_pct": 0.5769,
"runs_scored": 610.0,
"runs_allowed": 502.0,
"run_differential": 108.0,
"run_differential_per_game": 0.8308,
"avg_runs_scored": 4.6923,
"avg_runs_allowed": 3.8615,
"offense_index": 1.045,
"defense_index": 1.1628,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.5,
"avg_runs_allowed": 3.8,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.0971
},
"edges": {
"quality_edge": 0.2311,
"offense_edge": 0.1101,
"opponent_offense_edge": 0.045,
"defense_strength": 0.2035,
"opponent_defense_weakness": -0.1628,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0135,
"run_prevention": 0.9753,
"strikeout": 1.0033
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694477",
"profile": {
"available": true,
"pitcher_id": "694477",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 354.0,
"k_percent": 22.0,
"bb_percent": 9.7,
"woba": 0.294,
"xwoba": 0.308,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.749,
"avg_hyper_speed": 93.9739,
"whiff_percent": 26.4,
"swing_percent": 48.7
},
"league_medians": {
"pa": 123.0,
"k_percent": 22.2,
"bb_percent": 9.0,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.5038,
"avg_hyper_speed": 93.8923,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.1615,
"command_and_miss": 0.0071,
"regression_edge": -0.4,
"xwoba_edge": 0.0857,
"barrel_edge": 0.2667,
"hard_hit_edge": 0.0286,
"whiff_edge": 0.1571,
"bb_edge": -0.175,
"pitch_design_score": 0.151
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694477",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 92.6221076037981,
"release_spin_rate": 2361.3165536852007,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 92.6221076037981,
"release_spin_rate": 2361.3165536852007,
"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.6221,
"release_spin_rate": 2361.3166,
"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.151,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0786,
"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.0644,
"sample_weight": 1.0,
"run_prevention_factor": 0.9945,
"strikeout_factor": 1.0051,
"walk_factor": 1.014,
"homer_factor": 0.975,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694477",
"espn_id": 5131708,
"player_name": "Chad Patrick",
"team": "MIL",
"role": "pitcher",
"espn_rank": 90,
"espn_total_ranked": 825,
"metrics": {
"espn_rank": 90,
"gp_value": 44.0,
"gp_rank": 111,
"gs_value": 6.0,
"gs_rank": 196,
"qs_value": 1.0,
"qs_rank": 173,
"era_value": 3.2637,
"era_rank": null,
"w_value": 7.0,
"w_rank": 70,
"l_value": 4.0,
"l_rank": 157,
"sv_value": 5.0,
"sv_rank": 40,
"hld_value": 9.0,
"hld_rank": 87,
"ip_value": 91.0,
"ip_rank": 124,
"h_value": 75.0,
"h_rank": 141,
"er_value": 33.0,
"er_rank": 159,
"hr_value": 8.0,
"hr_rank": 189,
"bb_value": 35.0,
"bb_rank": 95,
"k_value": 82.0,
"k_rank": 122,
"k_per_9_value": 8.10989,
"k_per_9_rank": 26,
"whip_value": 1.2087,
"whip_rank": null,
"war_value": 1.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9945,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9945,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.014,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.975,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0051,
"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": 12.2,
"ER": 3,
"H": 8,
"BB": 7,
"SO": 15,
"HR": 0,
"ERA": 2.131578947368421,
"WHIP": 1.1842105263157894,
"K9": 10.657894736842104,
"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-08-22T00:00:00"
}{
"available": true,
"pitcher_id": "694477",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 92.6221076037981,
"release_spin_rate": 2361.3165536852007,
"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": 15,
"pitch_usage": 0.0,
"release_speed": 92.6221076037981,
"release_spin_rate": 2361.3165536852007,
"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.6221,
"release_spin_rate": 2361.3166,
"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.151,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0786,
"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.234,
"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": "694477",
"report_date": "20260823",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 3.0,
"SO": 4.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 103.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 20.6
},
"rates": {
"ERA": 1.5882,
"WHIP": 1.2353,
"ER_per_IP": 0.17647,
"H_per_IP": 0.70588,
"BB_per_IP": 0.52941,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.2,
"ER": 3.0,
"R": 3.0,
"H": 8.0,
"BB": 7.0,
"SO": 15.0,
"HR": 0.0,
"BF": 53.0,
"Pitches": 230.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.3,
"H": 0.8,
"BB": 0.7,
"SO": 1.5,
"HR": 0.0,
"BF": 5.3,
"Pitches": 23.0
},
"rates": {
"ERA": 2.1316,
"WHIP": 1.1842,
"ER_per_IP": 0.23684,
"H_per_IP": 0.63158,
"BB_per_IP": 0.55263,
"SO_per_IP": 1.18421,
"HR_per_IP": 0.0
}
},
"season": {
"games": 43,
"totals": {
"IP": 91.0,
"ER": 30.0,
"R": 30.0,
"H": 72.0,
"BB": 35.0,
"SO": 82.0,
"HR": 6.0,
"BF": 369.0,
"Pitches": 1469.0
},
"per_game": {
"IP": 2.0,
"ER": 0.6977,
"R": 0.6977,
"H": 1.6744,
"BB": 0.814,
"SO": 1.907,
"HR": 0.1395,
"BF": 8.5814,
"Pitches": 34.1628
},
"rates": {
"ERA": 2.967,
"WHIP": 1.1758,
"ER_per_IP": 0.32967,
"H_per_IP": 0.79121,
"BB_per_IP": 0.38462,
"SO_per_IP": 0.9011,
"HR_per_IP": 0.06593
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.379,
"predicted_H": 0.999,
"predicted_BB": 0.631,
"predicted_SO": 1.215,
"predicted_HR": 0.056,
"predicted_ERA": 2.5841,
"predicted_WHIP": 1.2346
}
}{
"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.234,
"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": 1.0,
"form": 0.379,
"final": 0.6528,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.999,
"final": 0.5585,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.631,
"final": 0.3528,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.215,
"final": 1.1202,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.056,
"final": 0.4722,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5841,
"final": 2.5841,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2346,
"final": 1.2346,
"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 | Trevor Megill |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4844 |
| ESPN Rank | 82 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2588 |
| Avg Velo | 94.5471 |
| Avg Spin | 2503.6529 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.6200 |
| Season WHIP | 0.7800 |
| Role Avg IP | 1 |
| Recent Avg IP | 1.1330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 130,
"wins": 81,
"losses": 49,
"win_pct": 0.6231,
"runs_scored": 648.0,
"runs_allowed": 485.0,
"run_differential": 163.0,
"run_differential_per_game": 1.2538,
"avg_runs_scored": 4.9846,
"avg_runs_allowed": 3.7308,
"offense_index": 1.1101,
"defense_index": 1.2035,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.3282
},
"opponent": {
"team": "ATL",
"games": 130,
"wins": 75,
"losses": 55,
"win_pct": 0.5769,
"runs_scored": 610.0,
"runs_allowed": 502.0,
"run_differential": 108.0,
"run_differential_per_game": 0.8308,
"avg_runs_scored": 4.6923,
"avg_runs_allowed": 3.8615,
"offense_index": 1.045,
"defense_index": 1.1628,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.5,
"avg_runs_allowed": 3.8,
"run_differential": -13.0
},
"available": true,
"quality_score": 0.0971
},
"edges": {
"quality_edge": 0.2311,
"offense_edge": 0.1101,
"opponent_offense_edge": 0.045,
"defense_strength": 0.2035,
"opponent_defense_weakness": -0.1628,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0135,
"run_prevention": 0.9753,
"strikeout": 1.0033
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656730",
"profile": {
"available": true,
"pitcher_id": "656730",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 181.0,
"k_percent": 29.0,
"bb_percent": 6.2,
"woba": 0.191,
"xwoba": 0.252,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 42.7,
"avg_best_speed": 82.3603,
"avg_hyper_speed": 94.5966,
"whiff_percent": 32.4,
"swing_percent": 52.8
},
"league_medians": {
"pa": 123.0,
"k_percent": 22.2,
"bb_percent": 9.0,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.5038,
"avg_hyper_speed": 93.8923,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.0361,
"command_and_miss": 0.9321,
"regression_edge": -1.7429,
"xwoba_edge": 1.6857,
"barrel_edge": 0.3111,
"hard_hit_edge": -0.7143,
"whiff_edge": 1.0143,
"bb_edge": 0.7,
"pitch_design_score": 0.2588
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656730",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 94.54710376864173,
"release_spin_rate": 2503.6529055260044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 94.54710376864173,
"release_spin_rate": 2503.6529055260044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.5471,
"release_spin_rate": 2503.6529,
"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.2588,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8486,
"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.4844,
"sample_weight": 0.724,
"run_prevention_factor": 0.9588,
"strikeout_factor": 1.0575,
"walk_factor": 0.9595,
"homer_factor": 0.9661,
"woba_minus_xwoba": -0.061,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656730",
"espn_id": 40080,
"player_name": "Trevor Megill",
"team": "MIL",
"role": "pitcher",
"espn_rank": 82,
"espn_total_ranked": 825,
"metrics": {
"espn_rank": 82,
"gp_value": 51.0,
"gp_rank": 66,
"gs_value": 0.0,
"gs_rank": 345,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.34,
"era_rank": null,
"w_value": 2.0,
"w_rank": 289,
"l_value": 2.0,
"l_rank": 296,
"sv_value": 24.0,
"sv_rank": 11,
"hld_value": 7.0,
"hld_rank": 118,
"ip_value": 50.0,
"ip_rank": 266,
"h_value": 29.0,
"h_rank": 389,
"er_value": 13.0,
"er_rank": 414,
"hr_value": 0.0,
"hr_rank": 708,
"bb_value": 12.0,
"bb_rank": 414,
"k_value": 56.0,
"k_rank": 217,
"k_per_9_value": 10.08,
"k_per_9_rank": 22,
"whip_value": 0.82,
"whip_rank": null,
"war_value": 1.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9702,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9702,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9707,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9755,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0416,
"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.2,
"ER": 0,
"H": 1,
"BB": 1,
"SO": 7,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.18749999999999997,
"K9": 5.906249999999999,
"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-08-21T00:00:00"
}{
"available": true,
"pitcher_id": "656730",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 94.54710376864173,
"release_spin_rate": 2503.6529055260044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 94.54710376864173,
"release_spin_rate": 2503.6529055260044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.5471,
"release_spin_rate": 2503.6529,
"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.2588,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8486,
"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.019,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6671,
"prior_weight": 0.3329
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656730",
"report_date": "20260823",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3529,
"ER_per_IP": 0.0,
"H_per_IP": 0.17647,
"BB_per_IP": 0.17647,
"SO_per_IP": 0.88235,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 110.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.1,
"BB": 0.1,
"SO": 0.7,
"HR": 0.0,
"BF": 3.4,
"Pitches": 11.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.1875,
"ER_per_IP": 0.0,
"H_per_IP": 0.09375,
"BB_per_IP": 0.09375,
"SO_per_IP": 0.65625,
"HR_per_IP": 0.0
}
},
"season": {
"games": 50,
"totals": {
"IP": 50.0,
"ER": 9.0,
"R": 10.0,
"H": 27.0,
"BB": 12.0,
"SO": 56.0,
"HR": 0.0,
"BF": 188.0,
"Pitches": 698.0
},
"per_game": {
"IP": 1.0,
"ER": 0.18,
"R": 0.2,
"H": 0.54,
"BB": 0.24,
"SO": 1.12,
"HR": 0.0,
"BF": 3.76,
"Pitches": 13.96
},
"rates": {
"ERA": 1.62,
"WHIP": 0.78,
"ER_per_IP": 0.18,
"H_per_IP": 0.54,
"BB_per_IP": 0.24,
"SO_per_IP": 1.12,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.191,
"predicted_H": 0.471,
"predicted_BB": 0.229,
"predicted_SO": 0.883,
"predicted_HR": 0.049,
"predicted_ERA": 1.7198,
"predicted_WHIP": 0.7002
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4907,
"form_weight": 0.5093,
"form_reliability": 0.6671,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.019,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6671,
"prior_weight": 0.3329
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.191,
"final": 0.5879,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.471,
"final": 0.7306,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.229,
"final": 0.1166,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.883,
"final": 0.4498,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.049,
"final": 0.5156,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.7198,
"final": 1.7198,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.7002,
"final": 0.7002,
"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.150 | 0.000 | 0.000 | Hitting_2B | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.416 | 4.000 | 3.000 | Hitting_AB | 3.575 | 3.000 | 0.425 | 1.000 |
| predicted_AVG | 0.272 | 0.250 | 0.333 | Hitting_AVG | 0.274 | 0.333 | -0.024 | -0.083 |
| predicted_BB | 0.584 | 0.000 | 1.000 | Hitting_BB | 0.659 | 1.000 | -0.659 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.929 | 1.000 | 1.000 | Hitting_H | 0.978 | 1.000 | 0.022 | 0.000 |
| predicted_HR | 0.195 | 1.000 | 1.000 | Hitting_HR | 0.206 | 1.000 | 0.794 | 0.000 |
| predicted_OBP | 0.378 | 0.250 | 0.500 | Hitting_OBP | 0.387 | 0.500 | -0.137 | -0.250 |
| predicted_R | 0.655 | 1.000 | 1.000 | Hitting_R | 0.700 | 1.000 | 0.300 | 0.000 |
| predicted_RBI | 0.637 | 3.000 | 1.000 | Hitting_RBI | 0.685 | 2.000 | 2.315 | 1.000 |
| predicted_SLG | 0.497 | 1.000 | 1.333 | Hitting_SLG | 0.501 | 1.333 | 0.499 | -0.333 |
| predicted_SO | 1.044 | 1.000 | 1.000 | Hitting_SO | 1.083 | 1.000 | -0.083 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 2 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.6370 -> 3.0000 (boost 2.3630, better) |
| Biggest Deboost | predicted_BB: 0.5840 -> 0.0000 (deboost -0.5840, 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 | 2 | 1 | predicted_SO: 1.0440 -> 1.1062 (boost 0.0622, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5119 -> 0.5190 (boost 0.0071, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_BB: 0.6352 -> 1.0000 (boost 0.3648, better) | predicted_AB: 3.4238 -> 3.0000 (deboost -0.4238, worse) | AB rounded to 3 (raw=3.42), rates preserved: AVG=0.278 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7085 -> 1.0000 (boost 0.2915, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 3 | 1 | predicted_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "RF",
"team": "MIL",
"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.15,
"predicted_3B": 0.018,
"predicted_AB": 3.416,
"predicted_AVG": 0.272,
"predicted_BB": 0.584,
"predicted_H": 0.929,
"predicted_HR": 0.195,
"predicted_OBP": 0.378,
"predicted_R": 0.655,
"predicted_RBI": 0.637,
"predicted_SLG": 0.497,
"predicted_SO": 1.044
},
"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.1591,
"predicted_3B": 0.015,
"predicted_AB": 3.4238,
"predicted_AVG": 0.2726,
"predicted_BB": 0.6281,
"predicted_H": 0.9329,
"predicted_HBP": 0.017,
"predicted_HR": 0.2106,
"predicted_OBP": 0.385,
"predicted_R": 0.6835,
"predicted_RBI": 0.6521,
"predicted_SLG": 0.5119,
"predicted_SO": 1.1062
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.1591,
"delta": 0.0091,
"percent_delta": 0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.015,
"delta": -0.003,
"percent_delta": -0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.416,
"after": 3.4238,
"delta": 0.0078,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2726,
"delta": 0.0006,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.584,
"after": 0.6281,
"delta": 0.0441,
"percent_delta": 0.0755,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.929,
"after": 0.9329,
"delta": 0.0039,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.195,
"after": 0.2106,
"delta": 0.0156,
"percent_delta": 0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.378,
"after": 0.385,
"delta": 0.007,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.655,
"after": 0.6835,
"delta": 0.0285,
"percent_delta": 0.0435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.637,
"after": 0.6521,
"delta": 0.0151,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.497,
"after": 0.5119,
"delta": 0.0149,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.044,
"after": 1.1062,
"delta": 0.0622,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.044,
"after": 1.1062,
"delta": 0.0622,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 113
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1591,
"predicted_3B": 0.015,
"predicted_AB": 3.4238,
"predicted_AVG": 0.2777,
"predicted_BB": 0.6352,
"predicted_H": 0.9508,
"predicted_HBP": 0.017,
"predicted_HR": 0.2124,
"predicted_OBP": 0.3907,
"predicted_R": 0.7085,
"predicted_RBI": 0.676,
"predicted_SLG": 0.519,
"predicted_SO": 1.0937
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1591,
"after": 0.1591,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4238,
"after": 3.4238,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2726,
"after": 0.2777,
"delta": 0.0051,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6281,
"after": 0.6352,
"delta": 0.0071,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9329,
"after": 0.9508,
"delta": 0.0179,
"percent_delta": 0.0192,
"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.2106,
"after": 0.2124,
"delta": 0.0018,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.385,
"after": 0.3907,
"delta": 0.0057,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6835,
"after": 0.7085,
"delta": 0.025,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6521,
"after": 0.676,
"delta": 0.0239,
"percent_delta": 0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5119,
"after": 0.519,
"delta": 0.0071,
"percent_delta": 0.0139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1062,
"after": 1.0937,
"delta": -0.0125,
"percent_delta": -0.0113,
"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.5119,
"after": 0.519,
"delta": 0.0071,
"percent_delta": 0.0139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.42), rates preserved: AVG=0.278 HR/AB=0.062",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1591,
"after": 0.0,
"delta": -0.1591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4238,
"after": 3.0,
"delta": -0.4238,
"percent_delta": -0.1238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6352,
"after": 1.0,
"delta": 0.3648,
"percent_delta": 0.5743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9508,
"after": 1.0,
"delta": 0.0492,
"percent_delta": 0.0517,
"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.2124,
"after": 0.0,
"delta": -0.2124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.676,
"after": 1.0,
"delta": 0.324,
"percent_delta": 0.4793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0937,
"after": 1.0,
"delta": -0.0937,
"percent_delta": -0.0857,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6352,
"after": 1.0,
"delta": 0.3648,
"percent_delta": 0.5743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4238,
"after": 3.0,
"delta": -0.4238,
"percent_delta": -0.1238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": 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": 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.7085,
"after": 1.0,
"delta": 0.2915,
"percent_delta": 0.4114,
"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.7085,
"after": 1.0,
"delta": 0.2915,
"percent_delta": 0.4114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 1.0,
"predicted_R": 1.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": 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": 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_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_HR",
"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": 7,
"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.278,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.395,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.519,
"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.2777,
"after": 0.278,
"delta": 0.0003,
"percent_delta": 0.0011,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3907,
"after": 0.395,
"delta": 0.0043,
"percent_delta": 0.011,
"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_SLG",
"before": 0.519,
"after": 0.519,
"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_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": 8,
"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": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.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": 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": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"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": 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_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.2777,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3907,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.519,
"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.278,
"after": 0.2777,
"delta": -0.0003,
"percent_delta": -0.0011,
"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": 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.395,
"after": 0.3907,
"delta": -0.0043,
"percent_delta": -0.0108,
"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": 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.519,
"after": 0.519,
"delta": 0.0,
"percent_delta": 0.0001,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.416,
"after": 4.0,
"delta": 0.584,
"percent_delta": 0.171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2777,
"delta": 0.0057,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.584,
"after": 0.0,
"delta": -0.584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.929,
"after": 1.0,
"delta": 0.071,
"percent_delta": 0.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.195,
"after": 1.0,
"delta": 0.805,
"percent_delta": 4.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.378,
"after": 0.3907,
"delta": 0.0127,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.655,
"after": 1.0,
"delta": 0.345,
"percent_delta": 0.5267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.637,
"after": 3.0,
"delta": 2.363,
"percent_delta": 3.7096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.497,
"after": 0.519,
"delta": 0.022,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.044,
"after": 1.0,
"delta": -0.044,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 8,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.637,
"after": 3.0,
"delta": 2.363,
"percent_delta": 3.7096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.584,
"after": 0.0,
"delta": -0.584,
"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.150 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 3.416 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.584 | - |
| predicted_H | 0.929 | - |
| predicted_HR | 0.195 | - |
| predicted_OBP | 0.378 | - |
| predicted_R | 0.655 | - |
| predicted_RBI | 0.637 | - |
| predicted_SLG | 0.497 | - |
| predicted_SO | 1.044 | - |
Final model 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.009 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 3.424 | 0.008 |
| predicted_AVG | 0.273 | 0.001 |
| predicted_BB | 0.628 | 0.044 |
| predicted_H | 0.933 | 0.004 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.211 | 0.016 |
| predicted_OBP | 0.385 | 0.007 |
| predicted_R | 0.683 | 0.028 |
| predicted_RBI | 0.652 | 0.015 |
| predicted_SLG | 0.512 | 0.015 |
| predicted_SO | 1.106 | 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.159 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.424 | 0.000 |
| predicted_AVG | 0.278 | 0.005 |
| predicted_BB | 0.635 | 0.007 |
| predicted_H | 0.951 | 0.018 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.212 | 0.002 |
| predicted_OBP | 0.391 | 0.006 |
| predicted_R | 0.709 | 0.025 |
| predicted_RBI | 0.676 | 0.024 |
| predicted_SLG | 0.519 | 0.007 |
| predicted_SO | 1.094 | -0.013 |
AB rounded to 3 (raw=3.42), rates preserved: AVG=0.278 HR/AB=0.062
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.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 | 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 | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| H | 1.000 | 0.000 |
| HR | 1.000 | 1.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.015 |
| predicted_AB | 3.000 | -0.424 |
| predicted_AVG | 0.278 | 0.000 |
| predicted_BB | 1.000 | 0.365 |
| predicted_H | 1.000 | 0.049 |
| predicted_HR | 0.000 | -0.212 |
| predicted_OBP | 0.395 | 0.004 |
| predicted_R | 1.000 | 0.291 |
| predicted_RBI | 1.000 | 0.324 |
| predicted_SLG | 0.519 | 0.000 |
| predicted_SO | 1.000 | -0.094 |
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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 2.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 | 4.000 | 1.000 | 0.000 | 2.000 | 4.000 | 5.000 | 4.000 | 9.000 | 0.2353 | 0.3810 | 0.6471 | 0.2353 | 0.1177 | 0.2353 | 0.2353 | 0.5294 |
| last_10 | 0.20 | 10 | - | 34.000 | 11.000 | 2.000 | 0.000 | 2.000 | 7.000 | 7.000 | 10.000 | 11.000 | 0.3235 | 0.4773 | 0.5588 | 0.3235 | 0.0588 | 0.2059 | 0.2941 | 0.3235 |
| season | 0.60 | 113 | - | 386.000 | 105.000 | 17.000 | 2.000 | 22.000 | 72.000 | 74.000 | 66.000 | 118.000 | 0.2720 | 0.3807 | 0.4974 | 0.2720 | 0.0570 | 0.1865 | 0.1710 | 0.3057 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1710 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.4340 |
| predicted_AVG | 0.2733 |
| predicted_BB | 0.6860 |
| predicted_H | 0.9380 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.2310 |
| predicted_OBP | 0.3942 |
| predicted_R | 0.7210 |
| predicted_RBI | 0.6720 |
| predicted_SLG | 0.5315 |
| predicted_SO | 1.1880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.1710 | 0.1591 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0150 | model_form_blend |
| predicted_AB | 3.4160 | 3.4340 | 3.4238 | model_form_blend |
| predicted_AVG | 0.2720 | 0.2733 | 0.2726 | model_form_blend |
| predicted_BB | 0.5840 | 0.6860 | 0.6281 | model_form_blend |
| predicted_H | 0.9290 | 0.9380 | 0.9329 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1950 | 0.2310 | 0.2106 | model_form_blend |
| predicted_OBP | 0.3780 | 0.3942 | 0.3850 | model_form_blend |
| predicted_R | 0.6550 | 0.7210 | 0.6835 | model_form_blend |
| predicted_RBI | 0.6370 | 0.6720 | 0.6521 | model_form_blend |
| predicted_SLG | 0.4970 | 0.5315 | 0.5119 | model_form_blend |
| predicted_SO | 1.0440 | 1.1880 | 1.1062 | 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 | 457 |
| Season rows before report date | 457 |
| Report year | 2026 |
| Profile rows used | 113 |
| 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 | 1 |
| R | 1 |
| RBI | 3 |
| 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.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| 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-1B |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 641343 |
| playerID | 641343 |
| playerName | Jake Bauers |
| pos | 1B |
| started | True |
| startingPosition | RF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-22 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 14.7 |
| sl_woba | 0.385 |
| sl_xwoba | 0.372 |
| sl_xba | 0.259 |
| sl_xslg | 0.483 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 14.2 |
| sl_hard_hit_percent | 53.1 |
| sl_exit_velocity_avg | 92.5 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 27.9 |
| sl_swing_percent | 41.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.153 | 0.000 | 0.000 | Hitting_2B | 0.158 | 1.000 | -0.158 | -1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 4.710 | 4.000 | 5.000 | Hitting_AB | 3.955 | 4.000 | 0.045 | 0.000 |
| predicted_AVG | 0.346 | 0.250 | 0.200 | Hitting_AVG | 0.263 | 0.500 | -0.013 | -0.250 |
| predicted_BB | 0.398 | 0.000 | 1.000 | Hitting_BB | 0.436 | 0.000 | -0.436 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.630 | 1.000 | 1.000 | Hitting_H | 1.039 | 2.000 | -0.039 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.373 | 0.250 | 0.333 | Hitting_OBP | 0.337 | 0.500 | -0.087 | -0.250 |
| predicted_R | 0.525 | 1.000 | 1.000 | Hitting_R | 0.564 | 1.000 | 0.436 | 0.000 |
| predicted_RBI | 0.630 | 0.000 | 1.000 | Hitting_RBI | 0.574 | 1.000 | -0.574 | -1.000 |
| predicted_SLG | 0.453 | 0.250 | 0.200 | Hitting_SLG | 0.387 | 0.750 | -0.137 | -0.500 |
| predicted_SO | 0.593 | 2.000 | 1.000 | Hitting_SO | 0.602 | 0.000 | 1.398 | 2.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.5930 -> 2.0000 (boost 1.4070, worse) |
| Biggest Deboost | predicted_AB: 4.7100 -> 4.0000 (deboost -0.7100, 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 | 0 | 4 | 0 | 4 | - | predicted_AB: 4.7100 -> 4.3352 (deboost -0.3748, 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 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3746 -> 0.3978 (boost 0.0232, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 4.3352 -> 5.0000 (boost 0.6648, better) | predicted_BB: 0.4415 -> 0.0000 (deboost -0.4415, worse) | AB rounded to 5 (raw=4.71), rates preserved: AVG=0.310 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5730 -> 1.0000 (boost 0.4270, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 5 | 1 | 4 | 1 | 4 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, 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 |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 0 | 4 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4140 -> 0.4498 (boost 0.0358, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"team": "MIL",
"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.008,
"predicted_AB": 4.71,
"predicted_AVG": 0.346,
"predicted_BB": 0.398,
"predicted_H": 1.63,
"predicted_HR": 0.11,
"predicted_OBP": 0.373,
"predicted_R": 0.525,
"predicted_RBI": 0.63,
"predicted_SLG": 0.453,
"predicted_SO": 0.593
},
"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.1769,
"predicted_3B": 0.0071,
"predicted_AB": 4.3352,
"predicted_AVG": 0.3281,
"predicted_BB": 0.4366,
"predicted_H": 1.4313,
"predicted_HBP": 0.021,
"predicted_HR": 0.0992,
"predicted_OBP": 0.3746,
"predicted_R": 0.5528,
"predicted_RBI": 0.6157,
"predicted_SLG": 0.4421,
"predicted_SO": 0.5678
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.1769,
"delta": 0.0239,
"percent_delta": 0.1562,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0071,
"delta": -0.0009,
"percent_delta": -0.1125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.71,
"after": 4.3352,
"delta": -0.3748,
"percent_delta": -0.0796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.346,
"after": 0.3281,
"delta": -0.0179,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.398,
"after": 0.4366,
"delta": 0.0386,
"percent_delta": 0.097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.63,
"after": 1.4313,
"delta": -0.1987,
"percent_delta": -0.1219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0992,
"delta": -0.0108,
"percent_delta": -0.0982,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.3746,
"delta": 0.0016,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.525,
"after": 0.5528,
"delta": 0.0278,
"percent_delta": 0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.6157,
"delta": -0.0143,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4421,
"delta": -0.0109,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.593,
"after": 0.5678,
"delta": -0.0252,
"percent_delta": -0.0425,
"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": 4.71,
"after": 4.3352,
"delta": -0.3748,
"percent_delta": -0.0796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1769,
"predicted_3B": 0.0071,
"predicted_AB": 4.3352,
"predicted_AVG": 0.3365,
"predicted_BB": 0.4415,
"predicted_H": 1.4588,
"predicted_HBP": 0.021,
"predicted_HR": 0.1,
"predicted_OBP": 0.3978,
"predicted_R": 0.573,
"predicted_RBI": 0.6382,
"predicted_SLG": 0.4498,
"predicted_SO": 0.5614
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1769,
"after": 0.1769,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0071,
"after": 0.0071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3352,
"after": 4.3352,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3281,
"after": 0.3365,
"delta": 0.0084,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4366,
"after": 0.4415,
"delta": 0.0049,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4313,
"after": 1.4588,
"delta": 0.0275,
"percent_delta": 0.0192,
"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.0992,
"after": 0.1,
"delta": 0.0008,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3746,
"after": 0.3978,
"delta": 0.0232,
"percent_delta": 0.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5528,
"after": 0.573,
"delta": 0.0202,
"percent_delta": 0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6157,
"after": 0.6382,
"delta": 0.0225,
"percent_delta": 0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4421,
"after": 0.4498,
"delta": 0.0077,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5678,
"after": 0.5614,
"delta": -0.0064,
"percent_delta": -0.0113,
"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.3746,
"after": 0.3978,
"delta": 0.0232,
"percent_delta": 0.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.71), rates preserved: AVG=0.310 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1769,
"after": 0.0,
"delta": -0.1769,
"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": 4.3352,
"after": 5.0,
"delta": 0.6648,
"percent_delta": 0.1533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4415,
"after": 0.0,
"delta": -0.4415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4588,
"after": 2.0,
"delta": 0.5412,
"percent_delta": 0.371,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6382,
"after": 1.0,
"delta": 0.3618,
"percent_delta": 0.5669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5614,
"after": 1.0,
"delta": 0.4386,
"percent_delta": 0.7813,
"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": 4.3352,
"after": 5.0,
"delta": 0.6648,
"percent_delta": 0.1533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4415,
"after": 0.0,
"delta": -0.4415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"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": 5.0,
"after": 5.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": 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_R",
"before": 0.573,
"after": 1.0,
"delta": 0.427,
"percent_delta": 0.7452,
"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.573,
"after": 1.0,
"delta": 0.427,
"percent_delta": 0.7452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 5.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.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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "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_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_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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"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": 5.0,
"predicted_AVG": 0.31,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.374,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.414,
"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.3365,
"after": 0.31,
"delta": -0.0265,
"percent_delta": -0.0788,
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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.3978,
"after": 0.374,
"delta": -0.0238,
"percent_delta": -0.0598,
"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.4498,
"after": 0.414,
"delta": -0.0358,
"percent_delta": -0.0796,
"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_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"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": 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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.3365,
"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.3978,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4498,
"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.31,
"after": 0.3365,
"delta": 0.0265,
"percent_delta": 0.0855,
"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.374,
"after": 0.3978,
"delta": 0.0238,
"percent_delta": 0.0637,
"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.414,
"after": 0.4498,
"delta": 0.0358,
"percent_delta": 0.0865,
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.4498,
"delta": 0.0358,
"percent_delta": 0.0865,
"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.153,
"after": 0.0,
"delta": -0.153,
"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": 4.71,
"after": 4.0,
"delta": -0.71,
"percent_delta": -0.1507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.346,
"after": 0.3365,
"delta": -0.0095,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.398,
"after": 0.0,
"delta": -0.398,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.63,
"after": 1.0,
"delta": -0.63,
"percent_delta": -0.3865,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.3978,
"delta": 0.0248,
"percent_delta": 0.0665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.525,
"after": 1.0,
"delta": 0.475,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4498,
"delta": -0.0032,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.593,
"after": 2.0,
"delta": 1.407,
"percent_delta": 2.3727,
"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.593,
"after": 2.0,
"delta": 1.407,
"percent_delta": 2.3727,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.71,
"after": 4.0,
"delta": -0.71,
"percent_delta": -0.1507,
"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.153 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 4.710 | - |
| predicted_AVG | 0.346 | - |
| predicted_BB | 0.398 | - |
| predicted_H | 1.630 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.373 | - |
| predicted_R | 0.525 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.453 | - |
| predicted_SO | 0.593 | - |
Final model 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.177 | 0.024 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 4.335 | -0.375 |
| predicted_AVG | 0.328 | -0.018 |
| predicted_BB | 0.437 | 0.039 |
| predicted_H | 1.431 | -0.199 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.099 | -0.011 |
| predicted_OBP | 0.375 | 0.002 |
| predicted_R | 0.553 | 0.028 |
| predicted_RBI | 0.616 | -0.014 |
| predicted_SLG | 0.442 | -0.011 |
| predicted_SO | 0.568 | -0.025 |
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.177 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 4.335 | 0.000 |
| predicted_AVG | 0.337 | 0.008 |
| predicted_BB | 0.442 | 0.005 |
| predicted_H | 1.459 | 0.028 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.100 | 0.001 |
| predicted_OBP | 0.398 | 0.023 |
| predicted_R | 0.573 | 0.020 |
| predicted_RBI | 0.638 | 0.022 |
| predicted_SLG | 0.450 | 0.008 |
| predicted_SO | 0.561 | -0.006 |
AB rounded to 5 (raw=4.71), rates preserved: AVG=0.310 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 2.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 | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | -1.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.177 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 5.000 | 0.665 |
| predicted_AVG | 0.310 | -0.027 |
| predicted_BB | 0.000 | -0.442 |
| predicted_H | 2.000 | 0.541 |
| predicted_HR | 0.000 | -0.100 |
| predicted_OBP | 0.374 | -0.024 |
| predicted_R | 1.000 | 0.427 |
| predicted_RBI | 1.000 | 0.362 |
| predicted_SLG | 0.414 | -0.036 |
| predicted_SO | 1.000 | 0.439 |
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 | -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 | -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 | 9.000 | 2.000 | 0.000 | 0.000 | 4.000 | 4.000 | 3.000 | 2.000 | 0.4500 | 0.5000 | 0.5500 | 0.4500 | 0.0000 | 0.2000 | 0.1500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 2.000 | 0.000 | 1.000 | 6.000 | 6.000 | 7.000 | 4.000 | 0.2973 | 0.4000 | 0.4324 | 0.2973 | 0.0270 | 0.1622 | 0.1892 | 0.1081 |
| season | 0.60 | 118 | - | 454.000 | 120.000 | 18.000 | 1.000 | 12.000 | 64.000 | 62.000 | 47.000 | 70.000 | 0.2643 | 0.3346 | 0.3877 | 0.2643 | 0.0264 | 0.1410 | 0.1035 | 0.1542 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2080 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.8460 |
| predicted_AVG | 0.3047 |
| predicted_BB | 0.4870 |
| predicted_H | 1.1720 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0850 |
| predicted_OBP | 0.3766 |
| predicted_R | 0.5890 |
| predicted_RBI | 0.5970 |
| predicted_SLG | 0.4279 |
| predicted_SO | 0.5350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1530 | 0.2080 | 0.1769 | model_form_blend |
| predicted_3B | 0.0080 | 0.0060 | 0.0071 | model_form_blend |
| predicted_AB | 4.7100 | 3.8460 | 4.3352 | model_form_blend |
| predicted_AVG | 0.3460 | 0.3047 | 0.3281 | model_form_blend |
| predicted_BB | 0.3980 | 0.4870 | 0.4366 | model_form_blend |
| predicted_H | 1.6300 | 1.1720 | 1.4313 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.1100 | 0.0850 | 0.0992 | model_form_blend |
| predicted_OBP | 0.3730 | 0.3766 | 0.3746 | model_form_blend |
| predicted_R | 0.5250 | 0.5890 | 0.5528 | model_form_blend |
| predicted_RBI | 0.6300 | 0.5970 | 0.6157 | model_form_blend |
| predicted_SLG | 0.4530 | 0.4279 | 0.4421 | model_form_blend |
| predicted_SO | 0.5930 | 0.5350 | 0.5678 | 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 | 507 |
| Season rows before report date | 507 |
| 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 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.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| 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 | 3 |
| 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 | C |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 661388 |
| playerID | 661388 |
| playerName | William Contreras |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-22 |
| sl_k_percent | 13.7 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.319 |
| sl_xwoba | 0.336 |
| sl_xba | 0.263 |
| sl_xslg | 0.44 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 43.9 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 20.3 |
| 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.239 | 0.000 | 1.000 | Hitting_2B | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 4.970 | 4.000 | 5.000 | Hitting_AB | 4.002 | 4.000 | -0.002 | 0.000 |
| predicted_AVG | 0.225 | 0.500 | 0.200 | Hitting_AVG | 0.274 | 0.000 | 0.226 | 0.500 |
| predicted_BB | 0.556 | 0.000 | 1.000 | Hitting_BB | 0.564 | 0.000 | -0.564 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 1.120 | 2.000 | 1.000 | Hitting_H | 1.095 | 0.000 | 0.905 | 2.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.144 | 0.000 | -0.144 | 0.000 |
| predicted_OBP | 0.319 | 0.500 | 0.333 | Hitting_OBP | 0.362 | 0.000 | 0.138 | 0.500 |
| predicted_R | 0.658 | 1.000 | 1.000 | Hitting_R | 0.693 | 0.000 | 0.307 | 1.000 |
| predicted_RBI | 0.560 | 1.000 | 1.000 | Hitting_RBI | 0.723 | 0.000 | 0.277 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_SLG | 0.348 | 0.500 | 0.400 | Hitting_SLG | 0.463 | 0.000 | 0.037 | 0.500 |
| predicted_SO | 1.111 | 1.000 | 1.000 | Hitting_SO | 1.097 | 2.000 | -0.097 | -1.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 | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.1200 -> 2.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_AB: 4.9700 -> 4.0000 (deboost -0.9700, 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 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.9700 -> 4.5171 (deboost -0.4529, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3452 -> 0.3517 (boost 0.0065, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 4 | 2 | predicted_AB: 4.5171 -> 5.0000 (boost 0.4829, better) | predicted_2B: 0.2143 -> 0.0000 (deboost -0.2143, worse) | AB rounded to 5 (raw=4.97), rates preserved: AVG=0.208 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6605 -> 1.0000 (boost 0.3395, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3200 -> 0.3517 (boost 0.0317, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668930",
"player_name": "Brice Turang",
"position": "2B",
"team": "MIL",
"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.239,
"predicted_3B": 0.026,
"predicted_AB": 4.97,
"predicted_AVG": 0.225,
"predicted_BB": 0.556,
"predicted_H": 1.12,
"predicted_HR": 0.11,
"predicted_OBP": 0.319,
"predicted_R": 0.658,
"predicted_RBI": 0.56,
"predicted_SLG": 0.348,
"predicted_SO": 1.111
},
"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.2143,
"predicted_3B": 0.0212,
"predicted_AB": 4.5171,
"predicted_AVG": 0.2238,
"predicted_BB": 0.5482,
"predicted_H": 1.0128,
"predicted_HBP": 0.002,
"predicted_HR": 0.0991,
"predicted_OBP": 0.3176,
"predicted_R": 0.6372,
"predicted_RBI": 0.5201,
"predicted_SLG": 0.3452,
"predicted_SO": 1.1014
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.2143,
"delta": -0.0247,
"percent_delta": -0.1033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0212,
"delta": -0.0048,
"percent_delta": -0.1846,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.97,
"after": 4.5171,
"delta": -0.4529,
"percent_delta": -0.0911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2238,
"delta": -0.0012,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 0.5482,
"delta": -0.0078,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.0128,
"delta": -0.1072,
"percent_delta": -0.0957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0991,
"delta": -0.0109,
"percent_delta": -0.0991,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3176,
"delta": -0.0014,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.658,
"after": 0.6372,
"delta": -0.0208,
"percent_delta": -0.0316,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5201,
"delta": -0.0399,
"percent_delta": -0.0713,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3452,
"delta": -0.0028,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.111,
"after": 1.1014,
"delta": -0.0096,
"percent_delta": -0.0086,
"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_AB",
"before": 4.97,
"after": 4.5171,
"delta": -0.4529,
"percent_delta": -0.0911,
"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.2143,
"predicted_3B": 0.0212,
"predicted_AB": 4.5171,
"predicted_AVG": 0.2285,
"predicted_BB": 0.5544,
"predicted_H": 1.0322,
"predicted_HBP": 0.002,
"predicted_HR": 0.0999,
"predicted_OBP": 0.3129,
"predicted_R": 0.6605,
"predicted_RBI": 0.5391,
"predicted_SLG": 0.3517,
"predicted_SO": 1.089
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2143,
"after": 0.2143,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0212,
"after": 0.0212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5171,
"after": 4.5171,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2238,
"after": 0.2285,
"delta": 0.0047,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5482,
"after": 0.5544,
"delta": 0.0062,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0128,
"after": 1.0322,
"delta": 0.0194,
"percent_delta": 0.0192,
"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.0991,
"after": 0.0999,
"delta": 0.0008,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3176,
"after": 0.3129,
"delta": -0.0047,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6372,
"after": 0.6605,
"delta": 0.0233,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5201,
"after": 0.5391,
"delta": 0.019,
"percent_delta": 0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3452,
"after": 0.3517,
"delta": 0.0065,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1014,
"after": 1.089,
"delta": -0.0124,
"percent_delta": -0.0113,
"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_SLG",
"before": 0.3452,
"after": 0.3517,
"delta": 0.0065,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.97), rates preserved: AVG=0.208 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.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.2143,
"after": 0.0,
"delta": -0.2143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0212,
"after": 0.0,
"delta": -0.0212,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5171,
"after": 5.0,
"delta": 0.4829,
"percent_delta": 0.1069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5544,
"after": 1.0,
"delta": 0.4456,
"percent_delta": 0.8038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0322,
"after": 1.0,
"delta": -0.0322,
"percent_delta": -0.0312,
"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.0999,
"after": 0.0,
"delta": -0.0999,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5391,
"after": 1.0,
"delta": 0.4609,
"percent_delta": 0.8549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.089,
"after": 1.0,
"delta": -0.089,
"percent_delta": -0.0817,
"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_AB",
"before": 4.5171,
"after": 5.0,
"delta": 0.4829,
"percent_delta": 0.1069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2143,
"after": 0.0,
"delta": -0.2143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_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_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.6605,
"after": 1.0,
"delta": 0.3395,
"percent_delta": 0.514,
"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.6605,
"after": 1.0,
"delta": 0.3395,
"percent_delta": 0.514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 5.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.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": 5.0,
"after": 5.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_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_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_2B",
"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": 7,
"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": 5.0,
"predicted_AVG": 0.208,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.32,
"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": 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.2285,
"after": 0.208,
"delta": -0.0205,
"percent_delta": -0.0897,
"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.3129,
"after": 0.293,
"delta": -0.0199,
"percent_delta": -0.0636,
"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.3517,
"after": 0.32,
"delta": -0.0317,
"percent_delta": -0.0901,
"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": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"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": 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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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_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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.2285,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3129,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3517,
"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.208,
"after": 0.2285,
"delta": 0.0205,
"percent_delta": 0.0987,
"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.293,
"after": 0.3129,
"delta": 0.0199,
"percent_delta": 0.0678,
"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.32,
"after": 0.3517,
"delta": 0.0317,
"percent_delta": 0.0991,
"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.32,
"after": 0.3517,
"delta": 0.0317,
"percent_delta": 0.0991,
"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.239,
"after": 0.0,
"delta": -0.239,
"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.97,
"after": 4.0,
"delta": -0.97,
"percent_delta": -0.1952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2285,
"delta": 0.0035,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 2.0,
"delta": 0.88,
"percent_delta": 0.7857,
"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.319,
"after": 0.3129,
"delta": -0.0061,
"percent_delta": -0.0191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.658,
"after": 1.0,
"delta": 0.342,
"percent_delta": 0.5198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3517,
"delta": 0.0037,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.111,
"after": 1.0,
"delta": -0.111,
"percent_delta": -0.0999,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.12,
"after": 2.0,
"delta": 0.88,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.97,
"after": 4.0,
"delta": -0.97,
"percent_delta": -0.1952,
"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.239 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 4.970 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.556 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.658 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.348 | - |
| predicted_SO | 1.111 | - |
Final model 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.214 | -0.025 |
| predicted_3B | 0.021 | -0.005 |
| predicted_AB | 4.517 | -0.453 |
| predicted_AVG | 0.224 | -0.001 |
| predicted_BB | 0.548 | -0.008 |
| predicted_H | 1.013 | -0.107 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.099 | -0.011 |
| predicted_OBP | 0.318 | -0.001 |
| predicted_R | 0.637 | -0.021 |
| predicted_RBI | 0.520 | -0.040 |
| predicted_SLG | 0.345 | -0.003 |
| predicted_SO | 1.101 | -0.010 |
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.214 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 4.517 | 0.000 |
| predicted_AVG | 0.229 | 0.005 |
| predicted_BB | 0.554 | 0.006 |
| predicted_H | 1.032 | 0.019 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.100 | 0.001 |
| predicted_OBP | 0.313 | -0.005 |
| predicted_R | 0.660 | 0.023 |
| predicted_RBI | 0.539 | 0.019 |
| predicted_SLG | 0.352 | 0.007 |
| predicted_SO | 1.089 | -0.012 |
AB rounded to 5 (raw=4.97), rates preserved: AVG=0.208 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.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 | 5.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 | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.214 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 5.000 | 0.483 |
| predicted_AVG | 0.208 | -0.021 |
| predicted_BB | 1.000 | 0.446 |
| predicted_H | 1.000 | -0.032 |
| predicted_HR | 0.000 | -0.100 |
| predicted_OBP | 0.293 | -0.020 |
| predicted_R | 1.000 | 0.340 |
| predicted_RBI | 1.000 | 0.461 |
| predicted_SLG | 0.320 | -0.032 |
| predicted_SO | 1.000 | -0.089 |
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 | -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 | 0.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 | - | 19.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 4.000 | 0.1053 | 0.2273 | 0.1053 | 0.1053 | 0.0000 | 0.0000 | 0.1579 | 0.2105 |
| last_10 | 0.20 | 10 | - | 41.000 | 8.000 | 2.000 | 0.000 | 0.000 | 4.000 | 5.000 | 5.000 | 14.000 | 0.1951 | 0.2826 | 0.2439 | 0.1951 | 0.0000 | 0.0976 | 0.1220 | 0.3415 |
| season | 0.60 | 117 | - | 459.000 | 123.000 | 28.000 | 3.000 | 16.000 | 76.000 | 77.000 | 65.000 | 130.000 | 0.2680 | 0.3574 | 0.4466 | 0.2680 | 0.0349 | 0.1656 | 0.1416 | 0.2832 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1820 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.9270 |
| predicted_AVG | 0.2223 |
| predicted_BB | 0.5380 |
| predicted_H | 0.8730 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0850 |
| predicted_OBP | 0.3158 |
| predicted_R | 0.6100 |
| predicted_RBI | 0.4680 |
| predicted_SLG | 0.3416 |
| predicted_SO | 1.0890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2390 | 0.1820 | 0.2143 | model_form_blend |
| predicted_3B | 0.0260 | 0.0150 | 0.0212 | model_form_blend |
| predicted_AB | 4.9700 | 3.9270 | 4.5171 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2223 | 0.2238 | model_form_blend |
| predicted_BB | 0.5560 | 0.5380 | 0.5482 | model_form_blend |
| predicted_H | 1.1200 | 0.8730 | 1.0128 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1100 | 0.0850 | 0.0991 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3158 | 0.3176 | model_form_blend |
| predicted_R | 0.6580 | 0.6100 | 0.6372 | model_form_blend |
| predicted_RBI | 0.5600 | 0.4680 | 0.5201 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3416 | 0.3452 | model_form_blend |
| predicted_SO | 1.1110 | 1.0890 | 1.1014 | 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 | 535 |
| Season rows before report date | 535 |
| 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 | 4 |
| 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 | 2B |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 668930 |
| playerID | 668930 |
| playerName | Brice Turang |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-22 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 12.7 |
| sl_woba | 0.345 |
| sl_xwoba | 0.342 |
| sl_xba | 0.256 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 8.5 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 43.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.234 | 0.000 | 1.000 | Hitting_2B | 0.262 | 0.000 | -0.262 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.520 | 3.000 | 5.000 | Hitting_AB | 4.236 | 3.000 | -1.236 | 0.000 |
| predicted_AVG | 0.239 | 0.000 | 0.200 | Hitting_AVG | 0.288 | 0.000 | -0.288 | 0.000 |
| predicted_BB | 0.394 | 1.000 | 1.000 | Hitting_BB | 0.398 | 1.000 | 0.602 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 1.080 | 0.000 | 1.000 | Hitting_H | 1.219 | 0.000 | -1.219 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_OBP | 0.345 | 0.250 | 0.333 | Hitting_OBP | 0.351 | 0.250 | -0.101 | 0.000 |
| predicted_R | 0.681 | 1.000 | 1.000 | Hitting_R | 0.743 | 0.000 | 0.257 | 1.000 |
| predicted_RBI | 0.470 | 0.000 | 1.000 | Hitting_RBI | 0.574 | 0.000 | -0.574 | 0.000 |
| predicted_SLG | 0.423 | 0.000 | 0.400 | Hitting_SLG | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_SO | 1.117 | 1.000 | 1.000 | Hitting_SO | 1.157 | 1.000 | -0.157 | 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_BB: 0.3940 -> 1.0000 (boost 0.6060, better) |
| Biggest Deboost | predicted_AB: 4.5200 -> 3.0000 (deboost -1.5200, 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_AVG: 0.2390 -> 0.2602 (boost 0.0212, better) | predicted_AB: 4.5200 -> 4.2839 (deboost -0.2361, 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.3520 -> 0.3296 (deboost -0.0224, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 4.2839 -> 5.0000 (boost 0.7161, better) | predicted_BB: 0.4220 -> 0.0000 (deboost -0.4220, worse) | AB rounded to 5 (raw=4.52), rates preserved: AVG=0.250 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6684 -> 1.0000 (boost 0.3316, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 5 | 0 | 5 | 0 | 5 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2500 -> 0.2636 (boost 0.0136, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"team": "MIL",
"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.234,
"predicted_3B": 0.0,
"predicted_AB": 4.52,
"predicted_AVG": 0.239,
"predicted_BB": 0.394,
"predicted_H": 1.08,
"predicted_HR": 0.13,
"predicted_OBP": 0.345,
"predicted_R": 0.681,
"predicted_RBI": 0.47,
"predicted_SLG": 0.423,
"predicted_SO": 1.117
},
"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.209,
"predicted_3B": 0.0004,
"predicted_AB": 4.2839,
"predicted_AVG": 0.2602,
"predicted_BB": 0.4173,
"predicted_H": 1.108,
"predicted_HBP": 0.014,
"predicted_HR": 0.1201,
"predicted_OBP": 0.352,
"predicted_R": 0.6448,
"predicted_RBI": 0.4398,
"predicted_SLG": 0.4192,
"predicted_SO": 1.0886
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.209,
"delta": -0.025,
"percent_delta": -0.1068,
"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.52,
"after": 4.2839,
"delta": -0.2361,
"percent_delta": -0.0522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2602,
"delta": 0.0212,
"percent_delta": 0.0887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.4173,
"delta": 0.0233,
"percent_delta": 0.0591,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.108,
"delta": 0.028,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1201,
"delta": -0.0099,
"percent_delta": -0.0762,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.352,
"delta": 0.007,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.681,
"after": 0.6448,
"delta": -0.0362,
"percent_delta": -0.0532,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4398,
"delta": -0.0302,
"percent_delta": -0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4192,
"delta": -0.0038,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.117,
"after": 1.0886,
"delta": -0.0284,
"percent_delta": -0.0254,
"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.239,
"after": 0.2602,
"delta": 0.0212,
"percent_delta": 0.0887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.52,
"after": 4.2839,
"delta": -0.2361,
"percent_delta": -0.0522,
"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": 94
}
},
{
"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.209,
"predicted_3B": 0.0004,
"predicted_AB": 4.2839,
"predicted_AVG": 0.2636,
"predicted_BB": 0.422,
"predicted_H": 1.1293,
"predicted_HBP": 0.014,
"predicted_HR": 0.1211,
"predicted_OBP": 0.3296,
"predicted_R": 0.6684,
"predicted_RBI": 0.4559,
"predicted_SLG": 0.3974,
"predicted_SO": 1.0763
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.209,
"after": 0.209,
"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.2839,
"after": 4.2839,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2602,
"after": 0.2636,
"delta": 0.0034,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4173,
"after": 0.422,
"delta": 0.0047,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.108,
"after": 1.1293,
"delta": 0.0213,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1201,
"after": 0.1211,
"delta": 0.001,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3296,
"delta": -0.0224,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6448,
"after": 0.6684,
"delta": 0.0236,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4398,
"after": 0.4559,
"delta": 0.0161,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4192,
"after": 0.3974,
"delta": -0.0218,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0886,
"after": 1.0763,
"delta": -0.0123,
"percent_delta": -0.0113,
"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.352,
"after": 0.3296,
"delta": -0.0224,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.52), rates preserved: AVG=0.250 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.209,
"after": 0.0,
"delta": -0.209,
"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.2839,
"after": 5.0,
"delta": 0.7161,
"percent_delta": 0.1672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1293,
"after": 1.0,
"delta": -0.1293,
"percent_delta": -0.1145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1211,
"after": 0.0,
"delta": -0.1211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4559,
"after": 1.0,
"delta": 0.5441,
"percent_delta": 1.1935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0763,
"after": 1.0,
"delta": -0.0763,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.2839,
"after": 5.0,
"delta": 0.7161,
"percent_delta": 0.1672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.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": 5.0,
"after": 5.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.6684,
"after": 1.0,
"delta": 0.3316,
"percent_delta": 0.4961,
"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.6684,
"after": 1.0,
"delta": 0.3316,
"percent_delta": 0.4961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 5.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.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": 5.0,
"after": 5.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_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_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_2B",
"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": 7,
"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": 5.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.319,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.385,
"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": 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.2636,
"after": 0.25,
"delta": -0.0136,
"percent_delta": -0.0516,
"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.3296,
"after": 0.319,
"delta": -0.0106,
"percent_delta": -0.0322,
"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.3974,
"after": 0.385,
"delta": -0.0124,
"percent_delta": -0.0312,
"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_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": 8,
"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": 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": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"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": 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": 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": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.2636,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3296,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3974,
"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.25,
"after": 0.2636,
"delta": 0.0136,
"percent_delta": 0.0544,
"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.319,
"after": 0.3296,
"delta": 0.0106,
"percent_delta": 0.0334,
"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.385,
"after": 0.3974,
"delta": 0.0124,
"percent_delta": 0.0322,
"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.25,
"after": 0.2636,
"delta": 0.0136,
"percent_delta": 0.0544,
"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.234,
"after": 0.0,
"delta": -0.234,
"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.52,
"after": 3.0,
"delta": -1.52,
"percent_delta": -0.3363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2636,
"delta": 0.0246,
"percent_delta": 0.1029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 1.0,
"delta": 0.606,
"percent_delta": 1.5381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 0.0,
"delta": -1.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3296,
"delta": -0.0154,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.681,
"after": 1.0,
"delta": 0.319,
"percent_delta": 0.4684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.3974,
"delta": -0.0256,
"percent_delta": -0.0605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.117,
"after": 1.0,
"delta": -0.117,
"percent_delta": -0.1047,
"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_BB",
"before": 0.394,
"after": 1.0,
"delta": 0.606,
"percent_delta": 1.5381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.52,
"after": 3.0,
"delta": -1.52,
"percent_delta": -0.3363,
"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.234 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.520 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.394 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.681 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 1.117 | - |
Final model 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.209 | -0.025 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.284 | -0.236 |
| predicted_AVG | 0.260 | 0.021 |
| predicted_BB | 0.417 | 0.023 |
| predicted_H | 1.108 | 0.028 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.120 | -0.010 |
| predicted_OBP | 0.352 | 0.007 |
| predicted_R | 0.645 | -0.036 |
| predicted_RBI | 0.440 | -0.030 |
| predicted_SLG | 0.419 | -0.004 |
| predicted_SO | 1.089 | -0.028 |
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.209 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.284 | 0.000 |
| predicted_AVG | 0.264 | 0.003 |
| predicted_BB | 0.422 | 0.005 |
| predicted_H | 1.129 | 0.021 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.121 | 0.001 |
| predicted_OBP | 0.330 | -0.022 |
| predicted_R | 0.668 | 0.024 |
| predicted_RBI | 0.456 | 0.016 |
| predicted_SLG | 0.397 | -0.022 |
| predicted_SO | 1.076 | -0.012 |
AB rounded to 5 (raw=4.52), rates preserved: AVG=0.250 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.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 | 5.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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.209 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.716 |
| predicted_AVG | 0.250 | -0.014 |
| predicted_BB | 0.000 | -0.422 |
| predicted_H | 1.000 | -0.129 |
| predicted_HR | 0.000 | -0.121 |
| predicted_OBP | 0.319 | -0.011 |
| predicted_R | 1.000 | 0.332 |
| predicted_RBI | 1.000 | 0.544 |
| predicted_SLG | 0.385 | -0.012 |
| predicted_SO | 1.000 | -0.076 |
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 | 3.000 | -2.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 | 1.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 | - | 18.000 | 6.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 4.000 | 0.3333 | 0.4286 | 0.3333 | 0.3333 | 0.0000 | 0.0556 | 0.1667 | 0.2222 |
| last_10 | 0.20 | 10 | - | 40.000 | 11.000 | 2.000 | 0.000 | 0.000 | 2.000 | 6.000 | 5.000 | 12.000 | 0.2750 | 0.3556 | 0.3250 | 0.2750 | 0.0000 | 0.0500 | 0.1250 | 0.3000 |
| season | 0.60 | 94 | - | 386.000 | 109.000 | 22.000 | 0.000 | 17.000 | 50.000 | 64.000 | 37.000 | 105.000 | 0.2824 | 0.3474 | 0.4715 | 0.2824 | 0.0440 | 0.1295 | 0.0959 | 0.2720 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9720 |
| predicted_AVG | 0.2883 |
| predicted_BB | 0.4480 |
| predicted_H | 1.1450 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.1070 |
| predicted_OBP | 0.3613 |
| predicted_R | 0.5970 |
| predicted_RBI | 0.4000 |
| predicted_SLG | 0.4141 |
| predicted_SO | 1.0510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2340 | 0.1760 | 0.2090 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5200 | 3.9720 | 4.2839 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2883 | 0.2602 | model_form_blend |
| predicted_BB | 0.3940 | 0.4480 | 0.4173 | model_form_blend |
| predicted_H | 1.0800 | 1.1450 | 1.1080 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.1300 | 0.1070 | 0.1201 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3613 | 0.3520 | model_form_blend |
| predicted_R | 0.6810 | 0.5970 | 0.6448 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4000 | 0.4398 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4141 | 0.4192 | model_form_blend |
| predicted_SO | 1.1170 | 1.0510 | 1.0886 | 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 | 420 |
| Season rows before report date | 420 |
| Report year | 2026 |
| Profile rows used | 94 |
| 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 | 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 | 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 | 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 | LF |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 694192 |
| playerID | 694192 |
| playerName | Jackson Chourio |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-22 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.348 |
| sl_xwoba | 0.341 |
| sl_xba | 0.258 |
| sl_xslg | 0.475 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 13.2 |
| sl_hard_hit_percent | 47.0 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 47.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.203 | 1.000 | 0.000 | Hitting_2B | 0.227 | 0.000 | 0.773 | 1.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_AB | 2.924 | 3.000 | 3.000 | Hitting_AB | 3.249 | 2.000 | -0.249 | 1.000 |
| predicted_AVG | 0.318 | 0.333 | 0.333 | Hitting_AVG | 0.318 | 0.500 | 0.015 | -0.167 |
| predicted_BB | 0.354 | 0.000 | 0.000 | Hitting_BB | 0.431 | 1.000 | -0.431 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.820 | 1.000 | 1.000 | Hitting_H | 1.033 | 1.000 | -0.033 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.399 | 0.333 | 0.333 | Hitting_OBP | 0.406 | 0.667 | -0.073 | -0.333 |
| predicted_R | 0.367 | 1.000 | 0.000 | Hitting_R | 0.468 | 0.000 | 0.532 | 1.000 |
| predicted_RBI | 0.390 | 1.000 | 0.000 | Hitting_RBI | 0.506 | 0.000 | 0.494 | 1.000 |
| predicted_SLG | 0.412 | 0.667 | 0.333 | Hitting_SLG | 0.487 | 0.500 | 0.179 | 0.167 |
| predicted_SO | 0.506 | 2.000 | 0.000 | Hitting_SO | 0.565 | 0.000 | 1.435 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_SO: 0.5060 -> 2.0000 (boost 1.4940, worse) |
| Biggest Deboost | predicted_BB: 0.3540 -> 0.0000 (deboost -0.3540, 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 | 4 | 0 | 4 | 0 | predicted_H: 0.8200 -> 0.8973 (boost 0.0773, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4239 -> 0.4395 (boost 0.0156, better) | predicted_OBP: 0.4057 -> 0.3857 (deboost -0.0200, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_H: 0.9145 -> 1.0000 (boost 0.0855, better) | predicted_SO: 0.4807 -> 0.0000 (deboost -0.4807, better) | AB rounded to 3 (raw=2.95), rates preserved: AVG=0.310 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3834 -> 0.0000 (deboost -0.3834, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 1 | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683734",
"player_name": "Andrew Vaughn",
"position": "1B",
"team": "MIL",
"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.203,
"predicted_3B": 0.025,
"predicted_AB": 2.924,
"predicted_AVG": 0.318,
"predicted_BB": 0.354,
"predicted_H": 0.82,
"predicted_HR": 0.06,
"predicted_OBP": 0.399,
"predicted_R": 0.367,
"predicted_RBI": 0.39,
"predicted_SLG": 0.412,
"predicted_SO": 0.506
},
"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.1782,
"predicted_3B": 0.0208,
"predicted_AB": 2.9505,
"predicted_AVG": 0.3256,
"predicted_BB": 0.3595,
"predicted_H": 0.8973,
"predicted_HBP": 0.049,
"predicted_HR": 0.0537,
"predicted_OBP": 0.4057,
"predicted_R": 0.3699,
"predicted_RBI": 0.4224,
"predicted_SLG": 0.4239,
"predicted_SO": 0.4862
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.1782,
"delta": -0.0248,
"percent_delta": -0.1222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0208,
"delta": -0.0042,
"percent_delta": -0.168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.924,
"after": 2.9505,
"delta": 0.0265,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.318,
"after": 0.3256,
"delta": 0.0076,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.354,
"after": 0.3595,
"delta": 0.0055,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.8973,
"delta": 0.0773,
"percent_delta": 0.0943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0537,
"delta": -0.0063,
"percent_delta": -0.105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.399,
"after": 0.4057,
"delta": 0.0067,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.367,
"after": 0.3699,
"delta": 0.0029,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.4224,
"delta": 0.0324,
"percent_delta": 0.0831,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.412,
"after": 0.4239,
"delta": 0.0119,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.506,
"after": 0.4862,
"delta": -0.0198,
"percent_delta": -0.0391,
"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.82,
"after": 0.8973,
"delta": 0.0773,
"percent_delta": 0.0943,
"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": 79
}
},
{
"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.1782,
"predicted_3B": 0.0208,
"predicted_AB": 2.9505,
"predicted_AVG": 0.31,
"predicted_BB": 0.3636,
"predicted_H": 0.9145,
"predicted_HBP": 0.049,
"predicted_HR": 0.0542,
"predicted_OBP": 0.3857,
"predicted_R": 0.3834,
"predicted_RBI": 0.4379,
"predicted_SLG": 0.4395,
"predicted_SO": 0.4807
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1782,
"after": 0.1782,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0208,
"after": 0.0208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9505,
"after": 2.9505,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3256,
"after": 0.31,
"delta": -0.0156,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3595,
"after": 0.3636,
"delta": 0.0041,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8973,
"after": 0.9145,
"delta": 0.0172,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0537,
"after": 0.0542,
"delta": 0.0005,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4057,
"after": 0.3857,
"delta": -0.02,
"percent_delta": -0.0493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3699,
"after": 0.3834,
"delta": 0.0135,
"percent_delta": 0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4224,
"after": 0.4379,
"delta": 0.0155,
"percent_delta": 0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4239,
"after": 0.4395,
"delta": 0.0156,
"percent_delta": 0.0368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4862,
"after": 0.4807,
"delta": -0.0055,
"percent_delta": -0.0113,
"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.4239,
"after": 0.4395,
"delta": 0.0156,
"percent_delta": 0.0368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4057,
"after": 0.3857,
"delta": -0.02,
"percent_delta": -0.0493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.95), rates preserved: AVG=0.310 HR/AB=0.018",
"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.1782,
"after": 0.0,
"delta": -0.1782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0208,
"after": 0.0,
"delta": -0.0208,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9505,
"after": 3.0,
"delta": 0.0495,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3636,
"after": 0.0,
"delta": -0.3636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9145,
"after": 1.0,
"delta": 0.0855,
"percent_delta": 0.0935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0542,
"after": 0.0,
"delta": -0.0542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4379,
"after": 0.0,
"delta": -0.4379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4807,
"after": 0.0,
"delta": -0.4807,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9145,
"after": 1.0,
"delta": 0.0855,
"percent_delta": 0.0935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4807,
"after": 0.0,
"delta": -0.4807,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3834,
"after": 0.0,
"delta": -0.3834,
"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.3834,
"after": 0.0,
"delta": -0.3834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 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_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_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": 7,
"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.31,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.39,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.44,
"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.31,
"after": 0.31,
"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_OBP",
"before": 0.3857,
"after": 0.39,
"delta": 0.0043,
"percent_delta": 0.0111,
"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_SLG",
"before": 0.4395,
"after": 0.44,
"delta": 0.0005,
"percent_delta": 0.0011,
"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": 8,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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": 0.0,
"after": 2.0,
"delta": 2.0,
"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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.31,
"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.3857,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4395,
"predicted_SO": 2.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.31,
"after": 0.31,
"delta": -0.0,
"percent_delta": -0.0001,
"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.39,
"after": 0.3857,
"delta": -0.0043,
"percent_delta": -0.0111,
"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_SLG",
"before": 0.44,
"after": 0.4395,
"delta": -0.0005,
"percent_delta": -0.0011,
"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": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"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.318,
"after": 0.31,
"delta": -0.008,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.0,
"delta": 0.18,
"percent_delta": 0.2195,
"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.399,
"after": 0.3857,
"delta": -0.0133,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.367,
"after": 1.0,
"delta": 0.633,
"percent_delta": 1.7248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.412,
"after": 0.4395,
"delta": 0.0275,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.506,
"after": 2.0,
"delta": 1.494,
"percent_delta": 2.9526,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.506,
"after": 2.0,
"delta": 1.494,
"percent_delta": 2.9526,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 2.924 | - |
| predicted_AVG | 0.318 | - |
| predicted_BB | 0.354 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.399 | - |
| predicted_R | 0.367 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.412 | - |
| predicted_SO | 0.506 | - |
Final model 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.178 | -0.025 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 2.950 | 0.026 |
| predicted_AVG | 0.326 | 0.008 |
| predicted_BB | 0.359 | 0.006 |
| predicted_H | 0.897 | 0.077 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.054 | -0.006 |
| predicted_OBP | 0.406 | 0.007 |
| predicted_R | 0.370 | 0.003 |
| predicted_RBI | 0.422 | 0.032 |
| predicted_SLG | 0.424 | 0.012 |
| predicted_SO | 0.486 | -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.178 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 2.950 | 0.000 |
| predicted_AVG | 0.310 | -0.016 |
| predicted_BB | 0.364 | 0.004 |
| predicted_H | 0.914 | 0.017 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.054 | 0.001 |
| predicted_OBP | 0.386 | -0.020 |
| predicted_R | 0.383 | 0.014 |
| predicted_RBI | 0.438 | 0.016 |
| predicted_SLG | 0.440 | 0.016 |
| predicted_SO | 0.481 | -0.006 |
AB rounded to 3 (raw=2.95), rates preserved: AVG=0.310 HR/AB=0.018
| 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 | - |
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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
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.178 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | 0.050 |
| predicted_AVG | 0.310 | 0.000 |
| predicted_BB | 0.000 | -0.364 |
| predicted_H | 1.000 | 0.086 |
| predicted_HR | 0.000 | -0.054 |
| predicted_OBP | 0.390 | 0.004 |
| predicted_R | 0.000 | -0.383 |
| predicted_RBI | 0.000 | -0.438 |
| predicted_SLG | 0.440 | 0.001 |
| predicted_SO | 0.000 | -0.481 |
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 | 0.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 | 2.000 | 2.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 | 6.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 2.000 | 1.000 | 0.4286 | 0.5000 | 0.4286 | 0.4286 | 0.0000 | 0.2143 | 0.1429 | 0.0714 |
| last_10 | 0.20 | 10 | - | 29.000 | 11.000 | 1.000 | 0.000 | 0.000 | 3.000 | 3.000 | 4.000 | 4.000 | 0.3793 | 0.4706 | 0.4138 | 0.3793 | 0.0000 | 0.1035 | 0.1379 | 0.1379 |
| season | 0.60 | 79 | - | 231.000 | 71.000 | 16.000 | 2.000 | 5.000 | 37.000 | 29.000 | 28.000 | 40.000 | 0.3074 | 0.3887 | 0.4589 | 0.3074 | 0.0216 | 0.1602 | 0.1212 | 0.1732 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1440 |
| predicted_3B | 0.0150 |
| predicted_AB | 2.9870 |
| predicted_AVG | 0.3360 |
| predicted_BB | 0.3670 |
| predicted_H | 1.0040 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.0450 |
| predicted_OBP | 0.4149 |
| predicted_R | 0.3740 |
| predicted_RBI | 0.4670 |
| predicted_SLG | 0.4402 |
| predicted_SO | 0.4590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.1440 | 0.1782 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0208 | model_form_blend |
| predicted_AB | 2.9240 | 2.9870 | 2.9505 | model_form_blend |
| predicted_AVG | 0.3180 | 0.3360 | 0.3256 | model_form_blend |
| predicted_BB | 0.3540 | 0.3670 | 0.3595 | model_form_blend |
| predicted_H | 0.8200 | 1.0040 | 0.8973 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.0600 | 0.0450 | 0.0537 | model_form_blend |
| predicted_OBP | 0.3990 | 0.4149 | 0.4057 | model_form_blend |
| predicted_R | 0.3670 | 0.3740 | 0.3699 | model_form_blend |
| predicted_RBI | 0.3900 | 0.4670 | 0.4224 | model_form_blend |
| predicted_SLG | 0.4120 | 0.4402 | 0.4239 | model_form_blend |
| predicted_SO | 0.5060 | 0.4590 | 0.4862 | 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 | 269 |
| Season rows before report date | 269 |
| Report year | 2026 |
| Profile rows used | 79 |
| 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 | 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 | 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 | 0 |
| Hitting_RBI | 0 |
| 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 | 1B |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 683734 |
| playerID | 683734 |
| playerName | Andrew Vaughn |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-22 |
| sl_k_percent | 14.8 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.374 |
| sl_xwoba | 0.343 |
| sl_xba | 0.272 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 43.1 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 20.4 |
| sl_swing_percent | 38.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.220 | 0.000 | 0.000 | Hitting_2B | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_AB | 3.284 | 3.000 | 3.000 | Hitting_AB | 3.529 | 1.000 | -0.529 | 2.000 |
| predicted_AVG | 0.374 | 0.000 | 0.333 | Hitting_AVG | 0.265 | 1.000 | -0.265 | -1.000 |
| predicted_BB | 0.431 | 0.000 | 0.000 | Hitting_BB | 0.471 | 0.000 | -0.471 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 0.580 | 0.000 | 1.000 | Hitting_H | 0.934 | 1.000 | -0.934 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_OBP | 0.420 | 0.000 | 0.333 | Hitting_OBP | 0.357 | 1.000 | -0.357 | -1.000 |
| predicted_R | 0.468 | 0.000 | 0.000 | Hitting_R | 0.520 | 0.000 | -0.520 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_SLG | 0.517 | 0.000 | 0.333 | Hitting_SLG | 0.408 | 1.000 | -0.408 | -1.000 |
| predicted_SO | 1.193 | 1.000 | 1.000 | Hitting_SO | 1.194 | 0.000 | -0.194 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 11 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 0.5800 -> 0.0000 (deboost -0.5800, 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.5800 -> 0.7843 (boost 0.2043, better) | predicted_AVG: 0.3740 -> 0.3543 (deboost -0.0197, 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.3543 -> 0.2457 (deboost -0.1086, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.7994 -> 1.0000 (boost 0.2006, better) | predicted_BB: 0.3924 -> 0.0000 (deboost -0.3924, worse) | AB rounded to 3 (raw=3.28), rates preserved: AVG=0.243 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5101 -> 1.0000 (boost 0.4899, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"team": "MIL",
"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.22,
"predicted_3B": 0.028,
"predicted_AB": 3.284,
"predicted_AVG": 0.374,
"predicted_BB": 0.431,
"predicted_H": 0.58,
"predicted_HR": 0.08,
"predicted_OBP": 0.42,
"predicted_R": 0.468,
"predicted_RBI": 0.31,
"predicted_SLG": 0.517,
"predicted_SO": 1.193
},
"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.2333,
"predicted_3B": 0.0228,
"predicted_AB": 3.2539,
"predicted_AVG": 0.3543,
"predicted_BB": 0.388,
"predicted_H": 0.7843,
"predicted_HBP": 0.022,
"predicted_HR": 0.092,
"predicted_OBP": 0.4103,
"predicted_R": 0.4921,
"predicted_RBI": 0.3758,
"predicted_SLG": 0.5169,
"predicted_SO": 1.162
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.22,
"after": 0.2333,
"delta": 0.0133,
"percent_delta": 0.0605,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0228,
"delta": -0.0052,
"percent_delta": -0.1857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.284,
"after": 3.2539,
"delta": -0.0301,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.374,
"after": 0.3543,
"delta": -0.0197,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.431,
"after": 0.388,
"delta": -0.043,
"percent_delta": -0.0998,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.7843,
"delta": 0.2043,
"percent_delta": 0.3522,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.092,
"delta": 0.012,
"percent_delta": 0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.42,
"after": 0.4103,
"delta": -0.0097,
"percent_delta": -0.0231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.4921,
"delta": 0.0241,
"percent_delta": 0.0515,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3758,
"delta": 0.0658,
"percent_delta": 0.2123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.517,
"after": 0.5169,
"delta": -0.0001,
"percent_delta": -0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.193,
"after": 1.162,
"delta": -0.031,
"percent_delta": -0.026,
"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.58,
"after": 0.7843,
"delta": 0.2043,
"percent_delta": 0.3522,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.374,
"after": 0.3543,
"delta": -0.0197,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 109
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2333,
"predicted_3B": 0.0228,
"predicted_AB": 3.2539,
"predicted_AVG": 0.2457,
"predicted_BB": 0.3924,
"predicted_H": 0.7994,
"predicted_HBP": 0.022,
"predicted_HR": 0.0928,
"predicted_OBP": 0.3268,
"predicted_R": 0.5101,
"predicted_RBI": 0.3896,
"predicted_SLG": 0.4169,
"predicted_SO": 1.1489
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2333,
"after": 0.2333,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0228,
"after": 0.0228,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2539,
"after": 3.2539,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3543,
"after": 0.2457,
"delta": -0.1086,
"percent_delta": -0.3065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.3924,
"delta": 0.0044,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7843,
"after": 0.7994,
"delta": 0.0151,
"percent_delta": 0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.092,
"after": 0.0928,
"delta": 0.0008,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4103,
"after": 0.3268,
"delta": -0.0835,
"percent_delta": -0.2035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4921,
"after": 0.5101,
"delta": 0.018,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3758,
"after": 0.3896,
"delta": 0.0138,
"percent_delta": 0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5169,
"after": 0.4169,
"delta": -0.1,
"percent_delta": -0.1935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.162,
"after": 1.1489,
"delta": -0.0131,
"percent_delta": -0.0113,
"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.3543,
"after": 0.2457,
"delta": -0.1086,
"percent_delta": -0.3065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.28), rates preserved: AVG=0.243 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.2333,
"after": 0.0,
"delta": -0.2333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0228,
"after": 0.0,
"delta": -0.0228,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2539,
"after": 3.0,
"delta": -0.2539,
"percent_delta": -0.078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3924,
"after": 0.0,
"delta": -0.3924,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7994,
"after": 1.0,
"delta": 0.2006,
"percent_delta": 0.2509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0928,
"after": 0.0,
"delta": -0.0928,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3896,
"after": 0.0,
"delta": -0.3896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1489,
"after": 1.0,
"delta": -0.1489,
"percent_delta": -0.1296,
"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.7994,
"after": 1.0,
"delta": 0.2006,
"percent_delta": 0.2509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3924,
"after": 0.0,
"delta": -0.3924,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5101,
"after": 1.0,
"delta": 0.4899,
"percent_delta": 0.9604,
"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.5101,
"after": 1.0,
"delta": 0.4899,
"percent_delta": 0.9604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.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_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_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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"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.243,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.329,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.413,
"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.2457,
"after": 0.243,
"delta": -0.0027,
"percent_delta": -0.011,
"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.3268,
"after": 0.329,
"delta": 0.0022,
"percent_delta": 0.0067,
"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_SLG",
"before": 0.4169,
"after": 0.413,
"delta": -0.0039,
"percent_delta": -0.0094,
"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": 8,
"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": 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": 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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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": 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.3268,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4169,
"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.243,
"after": 0.2457,
"delta": 0.0027,
"percent_delta": 0.011,
"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": 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.329,
"after": 0.3268,
"delta": -0.0022,
"percent_delta": -0.0066,
"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.413,
"after": 0.4169,
"delta": 0.0039,
"percent_delta": 0.0095,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.284,
"after": 3.0,
"delta": -0.284,
"percent_delta": -0.0865,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.374,
"after": 0.2457,
"delta": -0.1283,
"percent_delta": -0.343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.431,
"after": 0.0,
"delta": -0.431,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"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.42,
"after": 0.3268,
"delta": -0.0932,
"percent_delta": -0.2219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.0,
"delta": -0.468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.517,
"after": 0.4169,
"delta": -0.1001,
"percent_delta": -0.1936,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.193,
"after": 1.0,
"delta": -0.193,
"percent_delta": -0.1618,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 0,
"deboosted_metrics": 11,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.220 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 3.284 | - |
| predicted_AVG | 0.374 | - |
| predicted_BB | 0.431 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.420 | - |
| predicted_R | 0.468 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.517 | - |
| predicted_SO | 1.193 | - |
Final model 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.233 | 0.013 |
| predicted_3B | 0.023 | -0.005 |
| predicted_AB | 3.254 | -0.030 |
| predicted_AVG | 0.354 | -0.020 |
| predicted_BB | 0.388 | -0.043 |
| predicted_H | 0.784 | 0.204 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.092 | 0.012 |
| predicted_OBP | 0.410 | -0.010 |
| predicted_R | 0.492 | 0.024 |
| predicted_RBI | 0.376 | 0.066 |
| predicted_SLG | 0.517 | -0.000 |
| predicted_SO | 1.162 | -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.233 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.254 | 0.000 |
| predicted_AVG | 0.246 | -0.109 |
| predicted_BB | 0.392 | 0.004 |
| predicted_H | 0.799 | 0.015 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.093 | 0.001 |
| predicted_OBP | 0.327 | -0.084 |
| predicted_R | 0.510 | 0.018 |
| predicted_RBI | 0.390 | 0.014 |
| predicted_SLG | 0.417 | -0.100 |
| predicted_SO | 1.149 | -0.013 |
AB rounded to 3 (raw=3.28), rates preserved: AVG=0.243 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 | - |
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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.233 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.254 |
| predicted_AVG | 0.243 | -0.003 |
| predicted_BB | 0.000 | -0.392 |
| predicted_H | 1.000 | 0.201 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.329 | 0.002 |
| predicted_R | 1.000 | 0.490 |
| predicted_RBI | 0.000 | -0.390 |
| predicted_SLG | 0.413 | -0.004 |
| predicted_SO | 1.000 | -0.149 |
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 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | - | 15.000 | 8.000 | 2.000 | 0.000 | 1.000 | 3.000 | 4.000 | 0.000 | 5.000 | 0.5333 | 0.5333 | 0.8667 | 0.5333 | 0.0667 | 0.2000 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 30.000 | 11.000 | 2.000 | 0.000 | 1.000 | 4.000 | 4.000 | 4.000 | 11.000 | 0.3667 | 0.4412 | 0.5333 | 0.3667 | 0.0333 | 0.1333 | 0.1333 | 0.3667 |
| season | 0.60 | 109 | - | 358.000 | 92.000 | 24.000 | 3.000 | 8.000 | 47.000 | 51.000 | 47.000 | 130.000 | 0.2570 | 0.3488 | 0.4078 | 0.2570 | 0.0223 | 0.1313 | 0.1313 | 0.3631 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2510 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.2140 |
| predicted_AVG | 0.3283 |
| predicted_BB | 0.3310 |
| predicted_H | 1.0550 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.1080 |
| predicted_OBP | 0.3974 |
| predicted_R | 0.5240 |
| predicted_RBI | 0.4630 |
| predicted_SLG | 0.5167 |
| predicted_SO | 1.1210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2200 | 0.2510 | 0.2333 | model_form_blend |
| predicted_3B | 0.0280 | 0.0160 | 0.0228 | model_form_blend |
| predicted_AB | 3.2840 | 3.2140 | 3.2539 | model_form_blend |
| predicted_AVG | 0.3740 | 0.3283 | 0.3543 | model_form_blend |
| predicted_BB | 0.4310 | 0.3310 | 0.3880 | model_form_blend |
| predicted_H | 0.5800 | 1.0550 | 0.7843 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0800 | 0.1080 | 0.0920 | model_form_blend |
| predicted_OBP | 0.4200 | 0.3974 | 0.4103 | model_form_blend |
| predicted_R | 0.4680 | 0.5240 | 0.4921 | model_form_blend |
| predicted_RBI | 0.3100 | 0.4630 | 0.3758 | model_form_blend |
| predicted_SLG | 0.5170 | 0.5167 | 0.5169 | model_form_blend |
| predicted_SO | 1.1930 | 1.1210 | 1.1620 | 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 | 427 |
| Season rows before report date | 427 |
| Report year | 2026 |
| Profile rows used | 109 |
| 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 | 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 | 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 | 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 | PR-CF |
| gameID | 20260822_ATL@MIL |
| game_type | ph |
| mlbID | 669003 |
| note | Ran for Vaughn in the 5th. |
| playerID | 669003 |
| playerName | Garrett Mitchell |
| pos | CF |
| started | False |
| startingPosition | PR |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-22 |
| sl_k_percent | 31.6 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.345 |
| sl_xwoba | 0.349 |
| sl_xba | 0.257 |
| sl_xslg | 0.442 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 12.7 |
| sl_hard_hit_percent | 51.7 |
| sl_exit_velocity_avg | 92.9 |
| sl_launch_angle_avg | 1.6 |
| sl_whiff_percent | 36.4 |
| sl_swing_percent | 43.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.112 | 0.000 | 0.000 | Hitting_2B | 0.119 | 1.000 | -0.119 | -1.000 |
| predicted_3B | 0.022 | 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.151 | 4.000 | -0.151 | -1.000 |
| predicted_AVG | 0.265 | 0.000 | 0.333 | Hitting_AVG | 0.252 | 0.500 | -0.252 | -0.500 |
| predicted_BB | 0.303 | 0.000 | 0.000 | Hitting_BB | 0.360 | 0.000 | -0.360 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_H | 0.790 | 0.000 | 1.000 | Hitting_H | 0.794 | 2.000 | -0.794 | -2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_OBP | 0.346 | 0.000 | 0.333 | Hitting_OBP | 0.331 | 0.500 | -0.331 | -0.500 |
| predicted_R | 0.438 | 0.000 | 0.000 | Hitting_R | 0.518 | 0.000 | -0.518 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.280 | 1.000 | -0.280 | -1.000 |
| predicted_SLG | 0.385 | 0.000 | 0.333 | Hitting_SLG | 0.355 | 0.750 | -0.355 | -0.750 |
| predicted_SO | 0.775 | 1.000 | 1.000 | Hitting_SO | 0.781 | 1.000 | 0.219 | 0.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 | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.7750 -> 1.0000 (boost 0.2250, worse) |
| Biggest Deboost | predicted_H: 0.7900 -> 0.0000 (deboost -0.7900, 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.3850 -> 0.4055 (boost 0.0205, 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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4055 -> 0.4233 (boost 0.0178, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.7503 -> 1.0000 (boost 0.2497, worse) | predicted_RBI: 0.4986 -> 0.0000 (deboost -0.4986, worse) | AB rounded to 3 (raw=3.02), rates preserved: AVG=0.278 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4509 -> 0.0000 (deboost -0.4509, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666152",
"player_name": "David Hamilton",
"position": "3B",
"team": "MIL",
"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.112,
"predicted_3B": 0.022,
"predicted_AB": 3.0,
"predicted_AVG": 0.265,
"predicted_BB": 0.303,
"predicted_H": 0.79,
"predicted_HR": 0.09,
"predicted_OBP": 0.346,
"predicted_R": 0.438,
"predicted_RBI": 0.47,
"predicted_SLG": 0.385,
"predicted_SO": 0.775
},
"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.1285,
"predicted_3B": 0.0186,
"predicted_AB": 3.0211,
"predicted_AVG": 0.2732,
"predicted_BB": 0.2937,
"predicted_H": 0.8226,
"predicted_HBP": 0.009,
"predicted_HR": 0.0908,
"predicted_OBP": 0.3466,
"predicted_R": 0.435,
"predicted_RBI": 0.481,
"predicted_SLG": 0.4055,
"predicted_SO": 0.7589
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.112,
"after": 0.1285,
"delta": 0.0165,
"percent_delta": 0.1473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0186,
"delta": -0.0034,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0211,
"delta": 0.0211,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2732,
"delta": 0.0082,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.2937,
"delta": -0.0093,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.8226,
"delta": 0.0326,
"percent_delta": 0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0908,
"delta": 0.0008,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3466,
"delta": 0.0006,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 0.435,
"delta": -0.003,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.481,
"delta": 0.011,
"percent_delta": 0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.4055,
"delta": 0.0205,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.775,
"after": 0.7589,
"delta": -0.0161,
"percent_delta": -0.0208,
"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.385,
"after": 0.4055,
"delta": 0.0205,
"percent_delta": 0.0532,
"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": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1285,
"predicted_3B": 0.0186,
"predicted_AB": 3.0211,
"predicted_AVG": 0.2775,
"predicted_BB": 0.297,
"predicted_H": 0.8384,
"predicted_HBP": 0.009,
"predicted_HR": 0.0916,
"predicted_OBP": 0.3422,
"predicted_R": 0.4509,
"predicted_RBI": 0.4986,
"predicted_SLG": 0.4233,
"predicted_SO": 0.7503
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1285,
"after": 0.1285,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0186,
"after": 0.0186,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0211,
"after": 3.0211,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2732,
"after": 0.2775,
"delta": 0.0043,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2937,
"after": 0.297,
"delta": 0.0033,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8226,
"after": 0.8384,
"delta": 0.0158,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0908,
"after": 0.0916,
"delta": 0.0008,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3466,
"after": 0.3422,
"delta": -0.0044,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 0.4509,
"delta": 0.0159,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.481,
"after": 0.4986,
"delta": 0.0176,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4055,
"after": 0.4233,
"delta": 0.0178,
"percent_delta": 0.0439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7589,
"after": 0.7503,
"delta": -0.0086,
"percent_delta": -0.0113,
"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_SLG",
"before": 0.4055,
"after": 0.4233,
"delta": 0.0178,
"percent_delta": 0.0439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.02), rates preserved: AVG=0.278 HR/AB=0.030",
"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.1285,
"after": 0.0,
"delta": -0.1285,
"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": 3.0211,
"after": 3.0,
"delta": -0.0211,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.0,
"delta": -0.297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8384,
"after": 1.0,
"delta": 0.1616,
"percent_delta": 0.1927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0916,
"after": 0.0,
"delta": -0.0916,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4986,
"after": 0.0,
"delta": -0.4986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7503,
"after": 1.0,
"delta": 0.2497,
"percent_delta": 0.3328,
"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.7503,
"after": 1.0,
"delta": 0.2497,
"percent_delta": 0.3328,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4986,
"after": 0.0,
"delta": -0.4986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4509,
"after": 0.0,
"delta": -0.4509,
"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.4509,
"after": 0.0,
"delta": -0.4509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.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_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_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": {}
},
{
"index": 7,
"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.278,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.347,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.423,
"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.2775,
"after": 0.278,
"delta": 0.0005,
"percent_delta": 0.0018,
"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.3422,
"after": 0.347,
"delta": 0.0048,
"percent_delta": 0.014,
"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_SLG",
"before": 0.4233,
"after": 0.423,
"delta": -0.0003,
"percent_delta": -0.0007,
"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": {}
},
{
"index": 8,
"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": 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": 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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.2775,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3422,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4233,
"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": 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.278,
"after": 0.2775,
"delta": -0.0005,
"percent_delta": -0.0018,
"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": 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.347,
"after": 0.3422,
"delta": -0.0048,
"percent_delta": -0.0139,
"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.423,
"after": 0.4233,
"delta": 0.0003,
"percent_delta": 0.0007,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.112,
"after": 0.0,
"delta": -0.112,
"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.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2775,
"delta": 0.0125,
"percent_delta": 0.0472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.0,
"delta": -0.303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3422,
"delta": -0.0038,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 0.0,
"delta": -0.438,
"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.385,
"after": 0.4233,
"delta": 0.0383,
"percent_delta": 0.0995,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.775,
"after": 1.0,
"delta": 0.225,
"percent_delta": 0.2903,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.775,
"after": 1.0,
"delta": 0.225,
"percent_delta": 0.2903,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.112 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.303 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.346 | - |
| predicted_R | 0.438 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.385 | - |
| predicted_SO | 0.775 | - |
Final model 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.129 | 0.017 |
| predicted_3B | 0.019 | -0.003 |
| predicted_AB | 3.021 | 0.021 |
| predicted_AVG | 0.273 | 0.008 |
| predicted_BB | 0.294 | -0.009 |
| predicted_H | 0.823 | 0.033 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.091 | 0.001 |
| predicted_OBP | 0.347 | 0.001 |
| predicted_R | 0.435 | -0.003 |
| predicted_RBI | 0.481 | 0.011 |
| predicted_SLG | 0.406 | 0.021 |
| predicted_SO | 0.759 | -0.016 |
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.129 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.021 | 0.000 |
| predicted_AVG | 0.278 | 0.004 |
| predicted_BB | 0.297 | 0.003 |
| predicted_H | 0.838 | 0.016 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.092 | 0.001 |
| predicted_OBP | 0.342 | -0.004 |
| predicted_R | 0.451 | 0.016 |
| predicted_RBI | 0.499 | 0.018 |
| predicted_SLG | 0.423 | 0.018 |
| predicted_SO | 0.750 | -0.009 |
AB rounded to 3 (raw=3.02), rates preserved: AVG=0.278 HR/AB=0.030
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.129 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 3.000 | -0.021 |
| predicted_AVG | 0.278 | 0.001 |
| predicted_BB | 0.000 | -0.297 |
| predicted_H | 1.000 | 0.162 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.347 | 0.005 |
| predicted_R | 0.000 | -0.451 |
| predicted_RBI | 0.000 | -0.499 |
| predicted_SLG | 0.423 | -0.000 |
| predicted_SO | 1.000 | 0.250 |
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 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | 6.000 | 1.000 | 0.000 | 1.000 | 5.000 | 2.000 | 1.000 | 3.000 | 0.4286 | 0.4667 | 0.7143 | 0.4286 | 0.0714 | 0.3571 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 31.000 | 9.000 | 2.000 | 0.000 | 1.000 | 7.000 | 4.000 | 3.000 | 7.000 | 0.2903 | 0.3529 | 0.4516 | 0.2903 | 0.0323 | 0.2258 | 0.0968 | 0.2258 |
| season | 0.60 | 89 | - | 266.000 | 64.000 | 10.000 | 2.000 | 4.000 | 22.000 | 39.000 | 27.000 | 69.000 | 0.2406 | 0.3129 | 0.3383 | 0.2406 | 0.0150 | 0.0827 | 0.1015 | 0.2594 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.0500 |
| predicted_AVG | 0.2844 |
| predicted_BB | 0.2810 |
| predicted_H | 0.8670 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0920 |
| predicted_OBP | 0.3474 |
| predicted_R | 0.4310 |
| predicted_RBI | 0.4960 |
| predicted_SLG | 0.4335 |
| predicted_SO | 0.7370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1120 | 0.1510 | 0.1285 | model_form_blend |
| predicted_3B | 0.0220 | 0.0140 | 0.0186 | model_form_blend |
| predicted_AB | 3.0000 | 3.0500 | 3.0211 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2844 | 0.2732 | model_form_blend |
| predicted_BB | 0.3030 | 0.2810 | 0.2937 | model_form_blend |
| predicted_H | 0.7900 | 0.8670 | 0.8226 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0900 | 0.0920 | 0.0908 | model_form_blend |
| predicted_OBP | 0.3460 | 0.3474 | 0.3466 | model_form_blend |
| predicted_R | 0.4380 | 0.4310 | 0.4350 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4960 | 0.4810 | model_form_blend |
| predicted_SLG | 0.3850 | 0.4335 | 0.4055 | model_form_blend |
| predicted_SO | 0.7750 | 0.7370 | 0.7589 | 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 | 311 |
| Season rows before report date | 311 |
| Report year | 2026 |
| Profile rows used | 89 |
| 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 | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| 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 | 1 |
| Hitting_TB | 3 |
| 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 | 3B |
| gameID | 20260820_SEA@MIL |
| game_type | full |
| mlbID | 666152 |
| playerID | 666152 |
| playerName | David Hamilton |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-20 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.299 |
| sl_xwoba | 0.27 |
| sl_xba | 0.211 |
| sl_xslg | 0.299 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 27.8 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 22.9 |
| sl_swing_percent | 45.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.186 | 0.000 | 0.000 | Hitting_2B | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 4.410 | 3.000 | 4.000 | Hitting_AB | 4.026 | 4.000 | -1.026 | -1.000 |
| predicted_AVG | 0.212 | 0.000 | 0.250 | Hitting_AVG | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_BB | 0.442 | 0.000 | 0.000 | Hitting_BB | 0.472 | 0.000 | -0.472 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.930 | 0.000 | 1.000 | Hitting_H | 0.927 | 0.000 | -0.927 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.104 | 0.000 | -0.104 | 0.000 |
| predicted_OBP | 0.286 | 0.000 | 0.250 | Hitting_OBP | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_R | 0.593 | 0.000 | 1.000 | Hitting_R | 0.642 | 0.000 | -0.642 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 0.000 | Hitting_RBI | 0.510 | 0.000 | -0.510 | 0.000 |
| predicted_SLG | 0.354 | 0.000 | 0.250 | Hitting_SLG | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_SO | 1.186 | 1.000 | 1.000 | Hitting_SO | 1.231 | 1.000 | -0.231 | 0.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_SLG: 0.3540 -> 0.3617 (boost 0.0077, better) |
| Biggest Deboost | predicted_AB: 4.4100 -> 3.0000 (deboost -1.4100, 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.4100 -> 4.1551 (deboost -0.2549, 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 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_RBI: 0.5540 -> 1.0000 (boost 0.4460, better) | predicted_BB: 0.4262 -> 0.0000 (deboost -0.4262, worse) | AB rounded to 4 (raw=4.41), rates preserved: AVG=0.204 HR/AB=0.031 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.158) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6293 -> 1.0000 (boost 0.3707, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 1 | 0 | 1 | 0 | 1 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 4 | 1 | 3 | 1 | 3 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SLG: 0.3617 -> 0.3190 (deboost -0.0427, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3190 -> 0.3617 (boost 0.0427, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592885",
"player_name": "Christian Yelich",
"position": "DH",
"team": "MIL",
"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.186,
"predicted_3B": 0.023,
"predicted_AB": 4.41,
"predicted_AVG": 0.212,
"predicted_BB": 0.442,
"predicted_H": 0.93,
"predicted_HR": 0.13,
"predicted_OBP": 0.286,
"predicted_R": 0.593,
"predicted_RBI": 0.51,
"predicted_SLG": 0.354,
"predicted_SO": 1.186
},
"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.1556,
"predicted_3B": 0.0191,
"predicted_AB": 4.1551,
"predicted_AVG": 0.2131,
"predicted_BB": 0.4214,
"predicted_H": 0.882,
"predicted_HBP": 0.028,
"predicted_HR": 0.1356,
"predicted_OBP": 0.2867,
"predicted_R": 0.6071,
"predicted_RBI": 0.5344,
"predicted_SLG": 0.3584,
"predicted_SO": 1.1453
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.1556,
"delta": -0.0304,
"percent_delta": -0.1634,
"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.41,
"after": 4.1551,
"delta": -0.2549,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2131,
"delta": 0.0011,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.442,
"after": 0.4214,
"delta": -0.0206,
"percent_delta": -0.0466,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.882,
"delta": -0.048,
"percent_delta": -0.0516,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1356,
"delta": 0.0056,
"percent_delta": 0.0431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2867,
"delta": 0.0007,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.593,
"after": 0.6071,
"delta": 0.0141,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5344,
"delta": 0.0244,
"percent_delta": 0.0478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3584,
"delta": 0.0044,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.186,
"after": 1.1453,
"delta": -0.0407,
"percent_delta": -0.0343,
"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.41,
"after": 4.1551,
"delta": -0.2549,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 86
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1556,
"predicted_3B": 0.0191,
"predicted_AB": 4.1551,
"predicted_AVG": 0.2163,
"predicted_BB": 0.4262,
"predicted_H": 0.8989,
"predicted_HBP": 0.028,
"predicted_HR": 0.1368,
"predicted_OBP": 0.2892,
"predicted_R": 0.6293,
"predicted_RBI": 0.554,
"predicted_SLG": 0.3617,
"predicted_SO": 1.1324
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1556,
"after": 0.1556,
"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.1551,
"after": 4.1551,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2131,
"after": 0.2163,
"delta": 0.0032,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4214,
"after": 0.4262,
"delta": 0.0048,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.882,
"after": 0.8989,
"delta": 0.0169,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1356,
"after": 0.1368,
"delta": 0.0012,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2867,
"after": 0.2892,
"delta": 0.0025,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6071,
"after": 0.6293,
"delta": 0.0222,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5344,
"after": 0.554,
"delta": 0.0196,
"percent_delta": 0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3584,
"after": 0.3617,
"delta": 0.0033,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1453,
"after": 1.1324,
"delta": -0.0129,
"percent_delta": -0.0113,
"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": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.41), rates preserved: AVG=0.204 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1556,
"after": 0.0,
"delta": -0.1556,
"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.1551,
"after": 4.0,
"delta": -0.1551,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4262,
"after": 0.0,
"delta": -0.4262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8989,
"after": 1.0,
"delta": 0.1011,
"percent_delta": 0.1125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1368,
"after": 0.0,
"delta": -0.1368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.554,
"after": 1.0,
"delta": 0.446,
"percent_delta": 0.8051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1324,
"after": 1.0,
"delta": -0.1324,
"percent_delta": -0.1169,
"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_RBI",
"before": 0.554,
"after": 1.0,
"delta": 0.446,
"percent_delta": 0.8051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4262,
"after": 0.0,
"delta": -0.4262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.158)",
"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.8449,
"bvp": 0.1551
},
"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.6293,
"after": 1.0,
"delta": 0.3707,
"percent_delta": 0.5891,
"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.6293,
"after": 1.0,
"delta": 0.3707,
"percent_delta": 0.5891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"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.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_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_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": 8,
"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.197,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.279,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.319,
"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.2163,
"after": 0.197,
"delta": -0.0193,
"percent_delta": -0.0892,
"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.2892,
"after": 0.279,
"delta": -0.0102,
"percent_delta": -0.0353,
"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.3617,
"after": 0.319,
"delta": -0.0427,
"percent_delta": -0.1181,
"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.3617,
"after": 0.319,
"delta": -0.0427,
"percent_delta": -0.1181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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": 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": 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": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"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.2163,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2892,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3617,
"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.197,
"after": 0.2163,
"delta": 0.0193,
"percent_delta": 0.0982,
"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.279,
"after": 0.2892,
"delta": 0.0102,
"percent_delta": 0.0367,
"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.319,
"after": 0.3617,
"delta": 0.0427,
"percent_delta": 0.1339,
"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.319,
"after": 0.3617,
"delta": 0.0427,
"percent_delta": 0.1339,
"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.186,
"after": 0.0,
"delta": -0.186,
"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.41,
"after": 3.0,
"delta": -1.41,
"percent_delta": -0.3197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2163,
"delta": 0.0043,
"percent_delta": 0.0203,
"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": 0.93,
"after": 0.0,
"delta": -0.93,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2892,
"delta": 0.0032,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.593,
"after": 0.0,
"delta": -0.593,
"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.354,
"after": 0.3617,
"delta": 0.0077,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.186,
"after": 1.0,
"delta": -0.186,
"percent_delta": -0.1568,
"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_SLG",
"before": 0.354,
"after": 0.3617,
"delta": 0.0077,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.41,
"after": 3.0,
"delta": -1.41,
"percent_delta": -0.3197,
"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.186 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 4.410 | - |
| predicted_AVG | 0.212 | - |
| predicted_BB | 0.442 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.593 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.354 | - |
| predicted_SO | 1.186 | - |
Final model 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.030 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 4.155 | -0.255 |
| predicted_AVG | 0.213 | 0.001 |
| predicted_BB | 0.421 | -0.021 |
| predicted_H | 0.882 | -0.048 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.136 | 0.006 |
| predicted_OBP | 0.287 | 0.001 |
| predicted_R | 0.607 | 0.014 |
| predicted_RBI | 0.534 | 0.024 |
| predicted_SLG | 0.358 | 0.004 |
| predicted_SO | 1.145 | -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.156 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.155 | 0.000 |
| predicted_AVG | 0.216 | 0.003 |
| predicted_BB | 0.426 | 0.005 |
| predicted_H | 0.899 | 0.017 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.137 | 0.001 |
| predicted_OBP | 0.289 | 0.003 |
| predicted_R | 0.629 | 0.022 |
| predicted_RBI | 0.554 | 0.020 |
| predicted_SLG | 0.362 | 0.003 |
| predicted_SO | 1.132 | -0.013 |
AB rounded to 4 (raw=4.41), rates preserved: AVG=0.204 HR/AB=0.031
| 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=19.0, weight=0.155, BvP AVG=0.158)
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SO | 1.000 | 0.000 |
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.019 |
| predicted_AB | 4.000 | -0.155 |
| predicted_AVG | 0.197 | -0.019 |
| predicted_BB | 0.000 | -0.426 |
| predicted_H | 1.000 | 0.101 |
| predicted_HR | 0.000 | -0.137 |
| predicted_OBP | 0.279 | -0.010 |
| predicted_R | 1.000 | 0.371 |
| predicted_RBI | 1.000 | 0.446 |
| predicted_SLG | 0.319 | -0.043 |
| predicted_SO | 1.000 | -0.132 |
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 | 3.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 | 4.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 2.000 | 5.000 | 0.2105 | 0.2727 | 0.3684 | 0.2105 | 0.0526 | 0.2105 | 0.1053 | 0.2632 |
| last_10 | 0.20 | 10 | - | 37.000 | 7.000 | 0.000 | 0.000 | 2.000 | 6.000 | 6.000 | 3.000 | 10.000 | 0.1892 | 0.2439 | 0.3514 | 0.1892 | 0.0541 | 0.1622 | 0.0811 | 0.2703 |
| season | 0.60 | 86 | - | 332.000 | 73.000 | 16.000 | 2.000 | 9.000 | 42.000 | 51.000 | 38.000 | 102.000 | 0.2199 | 0.3050 | 0.3614 | 0.2199 | 0.0271 | 0.1265 | 0.1145 | 0.3072 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.8150 |
| predicted_AVG | 0.2145 |
| predicted_BB | 0.3940 |
| predicted_H | 0.8180 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.1430 |
| predicted_OBP | 0.2877 |
| predicted_R | 0.6260 |
| predicted_RBI | 0.5670 |
| predicted_SLG | 0.3643 |
| predicted_SO | 1.0910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.1150 | 0.1556 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 4.4100 | 3.8150 | 4.1551 | model_form_blend |
| predicted_AVG | 0.2120 | 0.2145 | 0.2131 | model_form_blend |
| predicted_BB | 0.4420 | 0.3940 | 0.4214 | model_form_blend |
| predicted_H | 0.9300 | 0.8180 | 0.8820 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.1300 | 0.1430 | 0.1356 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2877 | 0.2867 | model_form_blend |
| predicted_R | 0.5930 | 0.6260 | 0.6071 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5670 | 0.5344 | model_form_blend |
| predicted_SLG | 0.3540 | 0.3643 | 0.3584 | model_form_blend |
| predicted_SO | 1.1860 | 1.0910 | 1.1453 | 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 | 386 |
| Season rows before report date | 386 |
| Report year | 2026 |
| Profile rows used | 86 |
| 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 | 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 | 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 | DH |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 592885 |
| playerID | 592885 |
| playerName | Christian Yelich |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-22 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.299 |
| sl_xwoba | 0.311 |
| sl_xba | 0.231 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 29.8 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 43.7 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 2.9 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 44.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.120 | 0.000 | 0.000 | Hitting_2B | 0.127 | 1.000 | -0.127 | -1.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.011 | 2.000 | 3.000 | Hitting_AB | 3.157 | 4.000 | -1.157 | -2.000 |
| predicted_AVG | 0.277 | 0.000 | 0.333 | Hitting_AVG | 0.264 | 0.250 | -0.264 | -0.250 |
| predicted_BB | 0.304 | 1.000 | 0.000 | Hitting_BB | 0.327 | 0.000 | 0.673 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.833 | 1.000 | -0.833 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_OBP | 0.324 | 0.333 | 0.333 | Hitting_OBP | 0.328 | 0.250 | 0.006 | 0.083 |
| predicted_R | 0.391 | 0.000 | 0.000 | Hitting_R | 0.423 | 1.000 | -0.423 | -1.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_SLG | 0.420 | 0.000 | 0.333 | Hitting_SLG | 0.416 | 0.500 | -0.416 | -0.500 |
| predicted_SO | 0.674 | 0.000 | 1.000 | Hitting_SO | 0.691 | 0.000 | -0.691 | 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_BB: 0.3040 -> 1.0000 (boost 0.6960, better) |
| Biggest Deboost | predicted_AB: 3.0110 -> 2.0000 (deboost -1.0110, 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 | 4 | 1 | predicted_AB: 3.0110 -> 3.1238 (boost 0.1128, 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_OBP: 0.3252 -> 0.3345 (boost 0.0093, better) | predicted_AVG: 0.2759 -> 0.2691 (deboost -0.0068, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5546 -> 1.0000 (boost 0.4454, better) | predicted_BB: 0.3070 -> 0.0000 (deboost -0.3070, worse) | AB rounded to 3 (raw=3.12), rates preserved: AVG=0.269 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5077 -> 1.0000 (boost 0.4923, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3400 -> 0.3345 (deboost -0.0055, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687401",
"player_name": "Joey Ortiz",
"position": "SS",
"team": "MIL",
"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.12,
"predicted_3B": 0.022,
"predicted_AB": 3.011,
"predicted_AVG": 0.277,
"predicted_BB": 0.304,
"predicted_H": 0.77,
"predicted_HR": 0.1,
"predicted_OBP": 0.324,
"predicted_R": 0.391,
"predicted_RBI": 0.49,
"predicted_SLG": 0.42,
"predicted_SO": 0.674
},
"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.1336,
"predicted_3B": 0.0186,
"predicted_AB": 3.1238,
"predicted_AVG": 0.2759,
"predicted_BB": 0.3036,
"predicted_H": 0.8247,
"predicted_HBP": 0.002,
"predicted_HR": 0.1098,
"predicted_OBP": 0.3252,
"predicted_R": 0.4898,
"predicted_RBI": 0.535,
"predicted_SLG": 0.4292,
"predicted_SO": 0.7359
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.12,
"after": 0.1336,
"delta": 0.0136,
"percent_delta": 0.1133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0186,
"delta": -0.0034,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.011,
"after": 3.1238,
"delta": 0.1128,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2759,
"delta": -0.0011,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 0.3036,
"delta": -0.0004,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.8247,
"delta": 0.0547,
"percent_delta": 0.071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1098,
"delta": 0.0098,
"percent_delta": 0.098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3252,
"delta": 0.0012,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.391,
"after": 0.4898,
"delta": 0.0988,
"percent_delta": 0.2527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.535,
"delta": 0.045,
"percent_delta": 0.0918,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4292,
"delta": 0.0092,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.674,
"after": 0.7359,
"delta": 0.0619,
"percent_delta": 0.0918,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.011,
"after": 3.1238,
"delta": 0.1128,
"percent_delta": 0.0375,
"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": 92
}
},
{
"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.1336,
"predicted_3B": 0.0186,
"predicted_AB": 3.1238,
"predicted_AVG": 0.2691,
"predicted_BB": 0.307,
"predicted_H": 0.8405,
"predicted_HBP": 0.002,
"predicted_HR": 0.1107,
"predicted_OBP": 0.3345,
"predicted_R": 0.5077,
"predicted_RBI": 0.5546,
"predicted_SLG": 0.4301,
"predicted_SO": 0.7276
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1336,
"after": 0.1336,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0186,
"after": 0.0186,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1238,
"after": 3.1238,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2759,
"after": 0.2691,
"delta": -0.0068,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3036,
"after": 0.307,
"delta": 0.0034,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8247,
"after": 0.8405,
"delta": 0.0158,
"percent_delta": 0.0192,
"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.1098,
"after": 0.1107,
"delta": 0.0009,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3252,
"after": 0.3345,
"delta": 0.0093,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4898,
"after": 0.5077,
"delta": 0.0179,
"percent_delta": 0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.535,
"after": 0.5546,
"delta": 0.0196,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4292,
"after": 0.4301,
"delta": 0.0009,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7359,
"after": 0.7276,
"delta": -0.0083,
"percent_delta": -0.0113,
"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.3252,
"after": 0.3345,
"delta": 0.0093,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2759,
"after": 0.2691,
"delta": -0.0068,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.12), rates preserved: AVG=0.269 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1336,
"after": 0.0,
"delta": -0.1336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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": 3.1238,
"after": 3.0,
"delta": -0.1238,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.307,
"after": 0.0,
"delta": -0.307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8405,
"after": 1.0,
"delta": 0.1595,
"percent_delta": 0.1898,
"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.1107,
"after": 0.0,
"delta": -0.1107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5546,
"after": 1.0,
"delta": 0.4454,
"percent_delta": 0.8031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7276,
"after": 1.0,
"delta": 0.2724,
"percent_delta": 0.3744,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5546,
"after": 1.0,
"delta": 0.4454,
"percent_delta": 0.8031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.307,
"after": 0.0,
"delta": -0.307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5077,
"after": 1.0,
"delta": 0.4923,
"percent_delta": 0.9697,
"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.5077,
"after": 1.0,
"delta": 0.4923,
"percent_delta": 0.9697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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": 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_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_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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"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.269,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.34,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.43,
"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.2691,
"after": 0.269,
"delta": -0.0001,
"percent_delta": -0.0004,
"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.3345,
"after": 0.34,
"delta": 0.0055,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4301,
"after": 0.43,
"delta": -0.0001,
"percent_delta": -0.0002,
"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_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": 8,
"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": 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": 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": 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": 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": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"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.2691,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3345,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4301,
"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": 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.269,
"after": 0.2691,
"delta": 0.0001,
"percent_delta": 0.0003,
"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_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.34,
"after": 0.3345,
"delta": -0.0055,
"percent_delta": -0.0162,
"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.43,
"after": 0.4301,
"delta": 0.0001,
"percent_delta": 0.0002,
"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_OBP",
"before": 0.34,
"after": 0.3345,
"delta": -0.0055,
"percent_delta": -0.0162,
"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.12,
"after": 0.0,
"delta": -0.12,
"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.011,
"after": 2.0,
"delta": -1.011,
"percent_delta": -0.3358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2691,
"delta": -0.0079,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 1.0,
"delta": 0.696,
"percent_delta": 2.2895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.324,
"after": 0.3345,
"delta": 0.0105,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.391,
"after": 0.0,
"delta": -0.391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4301,
"delta": 0.0101,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.674,
"after": 0.0,
"delta": -0.674,
"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_BB",
"before": 0.304,
"after": 1.0,
"delta": 0.696,
"percent_delta": 2.2895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.011,
"after": 2.0,
"delta": -1.011,
"percent_delta": -0.3358,
"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.120 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 3.011 | - |
| predicted_AVG | 0.277 | - |
| predicted_BB | 0.304 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.391 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.674 | - |
Final model 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.134 | 0.014 |
| predicted_3B | 0.019 | -0.003 |
| predicted_AB | 3.124 | 0.113 |
| predicted_AVG | 0.276 | -0.001 |
| predicted_BB | 0.304 | -0.000 |
| predicted_H | 0.825 | 0.055 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.110 | 0.010 |
| predicted_OBP | 0.325 | 0.001 |
| predicted_R | 0.490 | 0.099 |
| predicted_RBI | 0.535 | 0.045 |
| predicted_SLG | 0.429 | 0.009 |
| predicted_SO | 0.736 | 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.134 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.124 | 0.000 |
| predicted_AVG | 0.269 | -0.007 |
| predicted_BB | 0.307 | 0.003 |
| predicted_H | 0.841 | 0.016 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.111 | 0.001 |
| predicted_OBP | 0.335 | 0.009 |
| predicted_R | 0.508 | 0.018 |
| predicted_RBI | 0.555 | 0.020 |
| predicted_SLG | 0.430 | 0.001 |
| predicted_SO | 0.728 | -0.008 |
AB rounded to 3 (raw=3.12), rates preserved: AVG=0.269 HR/AB=0.035
| 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 | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 0.000 | -1.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
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.134 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 3.000 | -0.124 |
| predicted_AVG | 0.269 | -0.000 |
| predicted_BB | 0.000 | -0.307 |
| predicted_H | 1.000 | 0.159 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.340 | 0.006 |
| predicted_R | 1.000 | 0.492 |
| predicted_RBI | 1.000 | 0.445 |
| predicted_SLG | 0.430 | -0.000 |
| predicted_SO | 1.000 | 0.272 |
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 | 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 | 3.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 | - | 18.000 | 6.000 | 1.000 | 0.000 | 1.000 | 5.000 | 6.000 | 1.000 | 5.000 | 0.3333 | 0.3500 | 0.5556 | 0.3333 | 0.0556 | 0.2778 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 10 | - | 35.000 | 11.000 | 2.000 | 0.000 | 2.000 | 9.000 | 9.000 | 4.000 | 11.000 | 0.3143 | 0.3659 | 0.5429 | 0.3143 | 0.0571 | 0.2571 | 0.1143 | 0.3143 |
| season | 0.60 | 92 | - | 277.000 | 68.000 | 11.000 | 2.000 | 7.000 | 37.000 | 36.000 | 28.000 | 62.000 | 0.2455 | 0.3097 | 0.3755 | 0.2455 | 0.0253 | 0.1336 | 0.1011 | 0.2238 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1520 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.2770 |
| predicted_AVG | 0.2743 |
| predicted_BB | 0.3030 |
| predicted_H | 0.8990 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.3269 |
| predicted_R | 0.6240 |
| predicted_RBI | 0.5960 |
| predicted_SLG | 0.4417 |
| predicted_SO | 0.8200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1200 | 0.1520 | 0.1336 | model_form_blend |
| predicted_3B | 0.0220 | 0.0140 | 0.0186 | model_form_blend |
| predicted_AB | 3.0110 | 3.2770 | 3.1238 | model_form_blend |
| predicted_AVG | 0.2770 | 0.2743 | 0.2759 | model_form_blend |
| predicted_BB | 0.3040 | 0.3030 | 0.3036 | model_form_blend |
| predicted_H | 0.7700 | 0.8990 | 0.8247 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1000 | 0.1230 | 0.1098 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3269 | 0.3252 | model_form_blend |
| predicted_R | 0.3910 | 0.6240 | 0.4898 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5960 | 0.5350 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4417 | 0.4292 | model_form_blend |
| predicted_SO | 0.6740 | 0.8200 | 0.7359 | 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 | 324 |
| Season rows before report date | 324 |
| Report year | 2026 |
| Profile rows used | 92 |
| 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| 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 | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | 3B |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 687401 |
| playerID | 687401 |
| playerName | Joey Ortiz |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-22 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.305 |
| sl_xwoba | 0.294 |
| sl_xba | 0.237 |
| sl_xslg | 0.337 |
| sl_sweet_spot_percent | 28.0 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 36.6 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 5.4 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 44.3 |
| 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.320 | 2.000 | 0.680 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.720 | 0.000 | -0.720 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 3.680 | 1.000 | -2.680 | 0.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 3.892 | 2.000 | 1.208 | 3.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 3.960 | 1.000 | 1.040 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 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 | current_json_final | 2 | 0 | 2 | 1 | 1 | - | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "675660",
"player_name": "Shane Drohan",
"position": "Starter",
"team": "MIL",
"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": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 5.1,
"predicted_R": 1.0,
"predicted_SO": 5.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": 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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 5.0,
"after": 5.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": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"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": 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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 5.0,
"after": 5.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": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 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 | 24.100 | 16.000 | 23.000 | 12.000 | 23.000 | 3.000 | 5.9178 | 1.4384 | 0.6575 | 0.9452 | 0.4931 | 0.9452 | 0.1233 |
| last_10 | 0.35 | 10 | 52.200 | 25.000 | 50.000 | 19.000 | 52.000 | 5.000 | 4.2722 | 1.3101 | 0.4747 | 0.9494 | 0.3608 | 0.9873 | 0.0949 |
| season | 0.20 | 25 | 100.100 | 43.000 | 92.000 | 33.000 | 99.000 | 9.000 | 3.8571 | 1.2458 | 0.4286 | 0.9169 | 0.3289 | 0.9867 | 0.0897 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0250 |
| predicted_ER | 2.6930 |
| predicted_ERA | 4.8609 |
| predicted_H | 4.7190 |
| predicted_HR | 0.5660 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.8110 |
| predicted_WHIP | 1.3526 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.0250 | 2.0145 | model_form_blend |
| predicted_ER | 1.0000 | 2.6930 | 1.9812 | model_form_blend |
| predicted_ERA | - | 4.8609 | 4.8609 | form_only |
| predicted_H | 2.0000 | 4.7190 | 3.5758 | model_form_blend |
| predicted_HR | 1.0000 | 0.5660 | 0.7485 | model_form_blend |
| predicted_IP | 5.1000 | 5.0000 | 5.1000 | model_form_blend |
| predicted_SO | 5.0000 | 4.8110 | 4.8905 | model_form_blend |
| predicted_WHIP | - | 1.3526 | 1.3526 | 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 | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 2 |
| SO | 5 |
| HR | 1 |
| BF | 19 |
| Pitches | 87 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 9 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.86 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 39 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 22 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260818_SEA@MIL |
| game_type | full |
| mlbID | 675660 |
| playerID | 675660 |
| playerName | Shane Drohan |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-18 |
| game_pk | 823749.0 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.303 |
| sl_xwoba | 0.295 |
| sl_sweet_spot_percent | 35.7 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 38.1 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 47.9 |
| sv_pitch_count | 39.0 |
| sv_outs_recorded_est | 6.0 |
| sv_release_speed | 91.38717948717948 |
| sv_release_spin_rate | 2730.794871794872 |
| sv_effective_speed | 91.12820512820512 |
| sv_launch_speed | 81.87 |
| sv_launch_angle | 23.6 |
| sv_woba_value | 2.65 |
| sv_woba_denom | 9.0 |
| sv_delta_run_exp | -0.452 |
| sv_delta_home_win_exp | 0.013 |
| sl_avg_best_speed | 76.743572518 |
| sl_avg_hyper_speed | 93.796940397 |
| 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.600 | 0.000 | 0.400 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.433 | 0.000 | -0.433 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.067 | 2.000 | -1.067 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.083 | 1.000 | 0.017 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.683 | 0.000 | 0.317 | 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: 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": "676879",
"player_name": "Aaron Ashby",
"position": "Setup Man",
"team": "MIL",
"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.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.1,
"predicted_R": 0.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": 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": 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_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": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 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_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 | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| 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 | 6.100 | 0.000 | 4.000 | 3.000 | 7.000 | 0.000 | 0.0000 | 1.1053 | 0.0000 | 0.6316 | 0.4737 | 1.1053 | 0.0000 |
| last_10 | 0.35 | 10 | 11.200 | 4.000 | 10.000 | 6.000 | 19.000 | 0.000 | 3.0857 | 1.3714 | 0.3429 | 0.8571 | 0.5143 | 1.6286 | 0.0000 |
| season | 0.20 | 60 | 72.000 | 26.000 | 64.000 | 36.000 | 101.000 | 5.000 | 3.2500 | 1.3889 | 0.3611 | 0.8889 | 0.5000 | 1.4028 | 0.0694 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6140 |
| predicted_ER | 0.3630 |
| predicted_ERA | 2.4473 |
| predicted_H | 1.0890 |
| predicted_HR | 0.0650 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.6600 |
| predicted_WHIP | 1.2772 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.6140 | 0.7911 | model_form_blend |
| predicted_ER | 0.0000 | 0.3630 | 0.1965 | model_form_blend |
| predicted_ERA | - | 2.4473 | 2.4473 | form_only |
| predicted_H | 0.0000 | 1.0890 | 0.5894 | model_form_blend |
| predicted_HR | 0.0000 | 0.0650 | 0.0352 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 1.6600 | 1.8160 | model_form_blend |
| predicted_WHIP | - | 1.2772 | 1.2772 | 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 | 60 |
| Season rows before report date | 60 |
| Report year | 2026 |
| Profile rows used | 60 |
| 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 | 1 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| 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 | 3.25 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| 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 | 0 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 676879 |
| playerID | 676879 |
| playerName | Aaron Ashby |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-22 |
| sl_k_percent | 32.1 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.293 |
| sl_xwoba | 0.265 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 39.2 |
| sl_whiff_percent | 32.2 |
| sl_swing_percent | 40.8 |
| sl_avg_best_speed | 75.314910455 |
| sl_avg_hyper_speed | 94.2755168 |
| 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.795 | 1.000 | -0.795 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.750 | 0.000 | 0.250 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.705 | 0.000 | -0.705 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.925 | 1.000 | -0.825 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.864 | 0.000 | -0.864 | 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_H: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| 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 | 2 | 1 | 1 | 0 | 2 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, worse) | 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": "694477",
"player_name": "Chad Patrick",
"position": "Middle Reliever (High Leverage)",
"team": "MIL",
"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": 0.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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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": "worse",
"material": true
},
{
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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": "worse",
"material": true
},
{
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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 | 1.000 | - |
| predicted_H | 0.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 | 5.200 | 1.000 | 4.000 | 3.000 | 4.000 | 0.000 | 1.5882 | 1.2353 | 0.1765 | 0.7059 | 0.5294 | 0.7059 | 0.0000 |
| last_10 | 0.35 | 10 | 12.200 | 3.000 | 8.000 | 7.000 | 15.000 | 0.000 | 2.1316 | 1.1842 | 0.2368 | 0.6316 | 0.5526 | 1.1842 | 0.0000 |
| season | 0.20 | 43 | 91.000 | 30.000 | 72.000 | 35.000 | 82.000 | 6.000 | 2.9670 | 1.1758 | 0.3297 | 0.7912 | 0.3846 | 0.9011 | 0.0659 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6310 |
| predicted_ER | 0.3790 |
| predicted_ERA | 2.5841 |
| predicted_H | 0.9990 |
| predicted_HR | 0.0560 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.2150 |
| predicted_WHIP | 1.2346 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6310 | 0.3528 | model_form_blend |
| predicted_ER | 1.0000 | 0.3790 | 0.6528 | model_form_blend |
| predicted_ERA | - | 2.5841 | 2.5841 | form_only |
| predicted_H | 0.0000 | 0.9990 | 0.5585 | model_form_blend |
| predicted_HR | 1.0000 | 0.0560 | 0.4722 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2150 | 1.1202 | model_form_blend |
| predicted_WHIP | - | 1.2346 | 1.2346 | 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 | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 43 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| 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 | 3.26 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| 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 | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260822_ATL@MIL |
| game_type | full |
| mlbID | 694477 |
| playerID | 694477 |
| playerName | Chad Patrick |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-22 |
| sl_k_percent | 22.0 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.294 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 37.5 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 48.7 |
| sl_avg_best_speed | 77.748984959 |
| sl_avg_hyper_speed | 93.973918659 |
| 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.235 | 0.000 | -0.235 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.255 | 0.000 | 0.745 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.569 | 1.000 | 0.431 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.967 | 1.000 | 0.033 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.098 | 1.000 | -1.098 | -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": "656730",
"player_name": "Trevor Megill",
"position": "Closer",
"team": "MIL",
"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": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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 | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.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 | 5.200 | 0.000 | 1.000 | 1.000 | 5.000 | 0.000 | 0.0000 | 0.3529 | 0.0000 | 0.1765 | 0.1765 | 0.8823 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 0.000 | 1.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.1875 | 0.0000 | 0.0938 | 0.0938 | 0.6562 | 0.0000 |
| season | 0.20 | 50 | 50.000 | 9.000 | 27.000 | 12.000 | 56.000 | 0.000 | 1.6200 | 0.7800 | 0.1800 | 0.5400 | 0.2400 | 1.1200 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2290 |
| predicted_ER | 0.1910 |
| predicted_ERA | 1.7198 |
| predicted_H | 0.4710 |
| predicted_HR | 0.0490 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8830 |
| predicted_WHIP | 0.7002 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2290 | 0.1166 | model_form_blend |
| predicted_ER | 1.0000 | 0.1910 | 0.5879 | model_form_blend |
| predicted_ERA | - | 1.7198 | 1.7198 | form_only |
| predicted_H | 1.0000 | 0.4710 | 0.7306 | model_form_blend |
| predicted_HR | 1.0000 | 0.0490 | 0.5156 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8830 | 0.4498 | model_form_blend |
| predicted_WHIP | - | 0.7002 | 0.7002 | 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 | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 4 |
| Pitches | 16 |
| 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 | 2.34 |
| Pitching_Flyouts | 1 |
| 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 | 10 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260821_ATL@MIL |
| game_type | full |
| mlbID | 656730 |
| playerID | 656730 |
| playerName | Trevor Megill |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-21 |
| sl_k_percent | 29.0 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.191 |
| sl_xwoba | 0.252 |
| sl_sweet_spot_percent | 29.8 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 42.7 |
| sl_whiff_percent | 32.4 |
| sl_swing_percent | 52.8 |
| sl_avg_best_speed | 82.360268 |
| sl_avg_hyper_speed | 94.596569916 |