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 | LAD 5 - 3 COL | LAD | 0.560 | scoring_simulation.final_score | True |
| Simulation draw | LAD 5 - 4 COL | LAD | - | organic_score_same_winner | 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.6954; empirical=0.5507; weight=0.5000; final=0.6230 |
| P1 | H2H margin as base feature | available | home net=-8; abs=8; home delta=-0.0462; away delta=0.0462 |
| 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=-2.3718; recent edge=-0.2440; 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.5600 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_score_same_winner |
| 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 | 5.504 | 5.181 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 3 | 0.5600 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 5 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 5 | 3 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 5 | 3 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 5 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.44529681000000004,
"base_low_score_probability": 0.4325,
"low_score_signal_threshold": 0.5125,
"low_score_signal_strength": 0.012796810000000047,
"confidence": 0.6147940000000001,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.03,
"combined": 1.0295880000000002
},
"prediction": "normal_scoring",
"expected_total_runs": 9,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 9,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 227,
"near_bucket_sample_size": 227,
"medium_bucket_sample_size": 286,
"wide_bucket_sample_size": 485,
"global_sample_size": 582,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5507,
"bayesian_hit_rate": 0.5469,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.9265,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6422,
"calibrated_pick_probability": 0.5766,
"predicted_side": "away"
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.695357,
"sample_size": 227,
"empirical_hit_rate": 0.5507,
"empirical_weight": 0.5,
"blended_confidence": 0.623028,
"published_confidence": 0.56,
"published_after_governors": true
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": -8.0,
"absolute_net_margin": 8.0,
"home_average_margin": -1.6,
"home_run_delta": -0.0462,
"away_run_delta": 0.0462,
"evidence": [
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": -6.0
},
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": -1.0
}
]
}{
"applied": true,
"home": {
"team": "COL",
"games": 125,
"wins": 50,
"losses": 75,
"win_pct": 0.4,
"runs_scored": 601,
"runs_allowed": 720,
"run_differential": -119,
"run_differential_per_game": -0.952,
"available": true
},
"away": {
"team": "LAD",
"games": 126,
"wins": 75,
"losses": 51,
"win_pct": 0.5952380952380952,
"runs_scored": 627,
"runs_allowed": 485,
"run_differential": 142,
"run_differential_per_game": 1.126984126984127,
"available": true
},
"run_differential_edge_per_game": -2.079,
"win_pct_edge": -0.1952,
"quality_edge": -1.6271,
"season_quality_edge": -2.3718,
"recent_quality_blend": {
"method": "season_recent10_quality_blend_v1",
"recent_window": 10,
"season_quality_edge": -2.3718,
"recent_quality_edge": -0.244,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": -1.6271
},
"margin_adjustment": -2.6034,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"margin_adjustment_policy": {
"adjustment": -2.6034,
"cap": 4.0,
"scale": 1.6,
"quality_edge": -1.6271,
"season_quality_edge": -2.3718,
"recent_alignment": "aligned",
"large_edge_supported_by_recent_form": true,
"method": "supported_large_edge_up_to_four_runs"
},
"adjusted_score": {
"away_runs": 7.601,
"home_runs": 3.476,
"home_win_probability": 0.1494
}
}{
"most_likely": [
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.030052254405607295
},
{
"home_runs": 3,
"away_runs": 5,
"probability": 0.029707904463090545
},
{
"home_runs": 2,
"away_runs": 4,
"probability": 0.02848402720650146
},
{
"home_runs": 2,
"away_runs": 5,
"probability": 0.0281576465962876
},
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.02650202289034006
}
],
"home_distribution": {
"0": 0.08714752756741023,
"1": 0.14304649629165603,
"2": 0.1882461637443379,
"3": 0.19861031457072872,
"4": 0.16799804164280763,
"5": 0.11392876621031556,
"6": 0.0619425848497629,
"7": 0.02700051263069469,
"8": 0.009435859165199125,
"9": 0.0026437333270874592
},
"away_distribution": {
"0": 0.040166566552900615,
"1": 0.06874988113687358,
"2": 0.10258317192766449,
"3": 0.13343729376604058,
"4": 0.15131265700153324,
"5": 0.14957886012768498,
"6": 0.1289027288144938,
"7": 0.09683914206712195,
"8": 0.06342152566165211,
"9": 0.03620923646941366,
"10": 0.018021833750930288,
"11": 0.007819437649382682,
"12": 0.002957665074308067
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.56,
"winner_flipped": false,
"reasons": [
"local prediction memory shows 5 straight prior same-side picks",
"a prior same-side pick already missed against the actual result"
],
"signals": {
"predicted_team": "LAD",
"opponent_team": "COL",
"h2h_net_margin": 8,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": false,
"recent_h2h": [
{
"date": "2026-08-18",
"predicted_team_runs": 7,
"opponent_runs": 6,
"margin_for_predicted_team": 1,
"winner": "LAD"
},
{
"date": "2026-08-17",
"predicted_team_runs": 11,
"opponent_runs": 5,
"margin_for_predicted_team": 6,
"winner": "LAD"
},
{
"date": "2026-07-08",
"predicted_team_runs": 4,
"opponent_runs": 3,
"margin_for_predicted_team": 1,
"winner": "LAD"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 5,
"consecutive_same_pick_count": 5,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20260818",
"away": "LAD",
"home": "COL",
"game_number": 1,
"predicted_team": "LAD",
"actual_winner": "LAD",
"actual_margin": 1,
"raw_pick_probability": 0.5273570000000001,
"artifact": "20260818_LAD@COL.json",
"verification": "pregame_official_final"
},
{
"date": "20260817",
"away": "LAD",
"home": "COL",
"game_number": 1,
"predicted_team": "LAD",
"actual_winner": "LAD",
"actual_margin": 6,
"raw_pick_probability": 0.51,
"artifact": "20260817_LAD@COL.json",
"verification": "pregame_official_final"
},
{
"date": "20260708",
"away": "COL",
"home": "LAD",
"game_number": 1,
"predicted_team": "LAD",
"actual_winner": "LAD",
"actual_margin": 1,
"raw_pick_probability": 0.64,
"artifact": "20260708_COL@LAD.json",
"verification": "pregame_official_final"
},
{
"date": "20260707",
"away": "COL",
"home": "LAD",
"game_number": 1,
"predicted_team": "LAD",
"actual_winner": "COL",
"actual_margin": 1,
"raw_pick_probability": 0.66,
"artifact": "20260707_COL@LAD.json",
"verification": "pregame_official_final"
},
{
"date": "20260706",
"away": "COL",
"home": "LAD",
"game_number": 1,
"predicted_team": "LAD",
"actual_winner": "LAD",
"actual_margin": 1,
"raw_pick_probability": 0.66,
"artifact": "20260706_COL@LAD.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "LAD",
"guardrail_opponent_team": "COL",
"output_pre_simulation_winner": "LAD",
"output_opponent_team": "COL",
"simulation_score_winner": "LAD",
"final_score_winner": "LAD",
"pre_simulation_winner": "LAD",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "LAD 5 - 3 COL",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "LAD 5 - 4 COL",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.1316,
"recent_form_edge_home_minus_away": -0.419,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 5,
"home_runs": 4,
"winner": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 2,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 5,
"home_runs": 3
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 1,
"winner_quality_edge": 1.6271,
"winner": "LAD",
"reason": "final 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": "COL",
"games": 125,
"wins": 50,
"losses": 75,
"win_pct": 0.4,
"runs_scored": 601,
"runs_allowed": 720,
"run_differential": -119,
"run_differential_per_game": -0.952,
"available": true
},
"away": {
"team": "LAD",
"games": 126,
"wins": 75,
"losses": 51,
"win_pct": 0.5952380952380952,
"runs_scored": 627,
"runs_allowed": 485,
"run_differential": 142,
"run_differential_per_game": 1.126984126984127,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.6,
"final_margin": -0.6,
"margin_cap": 4.25,
"season_quality_edge": 1.6271,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.56,
"final_confidence": 0.56,
"confidence_cap": 0.66,
"score_gap": 1.6735,
"calibration_sample_size": 227,
"calibration_empirical_hit_rate": 0.5507,
"calibration_bayesian_hit_rate": 0.5469,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.6271,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "LAD 5 - 3 COL",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "LAD 5 - 4 COL",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.1316,
"recent_form_edge_home_minus_away": -0.419,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 5,
"home_runs": 4,
"winner": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 2,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 5,
"home_runs": 3
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 1,
"winner_quality_edge": 1.6271,
"winner": "LAD",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 4,
"confidence": 0.56,
"home_win_probability": 0.43999999999999995,
"away_win_probability": 0.56,
"predicted_score_text": "LAD 5 - 4 COL",
"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": "LAD",
"original_runs": 4,
"run_delta": 0.5445,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 36.0,
"quality": 0.44745440796892705,
"contact": 0.31432774737376223,
"power": 0.2599227578839869,
"discipline": 0.08625707500261563,
"xwoba": 0.3227222222222222,
"recent_xwoba": 0.3227222222222222,
"barrel": 8.172222222222222,
"ab_hard_contact": 0.20043309212765525,
"ab_bat_speed": 70.22915686579755,
"ab_strikeout_rate": 0.17676485047627707,
"available_players": 8,
"top_players": [
{
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"weight": 4.0,
"quality": 1.5351089161701807,
"contact": 1.6198716403632596,
"power": 2.0,
"discipline": 0.3273946362103882,
"xwoba": 0.4109999999999999,
"recent_xwoba": 0.411,
"barrel": 16.8,
"ab_hard_contact": 1.1825156957455136,
"ab_bat_speed": 73.76063103864735,
"ab_strikeout_rate": 0.22584541062801933,
"available": 1.0
},
{
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"weight": 4.0,
"quality": 0.8541002381766559,
"contact": 1.1692628852687639,
"power": 0.7190600051017612,
"discipline": 0.5493299399385047,
"xwoba": 0.375,
"recent_xwoba": 0.375,
"barrel": 8.6,
"ab_hard_contact": 0.4615810544161789,
"ab_bat_speed": 69.51761088840298,
"ab_strikeout_rate": 0.1609815354713314,
"available": 1.0
},
{
"player_id": "666163",
"player_name": "Ben Rortvedt",
"position": "C",
"weight": 3.0,
"quality": -0.0,
"contact": -2.0,
"power": -1.9191238095238101,
"discipline": -1.4115714285714285,
"xwoba": 0.179,
"recent_xwoba": 0.179,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.29328251322752,
"ab_strikeout_rate": 0.22307692307692306,
"available": 0.0
},
{
"player_id": "605141",
"player_name": "Mookie Betts",
"position": "SS",
"weight": 5.0,
"quality": 0.5168465235816048,
"contact": 0.6443956865938295,
"power": 0.33994892070408167,
"discipline": 0.5703247029230637,
"xwoba": 0.327,
"recent_xwoba": 0.327,
"barrel": 7.5,
"ab_hard_contact": 0.28602603312925845,
"ab_bat_speed": 67.58734662383472,
"ab_strikeout_rate": 0.12248677248677249,
"available": 1.0
},
{
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"weight": 6.0,
"quality": 0.40277836505738945,
"contact": 0.5856595404040407,
"power": 0.37809932982844313,
"discipline": 0.13791440951277023,
"xwoba": 0.34,
"recent_xwoba": 0.34,
"barrel": 7.8,
"ab_hard_contact": 0.2667485013307634,
"ab_bat_speed": 71.60227932805775,
"ab_strikeout_rate": 0.20875420875420878,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "607536",
"player_name": "Kyle Freeland",
"quality": -0.5593434194160483,
"contact": -0.8189656819786507,
"command": -0.3166825396825396,
"movement": -0.6939170514268858,
"xwoba": 0.349,
"whiff": 22.6,
"faced_est_woba": 0.26731737083333335,
"faced_launch_speed": 83.86652199074075,
"faced_strikeout_rate": 0.23333333333333334,
"faced_run_exp": 0.006702512233779596
}
},
"home": {
"team": "COL",
"original_runs": 3,
"run_delta": -0.1983,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": -0.2513524787119909,
"contact": -0.33063903585643817,
"power": -0.14046887875952707,
"discipline": -0.047912308739002867,
"xwoba": 0.31748387096774194,
"recent_xwoba": 0.31748387096774194,
"barrel": 10.074193548387095,
"ab_hard_contact": -0.5088368685853086,
"ab_bat_speed": 69.7259855386426,
"ab_strikeout_rate": 0.21976824867426592,
"available_players": 7,
"top_players": [
{
"player_id": "678662",
"player_name": "Ezequiel Tovar",
"position": "SS",
"weight": 3.0,
"quality": -0.5780568557132773,
"contact": -0.8335975129567639,
"power": -0.4190089215909456,
"discipline": -0.5850715473644911,
"xwoba": 0.273,
"recent_xwoba": 0.273,
"barrel": 6.3,
"ab_hard_contact": -0.7599879556284181,
"ab_bat_speed": 69.73265070643642,
"ab_strikeout_rate": 0.24824016563146997,
"available": 1.0
},
{
"player_id": "681393",
"player_name": "Connor Norby",
"position": "3B",
"weight": 3.0,
"quality": -0.5652970015367474,
"contact": -0.8475127389541688,
"power": -0.4414904240069029,
"discipline": -0.24129434469598396,
"xwoba": 0.29,
"recent_xwoba": 0.29,
"barrel": 6.900000000000001,
"ab_hard_contact": -0.2301894325189886,
"ab_bat_speed": 69.20357275132275,
"ab_strikeout_rate": 0.31296296296296294,
"available": 1.0
},
{
"player_id": "681198",
"player_name": "TJ Rumfield",
"position": "1B",
"weight": 4.0,
"quality": -0.33009224034796053,
"contact": -0.20404281423215995,
"power": -0.6575301019655728,
"discipline": 0.5629246320126834,
"xwoba": 0.321,
"recent_xwoba": 0.321,
"barrel": 4.7,
"ab_hard_contact": -0.11707822978763804,
"ab_bat_speed": 67.84654343971631,
"ab_strikeout_rate": 0.14424398625429555,
"available": 1.0
},
{
"player_id": "691728",
"player_name": "Zac Veen",
"position": "LF",
"weight": 3.0,
"quality": 0.0,
"contact": 0.6389714285714286,
"power": 1.499028571428571,
"discipline": -0.6960714285714287,
"xwoba": 0.412,
"recent_xwoba": 0.412,
"barrel": 20.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.29328251322752,
"ab_strikeout_rate": 0.22307692307692306,
"available": 0.0
},
{
"player_id": "664983",
"player_name": "Jake McCarthy",
"position": "RF",
"weight": 4.0,
"quality": -0.34462620798832905,
"contact": -0.1306428352338721,
"power": -0.49270227386288246,
"discipline": -0.22356657337065175,
"xwoba": 0.317,
"recent_xwoba": 0.317,
"barrel": 4.8,
"ab_hard_contact": -0.7138550010671654,
"ab_bat_speed": 67.8560385210995,
"ab_strikeout_rate": 0.1798780487804878,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "808963",
"player_name": "Roki Sasaki",
"quality": -0.11316681574593034,
"contact": -0.3634201070716669,
"command": 0.07003174603174589,
"movement": 0.33128982639756605,
"xwoba": 0.319,
"whiff": 29.7,
"faced_est_woba": 0.26731737083333335,
"faced_launch_speed": 83.86652199074075,
"faced_strikeout_rate": 0.23333333333333334,
"faced_run_exp": 0.006702512233779596
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 5,
"home_runs": 3,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 3,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -1.6271,
"recent_form_edge_home_minus_away": -0.419,
"pitcher_matchup_edge_home_minus_away": -0.1316,
"composite_home_edge": -1.6492,
"existing_home_win_probability": 0.4234,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 1.6492
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Matchup recency guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 5,
"home_runs": 3,
"predicted_score_text": "LAD 5 - 3 COL",
"confidence": 0.56,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_score_same_winner",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "LAD 5 - 3 COL",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "LAD 5 - 4 COL",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.1316,
"recent_form_edge_home_minus_away": -0.419,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 5,
"home_runs": 4,
"winner": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 2,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 5,
"home_runs": 3
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 1,
"winner_quality_edge": 1.6271,
"winner": "LAD",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "LAD",
"display_confidence": 0.56,
"internal_signal_score": 0.677,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.56,
"confidence_compression_detected": false,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 1.6271,
"winner_recent_form_edge": 0.244,
"winner_pitcher_matchup_edge": 0.1316,
"winner_simulation_draw_rate": 0.7,
"blowout_draw_rate_margin_4_plus": 0.0,
"high_total_draw_rate_11_plus": 0.4,
"low_total_draw_rate_6_or_less": 0.2,
"total_runs_spread": {
"min": 3,
"median": 9,
"max": 15,
"range": 12
}
},
"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 LAD | True | 1.0368 | 1.0368 | 1 | 9 | 0 |
| Home COL | True | 0.9928 | 0.9928 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Shohei Ohtani | 24 | 1.1418 | 1.8900 | neutral | 0.4110 | 0.2970 | 0.5850 | 16.80 | 52.50 | 93.50 | 12.90 | 30.70 | 23 | 13.10 | 0.4000 |
| CF | Andy Pages | 4 | 1.0483 | 0.6442 | neutral | 0.3400 | 0.2730 | 0.4400 | 7.80 | 42.60 | 88.90 | 15.50 | 22 | 19.30 | 8.30 | -0.2286 |
| SS | Mookie Betts | 110 | 1.0535 | 0.7138 | neutral | 0.3270 | 0.2740 | 0.4290 | 7.50 | 38.60 | 90.20 | 18.60 | 12.50 | 11.70 | 6.90 | 0.8000 |
| LF | Teoscar Hernández | 309 | 1.0292 | 0.3894 | neutral | 0.3170 | 0.2460 | 0.4170 | 9.30 | 43.90 | 89.90 | 14.40 | 31.70 | 26.90 | 7.90 | 0.1143 |
| 3B | Enrique Hernández | 511 | 0.9664 | -0.4481 | negative_batter_regression | 0.2390 | 0.1930 | 0.3260 | 10 | 35 | 87.50 | 10.90 | 24.60 | 27.60 | 3.40 | -1 |
| 1B | Freddie Freeman | 38 | 1.0933 | 1.2441 | neutral | 0.3750 | 0.3000 | 0.4850 | 8.60 | 42.10 | 89.70 | 12.20 | 21.60 | 15.90 | 10.40 | 0.2000 |
| 2B | Miguel Rojas | 214 | 1.0208 | 0.2768 | neutral | 0.3230 | 0.2890 | 0.4040 | 5.70 | 37.30 | 87.30 | 14.50 | 15.80 | 9.90 | 6.80 | 0.0286 |
| C | Ben Rortvedt | 475 | 0.9497 | -0.6708 | positive_batter_regression | 0.1790 | 0.1920 | 0.2180 | 0 | 12.50 | 84.60 | 10.10 | 28 | 38.50 | 0 | 1.2000 |
| RF | Kyle Tucker | 369 | 1.0279 | 0.3718 | neutral | 0.3270 | 0.2550 | 0.3830 | 6 | 37.60 | 88.80 | 16.90 | 22.50 | 18.60 | 12.10 | 0.4857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Mickey Moniak | 268 | 0.9871 | -0.1718 | negative_batter_regression | 0.2910 | 0.2180 | 0.4130 | 10.80 | 41 | 89.20 | 22 | 29 | 25.70 | 5.50 | -1.6571 |
| RF | Jake McCarthy | 140 | 0.9959 | -0.0546 | negative_batter_regression | 0.3170 | 0.2740 | 0.4050 | 4.80 | 26.60 | 84.80 | 12.70 | 22.50 | 16.80 | 4.80 | -1.0857 |
| CF | Cole Carrigg | 159 | 1.0062 | 0.0828 | negative_batter_regression | 0.3300 | 0.2630 | 0.3920 | 4.60 | 32.70 | 86.80 | 15.50 | 23.70 | 20.30 | 10.60 | -0.9143 |
| 3B | Connor Norby | 383 | 0.9714 | -0.3816 | neutral | 0.2900 | 0.1930 | 0.3320 | 6.90 | 36.60 | 87.10 | 18.80 | 32 | 29.30 | 10.90 | -0.1143 |
| LF | Zac Veen | 350 | 1.0428 | 0.5705 | negative_batter_regression | 0.4120 | 0.2760 | 0.6630 | 20 | 40 | 87.70 | 20.90 | 35.50 | 31.30 | 6.30 | -2 |
| C | Brett Sullivan | 263 | 0.9765 | -0.3140 | negative_batter_regression | 0.2810 | 0.2260 | 0.3610 | 4.40 | 31.90 | 86.90 | 20 | 18.30 | 17.20 | 5.60 | -0.9429 |
| 2B | Adael Amador | 345 | 0.9914 | -0.1146 | negative_batter_regression | 0.3460 | 0.1150 | 0.3020 | 33.30 | 33.30 | 81.20 | 6.90 | 28.60 | 33.30 | 33.30 | -2 |
| 1B | TJ Rumfield | 55 | 0.9900 | -0.1328 | negative_batter_regression | 0.3210 | 0.2550 | 0.3780 | 4.70 | 26.80 | 83.80 | 16 | 19.90 | 14.40 | 9.60 | -1.1714 |
| SS | Ezequiel Tovar | 630 | 0.9737 | -0.3501 | neutral | 0.2730 | 0.2190 | 0.3570 | 6.30 | 33.10 | 87.30 | 17.60 | 29.20 | 25.10 | 6 | 0.4857 |
{
"home": {
"applied": true,
"offense_factor": 0.9928,
"raw_average_factor": 0.9928,
"team_espn_average_rank": 288.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "666160",
"player_name": "Mickey Moniak",
"offense_factor": 0.9871,
"quality_score": -0.1718,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666160",
"espn_id": 36181,
"player_name": "Mickey Moniak",
"team": "COL",
"role": "batter",
"espn_rank": 268,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 268,
"gp_value": 87.0,
"gp_rank": "215",
"ab_value": 299.0,
"ab_rank": "188",
"r_value": 41.0,
"r_rank": "170",
"h_value": 78.0,
"h_rank": "163",
"avg_value": 0.2608695,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": "176",
"3b_value": 4.0,
"3b_rank": "15",
"hr_value": 19.0,
"hr_rank": "53",
"rbi_value": 57.0,
"rbi_rank": "75",
"tb_value": 157.0,
"tb_rank": "528",
"bb_value": 18.0,
"bb_rank": "275",
"so_value": 84.0,
"so_rank": "127",
"sb_value": 1.0,
"sb_rank": "310",
"obp_value": 0.3027522,
"obp_rank": "-",
"slg_value": 0.5250836,
"slg_rank": "-",
"ops_value": 0.8278358,
"ops_rank": null,
"war_value": 0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 243.0,
"k_percent": 25.7,
"bb_percent": 5.5,
"woba": 0.349,
"xwoba": 0.291,
"xba": 0.218,
"xslg": 0.413,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 41.0,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 22.0,
"whiff_percent": 29.0,
"swing_percent": 57.0
},
"components": {
"expected_quality": 0.0699,
"regression_edge": -1.6571,
"xwoba_edge": -0.3143,
"xba_edge": -0.5571,
"xslg_edge": 0.6143,
"barrel_edge": 0.8889,
"hard_hit_edge": 0.4857,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "664983",
"player_name": "Jake McCarthy",
"offense_factor": 0.9959,
"quality_score": -0.0546,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "664983",
"espn_id": 41197,
"player_name": "Jake McCarthy",
"team": "COL",
"role": "batter",
"espn_rank": 140,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 140,
"gp_value": 111.0,
"gp_rank": "119",
"ab_value": 400.0,
"ab_rank": "104",
"r_value": 61.0,
"r_rank": "67",
"h_value": 118.0,
"h_rank": "44",
"avg_value": 0.295,
"avg_rank": 9.0,
"2b_value": 26.0,
"2b_rank": "17",
"3b_value": 7.0,
"3b_rank": "2",
"hr_value": 13.0,
"hr_rank": "118",
"rbi_value": 68.0,
"rbi_rank": "39",
"tb_value": 197.0,
"tb_rank": "419",
"bb_value": 21.0,
"bb_rank": "238",
"so_value": 73.0,
"so_rank": "166",
"sb_value": 22.0,
"sb_rank": "16",
"obp_value": 0.3333333,
"obp_rank": "70",
"slg_value": 0.4925,
"slg_rank": "22",
"ops_value": 0.8258333,
"ops_rank": 92.0,
"war_value": 1.48,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 319.0,
"k_percent": 16.8,
"bb_percent": 4.8,
"woba": 0.355,
"xwoba": 0.317,
"xba": 0.274,
"xslg": 0.405,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 26.6,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 12.7,
"whiff_percent": 22.5,
"swing_percent": 57.6
},
"components": {
"expected_quality": 0.1132,
"regression_edge": -1.0857,
"xwoba_edge": 0.4286,
"xba_edge": 1.0429,
"xslg_edge": 0.5,
"barrel_edge": -0.4444,
"hard_hit_edge": -1.5714,
"exit_velocity_edge": -1.52,
"sweet_spot_edge": 0.9167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "694249",
"player_name": "Cole Carrigg",
"offense_factor": 1.0062,
"quality_score": 0.0828,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "694249",
"espn_id": 5149102,
"player_name": "Cole Carrigg",
"team": "COL",
"role": "batter",
"espn_rank": 159,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 159,
"gp_value": 58.0,
"gp_rank": "339",
"ab_value": 194.0,
"ab_rank": "293",
"r_value": 35.0,
"r_rank": "203",
"h_value": 55.0,
"h_rank": "247",
"avg_value": 0.2835051,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": "141",
"3b_value": 3.0,
"3b_rank": "26",
"hr_value": 5.0,
"hr_rank": "277",
"rbi_value": 34.0,
"rbi_rank": "205",
"tb_value": 92.0,
"tb_rank": "1271",
"bb_value": 24.0,
"bb_rank": "215",
"so_value": 46.0,
"so_rank": "294",
"sb_value": 7.0,
"sb_rank": "113",
"obp_value": 0.3672566,
"obp_rank": "-",
"slg_value": 0.4742268,
"slg_rank": "-",
"ops_value": 0.8414834,
"ops_rank": null,
"war_value": 1.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 136.0,
"k_percent": 20.3,
"bb_percent": 10.6,
"woba": 0.362,
"xwoba": 0.33,
"xba": 0.263,
"xslg": 0.392,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 32.7,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 15.5,
"whiff_percent": 23.7,
"swing_percent": 51.4
},
"components": {
"expected_quality": 0.3046,
"regression_edge": -0.9143,
"xwoba_edge": 0.8,
"xba_edge": 0.7286,
"xslg_edge": 0.3143,
"barrel_edge": -0.4889,
"hard_hit_edge": -0.7,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": 0.6667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "681393",
"player_name": "Connor Norby",
"offense_factor": 0.9714,
"quality_score": -0.3816,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681393",
"espn_id": 4417606,
"player_name": "Connor Norby",
"team": "COL",
"role": "batter",
"espn_rank": 383,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 383,
"gp_value": 72.0,
"gp_rank": "281",
"ab_value": 219.0,
"ab_rank": "266",
"r_value": 20.0,
"r_rank": "319",
"h_value": 45.0,
"h_rank": "288",
"avg_value": 0.2054794,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": "176",
"3b_value": 0.0,
"3b_rank": "270",
"hr_value": 4.0,
"hr_rank": "308",
"rbi_value": 17.0,
"rbi_rank": "337",
"tb_value": 71.0,
"tb_rank": "1928",
"bb_value": 28.0,
"bb_rank": "187",
"so_value": 75.0,
"so_rank": "159",
"sb_value": 8.0,
"sb_rank": "100",
"obp_value": 0.3164062,
"obp_rank": "-",
"slg_value": 0.3242009,
"slg_rank": "-",
"ops_value": 0.6406071,
"ops_rank": null,
"war_value": 0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 29.3,
"bb_percent": 10.9,
"woba": 0.294,
"xwoba": 0.29,
"xba": 0.193,
"xslg": 0.332,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 36.6,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 18.8,
"whiff_percent": 32.0,
"swing_percent": 49.3
},
"components": {
"expected_quality": -0.4251,
"regression_edge": -0.1143,
"xwoba_edge": -0.3429,
"xba_edge": -1.2714,
"xslg_edge": -0.5429,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.1429,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": -0.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "691728",
"player_name": "Zac Veen",
"offense_factor": 1.0428,
"quality_score": 0.5705,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691728",
"espn_id": 4717903,
"player_name": "Zac Veen",
"team": "COL",
"role": "batter",
"espn_rank": 350,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 350,
"gp_value": 6.0,
"gp_rank": "596",
"ab_value": 15.0,
"ab_rank": "578",
"r_value": 3.0,
"r_rank": "524",
"h_value": 5.0,
"h_rank": "533",
"avg_value": 0.3333333,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": "491",
"3b_value": 0.0,
"3b_rank": "270",
"hr_value": 2.0,
"hr_rank": "391",
"rbi_value": 7.0,
"rbi_rank": "447",
"tb_value": 12.0,
"tb_rank": "2737",
"bb_value": 1.0,
"bb_rank": "538",
"so_value": 5.0,
"so_rank": "573",
"sb_value": 0.0,
"sb_rank": "415",
"obp_value": 0.375,
"obp_rank": "-",
"slg_value": 0.8,
"slg_rank": "-",
"ops_value": 1.175,
"ops_rank": null,
"war_value": 0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 31.3,
"bb_percent": 6.3,
"woba": 0.49,
"xwoba": 0.412,
"xba": 0.276,
"xslg": 0.663,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 20.0,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 20.9,
"whiff_percent": 35.5,
"swing_percent": 62.0
},
"components": {
"expected_quality": 1.7997,
"regression_edge": -2.0,
"xwoba_edge": 2.5,
"xba_edge": 1.1,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 0.3429,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "664954",
"player_name": "Brett Sullivan",
"offense_factor": 0.9765,
"quality_score": -0.314,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "664954",
"espn_id": 39913,
"player_name": "Brett Sullivan",
"team": "COL",
"role": "batter",
"espn_rank": 263,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 263,
"gp_value": 65.0,
"gp_rank": "314",
"ab_value": 165.0,
"ab_rank": "328",
"r_value": 21.0,
"r_rank": "310",
"h_value": 40.0,
"h_rank": "312",
"avg_value": 0.2424242,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": "227",
"3b_value": 1.0,
"3b_rank": "122",
"hr_value": 7.0,
"hr_rank": "218",
"rbi_value": 27.0,
"rbi_rank": "263",
"tb_value": 74.0,
"tb_rank": "1437",
"bb_value": 10.0,
"bb_rank": "370",
"so_value": 31.0,
"so_rank": "379",
"sb_value": 1.0,
"sb_rank": "310",
"obp_value": 0.2849162,
"obp_rank": "-",
"slg_value": 0.4484848,
"slg_rank": "-",
"ops_value": 0.733401,
"ops_rank": null,
"war_value": 0.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 135.0,
"k_percent": 17.2,
"bb_percent": 5.6,
"woba": 0.314,
"xwoba": 0.281,
"xba": 0.226,
"xslg": 0.361,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 31.9,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 20.0,
"whiff_percent": 18.3,
"swing_percent": 52.2
},
"components": {
"expected_quality": -0.4414,
"regression_edge": -0.9429,
"xwoba_edge": -0.6,
"xba_edge": -0.3286,
"xslg_edge": -0.1286,
"barrel_edge": -0.5333,
"hard_hit_edge": -0.8143,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "691182",
"player_name": "Adael Amador",
"offense_factor": 0.9914,
"quality_score": -0.1146,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691182",
"espn_id": 4917787,
"player_name": "Adael Amador",
"team": "COL",
"role": "batter",
"espn_rank": 345,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 345,
"gp_value": 4.0,
"gp_rank": "607",
"ab_value": 6.0,
"ab_rank": "610",
"r_value": 5.0,
"r_rank": "484",
"h_value": 2.0,
"h_rank": "573",
"avg_value": 0.3333333,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": "555",
"3b_value": 0.0,
"3b_rank": "270",
"hr_value": 1.0,
"hr_rank": "443",
"rbi_value": 4.0,
"rbi_rank": "496",
"tb_value": 5.0,
"tb_rank": "2997",
"bb_value": 3.0,
"bb_rank": "483",
"so_value": 3.0,
"so_rank": "588",
"sb_value": 0.0,
"sb_rank": "415",
"obp_value": 0.5555555,
"obp_rank": "-",
"slg_value": 0.8333333,
"slg_rank": "-",
"ops_value": 1.3888888,
"ops_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 33.3,
"bb_percent": 33.3,
"woba": 0.559,
"xwoba": 0.346,
"xba": 0.115,
"xslg": 0.302,
"sweet_spot_percent": 0.0,
"barrel_batted_rate": 33.3,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 81.2,
"launch_angle_avg": 6.9,
"whiff_percent": 28.6,
"swing_percent": 40.0
},
"components": {
"expected_quality": 0.0294,
"regression_edge": -2.0,
"xwoba_edge": 1.2571,
"xba_edge": -2.5,
"xslg_edge": -0.9714,
"barrel_edge": 2.5,
"hard_hit_edge": -0.6143,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "681198",
"player_name": "TJ Rumfield",
"offense_factor": 0.99,
"quality_score": -0.1328,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "681198",
"espn_id": 5014349,
"player_name": "TJ Rumfield",
"team": "COL",
"role": "batter",
"espn_rank": 55,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 55,
"gp_value": 122.0,
"gp_rank": "38",
"ab_value": 434.0,
"ab_rank": "78",
"r_value": 53.0,
"r_rank": "110",
"h_value": 127.0,
"h_rank": "25",
"avg_value": 0.2926267,
"avg_rank": 12.0,
"2b_value": 25.0,
"2b_rank": "25",
"3b_value": 2.0,
"3b_rank": "60",
"hr_value": 13.0,
"hr_rank": "118",
"rbi_value": 60.0,
"rbi_rank": "64",
"tb_value": 195.0,
"tb_rank": "524",
"bb_value": 47.0,
"bb_rank": "64",
"so_value": 71.0,
"so_rank": "175",
"sb_value": 0.0,
"sb_rank": "415",
"obp_value": 0.3719512,
"obp_rank": "14",
"slg_value": 0.4493087,
"slg_rank": "50",
"ops_value": 0.8212599,
"ops_rank": 64.0,
"war_value": 2.88,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 398.0,
"k_percent": 14.4,
"bb_percent": 9.6,
"woba": 0.362,
"xwoba": 0.321,
"xba": 0.255,
"xslg": 0.378,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 26.8,
"exit_velocity_avg": 83.8,
"launch_angle_avg": 16.0,
"whiff_percent": 19.9,
"swing_percent": 50.3
},
"components": {
"expected_quality": 0.0363,
"regression_edge": -1.1714,
"xwoba_edge": 0.5429,
"xba_edge": 0.5,
"xslg_edge": 0.1143,
"barrel_edge": -0.4667,
"hard_hit_edge": -1.5429,
"exit_velocity_edge": -1.92,
"sweet_spot_edge": 0.6667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "678662",
"player_name": "Ezequiel Tovar",
"offense_factor": 0.9737,
"quality_score": -0.3501,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678662",
"espn_id": 4905919,
"player_name": "Ezequiel Tovar",
"team": "COL",
"role": "batter",
"espn_rank": 630,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 630,
"gp_value": 116.0,
"gp_rank": "96",
"ab_value": 383.0,
"ab_rank": "116",
"r_value": 42.0,
"r_rank": "166",
"h_value": 79.0,
"h_rank": "157",
"avg_value": 0.2062663,
"avg_rank": 149.0,
"2b_value": 20.0,
"2b_rank": "79",
"3b_value": 0.0,
"3b_rank": "270",
"hr_value": 9.0,
"hr_rank": "182",
"rbi_value": 38.0,
"rbi_rank": "178",
"tb_value": 126.0,
"tb_rank": "1322",
"bb_value": 25.0,
"bb_rank": "207",
"so_value": 105.0,
"so_rank": "66",
"sb_value": 5.0,
"sb_rank": "162",
"obp_value": 0.2535885,
"obp_rank": "151",
"slg_value": 0.3289817,
"slg_rank": "145",
"ops_value": 0.5825702,
"ops_rank": 6.0,
"war_value": -0.88,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 348.0,
"k_percent": 25.1,
"bb_percent": 6.0,
"woba": 0.256,
"xwoba": 0.273,
"xba": 0.219,
"xslg": 0.357,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 33.1,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 17.6,
"whiff_percent": 29.2,
"swing_percent": 62.1
},
"components": {
"expected_quality": -0.4861,
"regression_edge": 0.4857,
"xwoba_edge": -0.8286,
"xba_edge": -0.5286,
"xslg_edge": -0.1857,
"barrel_edge": -0.1111,
"hard_hit_edge": -0.6429,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0368,
"raw_average_factor": 1.0368,
"team_espn_average_rank": 228.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"offense_factor": 1.1418,
"quality_score": 1.89,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660271",
"espn_id": 39832,
"player_name": "Shohei Ohtani",
"team": "LAD",
"role": "batter",
"espn_rank": 24,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 24,
"gp_value": 117.0,
"gp_rank": "85",
"ab_value": 453.0,
"ab_rank": "46",
"r_value": 82.0,
"r_rank": "7",
"h_value": 133.0,
"h_rank": "15",
"avg_value": 0.2935982,
"avg_rank": 10.0,
"2b_value": 24.0,
"2b_rank": "39",
"3b_value": 3.0,
"3b_rank": "26",
"hr_value": 30.0,
"hr_rank": "8",
"rbi_value": 80.0,
"rbi_rank": "8",
"tb_value": 253.0,
"tb_rank": "130",
"bb_value": 70.0,
"bb_rank": "11",
"so_value": 123.0,
"so_rank": "37",
"sb_value": 7.0,
"sb_rank": "113",
"obp_value": 0.3902439,
"obp_rank": "5",
"slg_value": 0.5584988,
"slg_rank": "2",
"ops_value": 0.9487427,
"ops_rank": 7.0,
"war_value": 3.9,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 414.0,
"k_percent": 23.0,
"bb_percent": 13.1,
"woba": 0.397,
"xwoba": 0.411,
"xba": 0.297,
"xslg": 0.585,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 16.8,
"hard_hit_percent": 52.5,
"exit_velocity_avg": 93.5,
"launch_angle_avg": 12.9,
"whiff_percent": 30.7,
"swing_percent": 46.7
},
"components": {
"expected_quality": 2.1326,
"regression_edge": 0.4,
"xwoba_edge": 2.5,
"xba_edge": 1.7,
"xslg_edge": 2.5,
"barrel_edge": 2.2222,
"hard_hit_edge": 2.1286,
"exit_velocity_edge": 1.96,
"sweet_spot_edge": 0.9667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "681624",
"player_name": "Andy Pages",
"offense_factor": 1.0483,
"quality_score": 0.6442,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681624",
"espn_id": 42468,
"player_name": "Andy Pages",
"team": "LAD",
"role": "batter",
"espn_rank": 4,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 4,
"gp_value": 126.0,
"gp_rank": "5",
"ab_value": 487.0,
"ab_rank": "8",
"r_value": 71.0,
"r_rank": "31",
"h_value": 133.0,
"h_rank": "15",
"avg_value": 0.2731006,
"avg_rank": 38.0,
"2b_value": 25.0,
"2b_rank": "25",
"3b_value": 2.0,
"3b_rank": "60",
"hr_value": 21.0,
"hr_rank": "34",
"rbi_value": 80.0,
"rbi_rank": "8",
"tb_value": 225.0,
"tb_rank": "262",
"bb_value": 45.0,
"bb_rank": "76",
"so_value": 105.0,
"so_rank": "66",
"sb_value": 12.0,
"sb_rank": "58",
"obp_value": 0.3388581,
"obp_rank": "60",
"slg_value": 0.4620123,
"slg_rank": "42",
"ops_value": 0.8008704,
"ops_rank": 102.0,
"war_value": 5.55,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 432.0,
"k_percent": 19.3,
"bb_percent": 8.3,
"woba": 0.348,
"xwoba": 0.34,
"xba": 0.273,
"xslg": 0.44,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 42.6,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 15.5,
"whiff_percent": 22.0,
"swing_percent": 47.8
},
"components": {
"expected_quality": 0.7862,
"regression_edge": -0.2286,
"xwoba_edge": 1.0857,
"xba_edge": 1.0143,
"xslg_edge": 1.0,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.7143,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "605141",
"player_name": "Mookie Betts",
"offense_factor": 1.0535,
"quality_score": 0.7138,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605141",
"espn_id": 33039,
"player_name": "Mookie Betts",
"team": "LAD",
"role": "batter",
"espn_rank": 110,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 110,
"gp_value": 90.0,
"gp_rank": "200",
"ab_value": 349.0,
"ab_rank": "137",
"r_value": 47.0,
"r_rank": "136",
"h_value": 81.0,
"h_rank": "152",
"avg_value": 0.2320916,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": "176",
"3b_value": 0.0,
"3b_rank": "270",
"hr_value": 15.0,
"hr_rank": "94",
"rbi_value": 42.0,
"rbi_rank": "157",
"tb_value": 140.0,
"tb_rank": "1150",
"bb_value": 26.0,
"bb_rank": "200",
"so_value": 44.0,
"so_rank": "304",
"sb_value": 1.0,
"sb_rank": "310",
"obp_value": 0.2864721,
"obp_rank": "-",
"slg_value": 0.4011461,
"slg_rank": "-",
"ops_value": 0.6876182,
"ops_rank": null,
"war_value": 1.83,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 276.0,
"k_percent": 11.7,
"bb_percent": 6.9,
"woba": 0.299,
"xwoba": 0.327,
"xba": 0.274,
"xslg": 0.429,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 38.6,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 18.6,
"whiff_percent": 12.5,
"swing_percent": 42.3
},
"components": {
"expected_quality": 0.6998,
"regression_edge": 0.8,
"xwoba_edge": 0.7143,
"xba_edge": 1.0429,
"xslg_edge": 0.8429,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.1429,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 1.0333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"offense_factor": 1.0292,
"quality_score": 0.3894,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606192",
"espn_id": 33377,
"player_name": "Teoscar Hernandez",
"team": "LAD",
"role": "batter",
"espn_rank": 309,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 309,
"gp_value": 92.0,
"gp_rank": "188",
"ab_value": 320.0,
"ab_rank": "171",
"r_value": 49.0,
"r_rank": "126",
"h_value": 80.0,
"h_rank": "156",
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": "176",
"3b_value": 1.0,
"3b_rank": "122",
"hr_value": 11.0,
"hr_rank": "148",
"rbi_value": 43.0,
"rbi_rank": "151",
"tb_value": 129.0,
"tb_rank": "708",
"bb_value": 28.0,
"bb_rank": "187",
"so_value": 95.0,
"so_rank": "92",
"sb_value": 2.0,
"sb_rank": "255",
"obp_value": 0.3116147,
"obp_rank": "-",
"slg_value": 0.403125,
"slg_rank": "-",
"ops_value": 0.7147397,
"ops_rank": null,
"war_value": 0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 263.0,
"k_percent": 26.9,
"bb_percent": 7.9,
"woba": 0.313,
"xwoba": 0.317,
"xba": 0.246,
"xslg": 0.417,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 43.9,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 14.4,
"whiff_percent": 31.7,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.4342,
"regression_edge": 0.1143,
"xwoba_edge": 0.4286,
"xba_edge": 0.2429,
"xslg_edge": 0.6714,
"barrel_edge": 0.5556,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.4333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "571771",
"player_name": "Enrique Hernández",
"offense_factor": 0.9664,
"quality_score": -0.4481,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "571771",
"espn_id": 31358,
"player_name": "Enrique Hernandez",
"team": "LAD",
"role": "batter",
"espn_rank": 511,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 511,
"gp_value": 15.0,
"gp_rank": "515",
"ab_value": 28.0,
"ab_rank": "542",
"r_value": 3.0,
"r_rank": "524",
"h_value": 6.0,
"h_rank": "523",
"avg_value": 0.2142857,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": "459",
"3b_value": 0.0,
"3b_rank": "270",
"hr_value": 1.0,
"hr_rank": "443",
"rbi_value": 2.0,
"rbi_rank": "531",
"tb_value": 11.0,
"tb_rank": "2851",
"bb_value": 1.0,
"bb_rank": "538",
"so_value": 8.0,
"so_rank": "533",
"sb_value": 0.0,
"sb_rank": "415",
"obp_value": 0.2413793,
"obp_rank": "-",
"slg_value": 0.3928571,
"slg_rank": "-",
"ops_value": 0.6342364,
"ops_rank": null,
"war_value": -0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 4.0,
"k_percent": 27.6,
"bb_percent": 3.4,
"woba": 0.274,
"xwoba": 0.239,
"xba": 0.193,
"xslg": 0.326,
"sweet_spot_percent": 15.0,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 35.0,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 10.9,
"whiff_percent": 24.6,
"swing_percent": 60.7
},
"components": {
"expected_quality": -0.9951,
"regression_edge": -1.0,
"xwoba_edge": -1.8,
"xba_edge": -1.2714,
"xslg_edge": -0.6286,
"barrel_edge": 0.7111,
"hard_hit_edge": -0.3714,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.0933,
"quality_score": 1.2441,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518692",
"espn_id": 30193,
"player_name": "Freddie Freeman",
"team": "LAD",
"role": "batter",
"espn_rank": 38,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 38,
"gp_value": 123.0,
"gp_rank": "29",
"ab_value": 464.0,
"ab_rank": "35",
"r_value": 62.0,
"r_rank": "63",
"h_value": 141.0,
"h_rank": "5",
"avg_value": 0.3038793,
"avg_rank": 8.0,
"2b_value": 29.0,
"2b_rank": "6",
"3b_value": 1.0,
"3b_rank": "122",
"hr_value": 15.0,
"hr_rank": "94",
"rbi_value": 60.0,
"rbi_rank": "64",
"tb_value": 217.0,
"tb_rank": "527",
"bb_value": 55.0,
"bb_rank": "38",
"so_value": 84.0,
"so_rank": "127",
"sb_value": 6.0,
"sb_rank": "137",
"obp_value": 0.3776091,
"obp_rank": "12",
"slg_value": 0.4676724,
"slg_rank": "38",
"ops_value": 0.8452815,
"ops_rank": 26.0,
"war_value": 3.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 426.0,
"k_percent": 15.9,
"bb_percent": 10.4,
"woba": 0.368,
"xwoba": 0.375,
"xba": 0.3,
"xslg": 0.485,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 12.2,
"whiff_percent": 21.6,
"swing_percent": 50.6
},
"components": {
"expected_quality": 1.414,
"regression_edge": 0.2,
"xwoba_edge": 2.0857,
"xba_edge": 1.7857,
"xslg_edge": 1.6429,
"barrel_edge": 0.4,
"hard_hit_edge": 0.6429,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "500743",
"player_name": "Miguel Rojas",
"offense_factor": 1.0208,
"quality_score": 0.2768,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "500743",
"espn_id": 30791,
"player_name": "Miguel Rojas",
"team": "LAD",
"role": "batter",
"espn_rank": 214,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 214,
"gp_value": 79.0,
"gp_rank": "253",
"ab_value": 169.0,
"ab_rank": "323",
"r_value": 20.0,
"r_rank": "319",
"h_value": 48.0,
"h_rank": "275",
"avg_value": 0.2840236,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": "205",
"3b_value": 0.0,
"3b_rank": "270",
"hr_value": 3.0,
"hr_rank": "345",
"rbi_value": 18.0,
"rbi_rank": "333",
"tb_value": 69.0,
"tb_rank": "2055",
"bb_value": 13.0,
"bb_rank": "334",
"so_value": 19.0,
"so_rank": "450",
"sb_value": 0.0,
"sb_rank": "415",
"obp_value": 0.3315789,
"obp_rank": "-",
"slg_value": 0.408284,
"slg_rank": "-",
"ops_value": 0.7398629,
"ops_rank": null,
"war_value": 0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 9.9,
"bb_percent": 6.8,
"woba": 0.322,
"xwoba": 0.323,
"xba": 0.289,
"xslg": 0.404,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 37.3,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 14.5,
"whiff_percent": 15.8,
"swing_percent": 48.2
},
"components": {
"expected_quality": 0.4463,
"regression_edge": 0.0286,
"xwoba_edge": 0.6,
"xba_edge": 1.4714,
"xslg_edge": 0.4857,
"barrel_edge": -0.2444,
"hard_hit_edge": -0.0429,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "666163",
"player_name": "Ben Rortvedt",
"offense_factor": 0.9497,
"quality_score": -0.6708,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666163",
"espn_id": 40869,
"player_name": "Ben Rortvedt",
"team": "LAD",
"role": "batter",
"espn_rank": 475,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 475,
"gp_value": 9.0,
"gp_rank": "562",
"ab_value": 13.0,
"ab_rank": "584",
"r_value": 0.0,
"r_rank": "607",
"h_value": 2.0,
"h_rank": "573",
"avg_value": 0.1538461,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": "555",
"3b_value": 0.0,
"3b_rank": "270",
"hr_value": 0.0,
"hr_rank": "514",
"rbi_value": 1.0,
"rbi_rank": "564",
"tb_value": 2.0,
"tb_rank": "3210",
"bb_value": 0.0,
"bb_rank": "594",
"so_value": 5.0,
"so_rank": "573",
"sb_value": 0.0,
"sb_rank": "415",
"obp_value": 0.1538461,
"obp_rank": "-",
"slg_value": 0.1538461,
"slg_rank": "-",
"ops_value": 0.3076922,
"ops_rank": null,
"war_value": -0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 38.5,
"bb_percent": 0.0,
"woba": 0.137,
"xwoba": 0.179,
"xba": 0.192,
"xslg": 0.218,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 12.5,
"exit_velocity_avg": 84.6,
"launch_angle_avg": 10.1,
"whiff_percent": 28.0,
"swing_percent": 47.2
},
"components": {
"expected_quality": -1.9288,
"regression_edge": 1.2,
"xwoba_edge": -2.5,
"xba_edge": -1.3,
"xslg_edge": -2.1714,
"barrel_edge": -1.5111,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.0279,
"quality_score": 0.3718,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663656",
"espn_id": 34967,
"player_name": "Kyle Tucker",
"team": "LAD",
"role": "batter",
"espn_rank": 369,
"espn_total_ranked": 644,
"metrics": {
"espn_rank": 369,
"gp_value": 119.0,
"gp_rank": "66",
"ab_value": 422.0,
"ab_rank": "84",
"r_value": 67.0,
"r_rank": "43",
"h_value": 97.0,
"h_rank": "106",
"avg_value": 0.2298578,
"avg_rank": 119.0,
"2b_value": 19.0,
"2b_rank": "100",
"3b_value": 3.0,
"3b_rank": "26",
"hr_value": 11.0,
"hr_rank": "148",
"rbi_value": 55.0,
"rbi_rank": "82",
"tb_value": 155.0,
"tb_rank": "702",
"bb_value": 59.0,
"bb_rank": "31",
"so_value": 91.0,
"so_rank": "107",
"sb_value": 7.0,
"sb_rank": "113",
"obp_value": 0.3258196,
"obp_rank": "82",
"slg_value": 0.3672985,
"slg_rank": "129",
"ops_value": 0.6931181,
"ops_rank": 211.0,
"war_value": 0.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 391.0,
"k_percent": 18.6,
"bb_percent": 12.1,
"woba": 0.31,
"xwoba": 0.327,
"xba": 0.255,
"xslg": 0.383,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 37.6,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 16.9,
"whiff_percent": 22.5,
"swing_percent": 48.9
},
"components": {
"expected_quality": 0.3532,
"regression_edge": 0.4857,
"xwoba_edge": 0.7143,
"xba_edge": 0.5,
"xslg_edge": 0.1857,
"barrel_edge": -0.1778,
"hard_hit_edge": 0.0,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}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 LAD | True | 249 | -0.1232 | 1 | 1.0105 | 1.0297 | 1.0140 | 1.1014 | neutral | 0.3190 | 0.3360 | 22.90 | 9.60 | 29.70 | 10.20 | 44.40 | |
| Home COL | True | 576 | -0.5049 | 1 | 1.0429 | 0.9629 | 0.9220 | 1.1245 | neutral | 0.3490 | 0.3680 | 18.30 | 5 | 22.60 | 10.60 | 42.70 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAD | True | None | 86 | 92.22 | 1705 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1284 | |
| Home COL | True | None | 91 | 87.10 | 2264 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1584 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0429 |
| home_runs_vs_away_pitcher | 1.0105 |
| home_pitcher_quality_edge | -0.3817 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "607536",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 406.0,
"k_percent": 18.3,
"bb_percent": 5.0,
"woba": 0.368,
"xwoba": 0.349,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 42.7,
"avg_best_speed": 79.2062,
"avg_hyper_speed": 95.092,
"whiff_percent": 22.6,
"swing_percent": 50.9
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.8903,
"command_and_miss": -0.1843,
"regression_edge": 0.5429,
"xwoba_edge": -1.0857,
"barrel_edge": -0.7778,
"hard_hit_edge": -0.7429,
"whiff_edge": -0.3857,
"bb_edge": 0.975,
"pitch_design_score": -0.1584
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607536",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 87.09867570416512,
"release_spin_rate": 2263.68851618993,
"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": 91,
"pitch_usage": 0.0,
"release_speed": 87.09867570416512,
"release_spin_rate": 2263.68851618993,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.0987,
"release_spin_rate": 2263.6885,
"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.1584,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1312,
"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.5049,
"sample_weight": 1.0,
"run_prevention_factor": 1.0429,
"strikeout_factor": 0.9629,
"walk_factor": 0.922,
"homer_factor": 1.1245,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607536",
"espn_id": 33839,
"player_name": "Kyle Freeland",
"team": "COL",
"role": "pitcher",
"espn_rank": 576,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 576,
"gp_value": 22.0,
"gp_rank": 321,
"gs_value": 22.0,
"gs_rank": 62,
"qs_value": 4.0,
"qs_rank": 116,
"era_value": 6.2651,
"era_rank": null,
"w_value": 4.0,
"w_rank": 159,
"l_value": 10.0,
"l_rank": 11,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 321,
"ip_value": 120.2,
"ip_rank": 66,
"h_value": 147.0,
"h_rank": 5,
"er_value": 84.0,
"er_rank": 2,
"hr_value": 22.0,
"hr_rank": 15,
"bb_value": 27.0,
"bb_rank": 161,
"k_value": 98.0,
"k_rank": 83,
"k_per_9_value": 7.309392,
"k_per_9_rank": 33,
"whip_value": 1.4419,
"whip_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "808963",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 372.0,
"k_percent": 22.9,
"bb_percent": 9.6,
"woba": 0.336,
"xwoba": 0.319,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 44.4,
"avg_best_speed": 79.1974,
"avg_hyper_speed": 94.6018,
"whiff_percent": 29.7,
"swing_percent": 49.7
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.4348,
"command_and_miss": 0.2364,
"regression_edge": 0.4857,
"xwoba_edge": -0.2286,
"barrel_edge": -0.6889,
"hard_hit_edge": -0.9857,
"whiff_edge": 0.6286,
"bb_edge": -0.175,
"pitch_design_score": 0.1284
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "808963",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"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": 86,
"pitch_usage": 0.0,
"release_speed": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"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.22,
"release_spin_rate": 1704.628,
"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.1284,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9173,
"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.1232,
"sample_weight": 1.0,
"run_prevention_factor": 1.0105,
"strikeout_factor": 1.0297,
"walk_factor": 1.014,
"homer_factor": 1.1014,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808963",
"espn_id": 5134638,
"player_name": "Roki Sasaki",
"team": "LAD",
"role": "pitcher",
"espn_rank": 249,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 249,
"gp_value": 21.0,
"gp_rank": 339,
"gs_value": 21.0,
"gs_rank": 73,
"qs_value": 7.0,
"qs_rank": 71,
"era_value": 4.4594,
"era_rank": null,
"w_value": 5.0,
"w_rank": 117,
"l_value": 5.0,
"l_rank": 116,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 321,
"ip_value": 111.0,
"ip_rank": 89,
"h_value": 98.0,
"h_rank": 91,
"er_value": 55.0,
"er_rank": 54,
"hr_value": 21.0,
"hr_rank": 18,
"bb_value": 45.0,
"bb_rank": 37,
"k_value": 108.0,
"k_rank": 64,
"k_per_9_value": 8.756757,
"k_per_9_rank": 19,
"whip_value": 1.2882,
"whip_rank": null,
"war_value": 0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0429,
"home_runs_vs_away_pitcher": 1.0105,
"home_pitcher_quality_edge": -0.3817
},
"score_before": {
"away_runs": 5.1963,
"home_runs": 4.4723
},
"score_after": {
"away_runs": 5.4192,
"home_runs": 4.5193,
"home_win_probability": 0.4166
},
"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 LAD | 6-4 | 0.600 | 4.50 | 4.20 | 3 | 2W | average | average |
| Home COL | 5-5 | 0.500 | 5.10 | 6.20 | -11 | 2L | hot | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away LAD | 75-51 | 0.595 | 142 | 1.127 | True |
| Home COL | 50-75 | 0.400 | -119 | -0.952 | True |
| Signal | - | - | -2.079 | -1.627 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-08-18 | LAD @ COL | 7 - 6 | LAD | 1 | close |
| 2026-08-17 | LAD @ COL | 11 - 5 | LAD | 6 | blowout |
| 2026-07-08 | COL @ LAD | 3 - 4 | LAD | 1 | close |
| 2026-07-07 | COL @ LAD | 4 - 3 | COL | 1 | close |
| 2026-07-06 | COL @ LAD | 7 - 8 | LAD | 1 | close |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target LAD | - | - | 5 | - | - | - | - |
| Game target COL | - | - | 3 | - | - | - | - |
| Player finalized LAD | 36 | 10 | 6 | 0 | 4 | 1 | 8 |
| Player finalized COL | 31 | 9 | 4 | 0 | 4 | 1 | 9 |
| Player model fractional LAD | 32.30 | 7.59 | 4.39 | 1.17 | 4.07 | 2.67 | 6.62 |
| Player model fractional COL | 29.52 | 6.37 | 5.23 | 0.81 | 3.79 | 3.28 | 7.68 |
| Simulation box LAD | 43 | 10 | 5 | 0 | 5 | 7 | 8 |
| Simulation box COL | 39 | 6 | 4 | 1 | 4 | 3 | 12 |
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 LAD | Starter | Roki Sasaki | 5.20 | 3 | 6 | 5 | 3 | 3.74 | 1.24 | True |
| Away LAD | Middle Reliever | Edgardo Henriquez | 1.20 | 0 | 2 | 0 | 0 | 3.59 | 1.04 | True |
| Away LAD | Middle Reliever | Tanner Scott | 1.10 | 0 | 1 | 0 | 0 | 3.00 | 1.31 | True |
| Away LAD | Middle Reliever | Alex Vesia | 0.20 | 0 | 1 | 0 | 0 | 3.71 | 1.34 | True |
| Away LAD | Reliever | Kyle Hurt | 1.20 | 1 | 2 | 1 | 0 | 4.24 | 1.43 | - |
| Home COL | Starter | Kyle Freeland | 4.20 | 3 | 3 | 6 | 4 | 4.39 | 1.23 | True |
| Home COL | Middle Reliever | Brennan Bernardino | 1.10 | 1 | 0 | 1 | 2 | 4.31 | 1.41 | True |
| Home COL | Middle Reliever | Jimmy Herget | 1 | 0 | 1 | 0 | 0 | 4.56 | 1.46 | True |
| Home COL | Middle Reliever | Jordan Romano | 1.10 | 1 | 1 | 1 | 0 | 4.54 | 1.48 | True |
| Home COL | Middle Reliever | Juan Mejia | 1.20 | 0 | 0 | 0 | 0 | 7.27 | 1.98 | True |
| Home COL | Middle Reliever | Zach Agnos | 1 | 0 | 3 | 2 | 1 | 2.21 | 0.94 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | COL | pitcher | Starter | Kyle Freeland | worse | 3 | 2 | 1 | 0 | 3 | predicted_H | 3.0000 | boost | worse |
| home | COL | pitcher | Middle Reliever | Juan Mejia | better | 2 | 1 | 1 | 2 | 0 | predicted_H | -3.0000 | deboost | better |
| away | LAD | batter | 3B | Enrique Hernández | better | 10 | 8 | 2 | 7 | 3 | predicted_AB | 2.5000 | boost | better |
| away | LAD | batter | 2B | Miguel Rojas | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 2.5000 | boost | better |
| away | LAD | batter | C | Ben Rortvedt | worse | 7 | 2 | 5 | 1 | 6 | predicted_AB | 2.5000 | boost | better |
| home | COL | batter | LF | Zac Veen | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | 2.5000 | boost | better |
| home | COL | batter | CF | Cole Carrigg | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 2.1640 | boost | worse |
| home | COL | batter | 2B | Adael Amador | worse | 10 | 3 | 7 | 4 | 6 | predicted_R | -2.0830 | deboost | worse |
| away | LAD | pitcher | Reliever | Kyle Hurt | boosted | 4 | 4 | 0 | 2 | 2 | predicted_SO | 2.0000 | boost | better |
| home | COL | batter | 3B | Connor Norby | better | 8 | 4 | 4 | 5 | 3 | predicted_AB | 1.9150 | boost | better |
| away | LAD | batter | DH | Shohei Ohtani | better | 10 | 7 | 3 | 8 | 2 | predicted_H | 1.8710 | boost | better |
| home | COL | batter | C | Brett Sullivan | worse | 11 | 6 | 5 | 5 | 6 | predicted_RBI | 1.7600 | boost | better |
| away | LAD | batter | LF | Teoscar Hernández | better | 8 | 6 | 2 | 6 | 2 | predicted_BB | 1.7000 | boost | better |
| away | LAD | batter | CF | Andy Pages | worse | 11 | 2 | 9 | 3 | 8 | predicted_BB | 1.6370 | boost | better |
| away | LAD | batter | 1B | Freddie Freeman | boosted | 10 | 6 | 4 | 5 | 5 | predicted_BB | 1.5490 | boost | better |
| away | LAD | batter | SS | Mookie Betts | better | 10 | 7 | 3 | 6 | 4 | predicted_SO | 1.5230 | boost | worse |
| home | COL | batter | RF | Jake McCarthy | worse | 12 | 2 | 10 | 3 | 9 | predicted_AB | 1.1900 | boost | better |
| away | LAD | batter | RF | Kyle Tucker | better | 11 | 5 | 6 | 6 | 5 | predicted_AB | 1.0700 | boost | better |
| home | COL | batter | DH | Mickey Moniak | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.0240 | boost | worse |
| home | COL | pitcher | Middle Reliever | Zach Agnos | better | 2 | 1 | 1 | 2 | 0 | predicted_ER | -1.0000 | deboost | better |
| home | COL | batter | 1B | TJ Rumfield | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | 0.9200 | boost | better |
| home | COL | batter | SS | Ezequiel Tovar | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.5400 | deboost | worse |
| away | LAD | pitcher | Starter | Roki Sasaki | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | LAD | pitcher | Middle Reliever | Alex Vesia | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | LAD | pitcher | Middle Reliever | Edgardo Henriquez | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | LAD | pitcher | Middle Reliever | Tanner Scott | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | COL | pitcher | Middle Reliever | Brennan Bernardino | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | COL | pitcher | Middle Reliever | Jordan Romano | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Roki Sasaki |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1232 |
| ESPN Rank | 249 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1284 |
| Avg Velo | 92.2200 |
| Avg Spin | 1704.6280 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 4.4595 |
| Season WHIP | 1.2883 |
| Role Avg IP | 5.2860 |
| Recent Avg IP | 6 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 134,
"wins": 79,
"losses": 55,
"win_pct": 0.5896,
"runs_scored": 668.0,
"runs_allowed": 515.0,
"run_differential": 153.0,
"run_differential_per_game": 1.1418,
"avg_runs_scored": 4.9851,
"avg_runs_allowed": 3.8433,
"offense_index": 1.1103,
"defense_index": 1.1682,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.251
},
"opponent": {
"team": "COL",
"games": 135,
"wins": 54,
"losses": 81,
"win_pct": 0.4,
"runs_scored": 660.0,
"runs_allowed": 777.0,
"run_differential": -117.0,
"run_differential_per_game": -0.8667,
"avg_runs_scored": 4.8889,
"avg_runs_allowed": 5.7556,
"offense_index": 1.0889,
"defense_index": 0.7801,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.2,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1912
},
"edges": {
"quality_edge": 0.4422,
"offense_edge": 0.1103,
"opponent_offense_edge": 0.0889,
"defense_strength": 0.1682,
"opponent_defense_weakness": 0.2199,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0192,
"run_prevention": 0.9753,
"strikeout": 1.0062
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "808963",
"profile": {
"available": true,
"pitcher_id": "808963",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 372.0,
"k_percent": 22.9,
"bb_percent": 9.6,
"woba": 0.336,
"xwoba": 0.319,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 44.4,
"avg_best_speed": 79.1974,
"avg_hyper_speed": 94.6018,
"whiff_percent": 29.7,
"swing_percent": 49.7
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.4348,
"command_and_miss": 0.2364,
"regression_edge": 0.4857,
"xwoba_edge": -0.2286,
"barrel_edge": -0.6889,
"hard_hit_edge": -0.9857,
"whiff_edge": 0.6286,
"bb_edge": -0.175,
"pitch_design_score": 0.1284
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "808963",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"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": 86,
"pitch_usage": 0.0,
"release_speed": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"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.22,
"release_spin_rate": 1704.628,
"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.1284,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9173,
"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.1232,
"sample_weight": 1.0,
"run_prevention_factor": 1.0105,
"strikeout_factor": 1.0297,
"walk_factor": 1.014,
"homer_factor": 1.1014,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808963",
"espn_id": 5134638,
"player_name": "Roki Sasaki",
"team": "LAD",
"role": "pitcher",
"espn_rank": 249,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 249,
"gp_value": 21.0,
"gp_rank": 339,
"gs_value": 21.0,
"gs_rank": 73,
"qs_value": 7.0,
"qs_rank": 71,
"era_value": 4.4594,
"era_rank": null,
"w_value": 5.0,
"w_rank": 117,
"l_value": 5.0,
"l_rank": 116,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 321,
"ip_value": 111.0,
"ip_rank": 89,
"h_value": 98.0,
"h_rank": 91,
"er_value": 55.0,
"er_rank": 54,
"hr_value": 21.0,
"hr_rank": 18,
"bb_value": 45.0,
"bb_rank": 37,
"k_value": 108.0,
"k_rank": 64,
"k_per_9_value": 8.756757,
"k_per_9_rank": 19,
"whip_value": 1.2882,
"whip_rank": null,
"war_value": 0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0105,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0105,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.014,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1014,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0297,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 53.0,
"ER": 29,
"H": 46,
"BB": 24,
"SO": 48,
"HR": 11,
"ERA": 4.9245283018867925,
"WHIP": 1.320754716981132,
"K9": 8.150943396226415,
"HR9": 1.8679245283018868,
"games_pitched": 10,
"quality_starts": 4,
"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-13T00:00:00"
}{
"available": true,
"pitcher_id": "808963",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"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": 86,
"pitch_usage": 0.0,
"release_speed": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"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.22,
"release_spin_rate": 1704.628,
"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.1284,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9173,
"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",
"player_id": "808963",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 7.0,
"R": 8.0,
"H": 21.0,
"BB": 12.0,
"SO": 28.0,
"HR": 2.0,
"BF": 119.0,
"Pitches": 465.0
},
"per_game": {
"IP": 6.0,
"ER": 1.4,
"R": 1.6,
"H": 4.2,
"BB": 2.4,
"SO": 5.6,
"HR": 0.4,
"BF": 23.8,
"Pitches": 93.0
},
"rates": {
"ERA": 2.1,
"WHIP": 1.1,
"ER_per_IP": 0.23333,
"H_per_IP": 0.7,
"BB_per_IP": 0.4,
"SO_per_IP": 0.93333,
"HR_per_IP": 0.06667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.0,
"ER": 29.0,
"R": 30.0,
"H": 46.0,
"BB": 24.0,
"SO": 48.0,
"HR": 11.0,
"BF": 224.0,
"Pitches": 893.0
},
"per_game": {
"IP": 5.1,
"ER": 2.9,
"R": 3.0,
"H": 4.6,
"BB": 2.4,
"SO": 4.8,
"HR": 1.1,
"BF": 22.4,
"Pitches": 89.3
},
"rates": {
"ERA": 4.9245,
"WHIP": 1.3208,
"ER_per_IP": 0.54717,
"H_per_IP": 0.86792,
"BB_per_IP": 0.45283,
"SO_per_IP": 0.90566,
"HR_per_IP": 0.20755
}
},
"season": {
"games": 21,
"totals": {
"IP": 111.0,
"ER": 55.0,
"R": 57.0,
"H": 98.0,
"BB": 45.0,
"SO": 108.0,
"HR": 21.0,
"BF": 471.0,
"Pitches": 1887.0
},
"per_game": {
"IP": 5.1,
"ER": 2.619,
"R": 2.7143,
"H": 4.6667,
"BB": 2.1429,
"SO": 5.1429,
"HR": 1.0,
"BF": 22.4286,
"Pitches": 89.8571
},
"rates": {
"ERA": 4.4595,
"WHIP": 1.2883,
"ER_per_IP": 0.4955,
"H_per_IP": 0.88288,
"BB_per_IP": 0.40541,
"SO_per_IP": 0.97297,
"HR_per_IP": 0.18919
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.342,
"predicted_H": 4.675,
"predicted_BB": 2.307,
"predicted_SO": 5.277,
"predicted_HR": 0.8,
"predicted_ERA": 3.7379,
"predicted_WHIP": 1.238
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4312,
"form_weight": 0.5688,
"form_reliability": 0.8077,
"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": 3.0,
"form": 2.342,
"final": 2.6258,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.675,
"final": 4.8152,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.307,
"final": 2.6059,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 5.277,
"final": 5.5888,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.8,
"final": 0.8862,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7379,
"final": 3.7379,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.238,
"final": 1.238,
"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 | Edgardo Henriquez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5800 |
| ESPN Rank | 295 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.0600 |
| Season WHIP | 1.0600 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 134,
"wins": 79,
"losses": 55,
"win_pct": 0.5896,
"runs_scored": 668.0,
"runs_allowed": 515.0,
"run_differential": 153.0,
"run_differential_per_game": 1.1418,
"avg_runs_scored": 4.9851,
"avg_runs_allowed": 3.8433,
"offense_index": 1.1103,
"defense_index": 1.1682,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.251
},
"opponent": {
"team": "COL",
"games": 135,
"wins": 54,
"losses": 81,
"win_pct": 0.4,
"runs_scored": 660.0,
"runs_allowed": 777.0,
"run_differential": -117.0,
"run_differential_per_game": -0.8667,
"avg_runs_scored": 4.8889,
"avg_runs_allowed": 5.7556,
"offense_index": 1.0889,
"defense_index": 0.7801,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.2,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1912
},
"edges": {
"quality_edge": 0.4422,
"offense_edge": 0.1103,
"opponent_offense_edge": 0.0889,
"defense_strength": 0.1682,
"opponent_defense_weakness": 0.2199,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0192,
"run_prevention": 0.9753,
"strikeout": 1.0062
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683618",
"profile": {
"available": true,
"pitcher_id": "683618",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 157.0,
"k_percent": 26.7,
"bb_percent": 11.4,
"woba": 0.252,
"xwoba": 0.253,
"sweet_spot_percent": 24.2,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 25.8,
"avg_best_speed": 70.5025,
"avg_hyper_speed": 92.0082,
"whiff_percent": 29.6,
"swing_percent": 48.5
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.4752,
"command_and_miss": 0.3857,
"regression_edge": -0.0286,
"xwoba_edge": 1.6571,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.6714,
"whiff_edge": 0.6143,
"bb_edge": -0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683618",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.58,
"sample_weight": 0.628,
"run_prevention_factor": 0.9507,
"strikeout_factor": 1.0319,
"walk_factor": 1.0314,
"homer_factor": 0.8754,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683618",
"espn_id": 5194684,
"player_name": "Edgardo Henriquez",
"team": "LAD",
"role": "pitcher",
"espn_rank": 295,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 295,
"gp_value": 50.0,
"gp_rank": 60,
"gs_value": 1.0,
"gs_rank": 287,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.06,
"era_rank": null,
"w_value": 4.0,
"w_rank": 159,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 9.0,
"hld_rank": 83,
"ip_value": 50.0,
"ip_rank": 252,
"h_value": 30.0,
"h_rank": 374,
"er_value": 17.0,
"er_rank": 331,
"hr_value": 1.0,
"hr_rank": 578,
"bb_value": 23.0,
"bb_rank": 205,
"k_value": 54.0,
"k_rank": 222,
"k_per_9_value": 9.72,
"k_per_9_rank": 23,
"whip_value": 1.06,
"whip_rank": null,
"war_value": 0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.969,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.969,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0197,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9218,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.02,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.1,
"ER": 4,
"H": 6,
"BB": 5,
"SO": 12,
"HR": 0,
"ERA": 4.319999999999999,
"WHIP": 1.3199999999999998,
"K9": 12.959999999999999,
"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-18T00:00:00"
}{
"available": false,
"pitcher_id": "683618",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6667,
"prior_weight": 0.3333
},
"role": "pitcher",
"player_id": "683618",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 14.0,
"Pitches": 53.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 2.8,
"Pitches": 10.6
},
"rates": {
"ERA": 2.25,
"WHIP": 0.5,
"ER_per_IP": 0.25,
"H_per_IP": 0.25,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 5.0,
"SO": 12.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 154.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.5,
"SO": 1.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 15.4
},
"rates": {
"ERA": 4.32,
"WHIP": 1.32,
"ER_per_IP": 0.48,
"H_per_IP": 0.72,
"BB_per_IP": 0.6,
"SO_per_IP": 1.44,
"HR_per_IP": 0.0
}
},
"season": {
"games": 50,
"totals": {
"IP": 50.0,
"ER": 17.0,
"R": 23.0,
"H": 30.0,
"BB": 23.0,
"SO": 54.0,
"HR": 1.0,
"BF": 202.0,
"Pitches": 800.0
},
"per_game": {
"IP": 1.0,
"ER": 0.34,
"R": 0.46,
"H": 0.6,
"BB": 0.46,
"SO": 1.08,
"HR": 0.02,
"BF": 4.04,
"Pitches": 16.0
},
"rates": {
"ERA": 3.06,
"WHIP": 1.06,
"ER_per_IP": 0.34,
"H_per_IP": 0.6,
"BB_per_IP": 0.46,
"SO_per_IP": 1.08,
"HR_per_IP": 0.02
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.328,
"predicted_H": 0.532,
"predicted_BB": 0.327,
"predicted_SO": 0.903,
"predicted_HR": 0.043,
"predicted_ERA": 3.5854,
"predicted_WHIP": 1.0443
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4908,
"form_weight": 0.5092,
"form_reliability": 0.6667,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6667,
"prior_weight": 0.3333
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.328,
"final": 0.167,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.532,
"final": 0.2709,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.327,
"final": 0.1665,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.903,
"final": 1.4414,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.043,
"final": 0.0219,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5854,
"final": 3.5854,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0443,
"final": 1.0443,
"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 | Tanner Scott |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3785 |
| ESPN Rank | 93 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.3245 |
| Season WHIP | 0.9338 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 134,
"wins": 79,
"losses": 55,
"win_pct": 0.5896,
"runs_scored": 668.0,
"runs_allowed": 515.0,
"run_differential": 153.0,
"run_differential_per_game": 1.1418,
"avg_runs_scored": 4.9851,
"avg_runs_allowed": 3.8433,
"offense_index": 1.1103,
"defense_index": 1.1682,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.251
},
"opponent": {
"team": "COL",
"games": 135,
"wins": 54,
"losses": 81,
"win_pct": 0.4,
"runs_scored": 660.0,
"runs_allowed": 777.0,
"run_differential": -117.0,
"run_differential_per_game": -0.8667,
"avg_runs_scored": 4.8889,
"avg_runs_allowed": 5.7556,
"offense_index": 1.0889,
"defense_index": 0.7801,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.2,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1912
},
"edges": {
"quality_edge": 0.4422,
"offense_edge": 0.1103,
"opponent_offense_edge": 0.0889,
"defense_strength": 0.1682,
"opponent_defense_weakness": 0.2199,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0192,
"run_prevention": 0.9753,
"strikeout": 1.0062
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656945",
"profile": {
"available": true,
"pitcher_id": "656945",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 150.0,
"k_percent": 32.0,
"bb_percent": 5.7,
"woba": 0.245,
"xwoba": 0.276,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 34.2,
"avg_best_speed": 78.6763,
"avg_hyper_speed": 93.464,
"whiff_percent": 36.0,
"swing_percent": 55.5
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.6666,
"command_and_miss": 1.3314,
"regression_edge": -0.8857,
"xwoba_edge": 1.0,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.4714,
"whiff_edge": 1.5286,
"bb_edge": 0.8,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656945",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3785,
"sample_weight": 0.6,
"run_prevention_factor": 0.9678,
"strikeout_factor": 1.0706,
"walk_factor": 0.9616,
"homer_factor": 0.975,
"woba_minus_xwoba": -0.031,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656945",
"espn_id": 35135,
"player_name": "Tanner Scott",
"team": "LAD",
"role": "pitcher",
"espn_rank": 93,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 93,
"gp_value": 54.0,
"gp_rank": 32,
"gs_value": 0.0,
"gs_rank": 342,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.3245,
"era_rank": null,
"w_value": 1.0,
"w_rank": 378,
"l_value": 3.0,
"l_rank": 209,
"sv_value": 17.0,
"sv_rank": 16,
"hld_value": 12.0,
"hld_rank": 45,
"ip_value": 50.1,
"ip_rank": 247,
"h_value": 36.0,
"h_rank": 315,
"er_value": 13.0,
"er_rank": 410,
"hr_value": 4.0,
"hr_rank": 334,
"bb_value": 11.0,
"bb_rank": 425,
"k_value": 62.0,
"k_rank": 175,
"k_per_9_value": 11.086092,
"k_per_9_rank": 19,
"whip_value": 0.9337,
"whip_rank": null,
"war_value": 1.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.977,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.985,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0424,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 2,
"H": 9,
"BB": 6,
"SO": 8,
"HR": 0,
"ERA": 2.2500000000000004,
"WHIP": 1.8750000000000002,
"K9": 9.000000000000002,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-18T00:00:00"
}{
"available": false,
"pitcher_id": "656945",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.067,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6681,
"prior_weight": 0.3319
},
"role": "pitcher",
"player_id": "656945",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 54,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 2.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 70.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 0.4,
"HR": 0.0,
"BF": 3.0,
"Pitches": 14.0
},
"rates": {
"ERA": 2.25,
"WHIP": 1.0,
"ER_per_IP": 0.25,
"H_per_IP": 0.75,
"BB_per_IP": 0.25,
"SO_per_IP": 0.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 2.0,
"R": 2.0,
"H": 9.0,
"BB": 6.0,
"SO": 8.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 155.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.5
},
"rates": {
"ERA": 2.25,
"WHIP": 1.875,
"ER_per_IP": 0.25,
"H_per_IP": 1.125,
"BB_per_IP": 0.75,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 54,
"totals": {
"IP": 50.1,
"ER": 13.0,
"R": 13.0,
"H": 36.0,
"BB": 11.0,
"SO": 62.0,
"HR": 4.0,
"BF": 194.0,
"Pitches": 755.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2407,
"R": 0.2407,
"H": 0.6667,
"BB": 0.2037,
"SO": 1.1481,
"HR": 0.0741,
"BF": 3.5926,
"Pitches": 13.9815
},
"rates": {
"ERA": 2.3245,
"WHIP": 0.9338,
"ER_per_IP": 0.25828,
"H_per_IP": 0.71523,
"BB_per_IP": 0.21854,
"SO_per_IP": 1.23179,
"HR_per_IP": 0.07947
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.274,
"predicted_H": 0.745,
"predicted_BB": 0.329,
"predicted_SO": 0.711,
"predicted_HR": 0.049,
"predicted_ERA": 3.0012,
"predicted_WHIP": 1.307
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4902,
"form_weight": 0.5098,
"form_reliability": 0.6681,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.067,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6681,
"prior_weight": 0.3319
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.274,
"final": 0.1397,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.745,
"final": 0.3798,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.329,
"final": 0.1677,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.711,
"final": 0.8527,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.049,
"final": 0.025,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0012,
"final": 3.0012,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.307,
"final": 1.307,
"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 | Alex Vesia |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3081 |
| ESPN Rank | 203 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.9077 |
| Season WHIP | 1.2231 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 134,
"wins": 79,
"losses": 55,
"win_pct": 0.5896,
"runs_scored": 668.0,
"runs_allowed": 515.0,
"run_differential": 153.0,
"run_differential_per_game": 1.1418,
"avg_runs_scored": 4.9851,
"avg_runs_allowed": 3.8433,
"offense_index": 1.1103,
"defense_index": 1.1682,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.251
},
"opponent": {
"team": "COL",
"games": 135,
"wins": 54,
"losses": 81,
"win_pct": 0.4,
"runs_scored": 660.0,
"runs_allowed": 777.0,
"run_differential": -117.0,
"run_differential_per_game": -0.8667,
"avg_runs_scored": 4.8889,
"avg_runs_allowed": 5.7556,
"offense_index": 1.0889,
"defense_index": 0.7801,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.2,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1912
},
"edges": {
"quality_edge": 0.4422,
"offense_edge": 0.1103,
"opponent_offense_edge": 0.0889,
"defense_strength": 0.1682,
"opponent_defense_weakness": 0.2199,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0192,
"run_prevention": 0.9753,
"strikeout": 1.0062
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681911",
"profile": {
"available": true,
"pitcher_id": "681911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 142.0,
"k_percent": 30.3,
"bb_percent": 15.7,
"woba": 0.244,
"xwoba": 0.274,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 36.0,
"avg_best_speed": 77.764,
"avg_hyper_speed": 92.9326,
"whiff_percent": 35.0,
"swing_percent": 46.5
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8096,
"command_and_miss": 0.6721,
"regression_edge": -0.8571,
"xwoba_edge": 1.0571,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.2143,
"whiff_edge": 1.3857,
"bb_edge": -1.7,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681911",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3081,
"sample_weight": 0.568,
"run_prevention_factor": 0.9738,
"strikeout_factor": 1.0581,
"walk_factor": 1.0772,
"homer_factor": 0.966,
"woba_minus_xwoba": -0.03,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "681911",
"espn_id": 42622,
"player_name": "Alex Vesia",
"team": "LAD",
"role": "pitcher",
"espn_rank": 203,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 203,
"gp_value": 56.0,
"gp_rank": 21,
"gs_value": 0.0,
"gs_rank": 342,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.9076,
"era_rank": null,
"w_value": 1.0,
"w_rank": 378,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 3.0,
"sv_rank": 61,
"hld_value": 17.0,
"hld_rank": 18,
"ip_value": 43.1,
"ip_rank": 301,
"h_value": 24.0,
"h_rank": 434,
"er_value": 14.0,
"er_rank": 388,
"hr_value": 2.0,
"hr_rank": 479,
"bb_value": 29.0,
"bb_rank": 140,
"k_value": 56.0,
"k_rank": 206,
"k_per_9_value": 11.630769,
"k_per_9_rank": 18,
"whip_value": 1.223,
"whip_rank": null,
"war_value": 0.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9851,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9851,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0438,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.033,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 4,
"H": 6,
"BB": 5,
"SO": 6,
"HR": 1,
"ERA": 4.5,
"WHIP": 1.375,
"K9": 6.75,
"HR9": 1.125,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-17T00:00:00"
}{
"available": false,
"pitcher_id": "681911",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.667,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6342,
"prior_weight": 0.3658
},
"role": "pitcher",
"player_id": "681911",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 56,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 1.0,
"R": 2.0,
"H": 3.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 65.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.4,
"H": 0.6,
"BB": 0.4,
"SO": 0.4,
"HR": 0.0,
"BF": 3.4,
"Pitches": 13.0
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.3636,
"ER_per_IP": 0.27273,
"H_per_IP": 0.81818,
"BB_per_IP": 0.54545,
"SO_per_IP": 0.54545,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 4.0,
"R": 5.0,
"H": 6.0,
"BB": 5.0,
"SO": 6.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 142.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.5,
"H": 0.6,
"BB": 0.5,
"SO": 0.6,
"HR": 0.1,
"BF": 3.6,
"Pitches": 14.2
},
"rates": {
"ERA": 4.5,
"WHIP": 1.375,
"ER_per_IP": 0.5,
"H_per_IP": 0.75,
"BB_per_IP": 0.625,
"SO_per_IP": 0.75,
"HR_per_IP": 0.125
}
},
"season": {
"games": 56,
"totals": {
"IP": 43.1,
"ER": 14.0,
"R": 15.0,
"H": 24.0,
"BB": 29.0,
"SO": 56.0,
"HR": 2.0,
"BF": 185.0,
"Pitches": 787.0
},
"per_game": {
"IP": 0.2,
"ER": 0.25,
"R": 0.2679,
"H": 0.4286,
"BB": 0.5179,
"SO": 1.0,
"HR": 0.0357,
"BF": 3.3036,
"Pitches": 14.0536
},
"rates": {
"ERA": 2.9077,
"WHIP": 1.2231,
"ER_per_IP": 0.32308,
"H_per_IP": 0.55385,
"BB_per_IP": 0.66923,
"SO_per_IP": 1.29231,
"HR_per_IP": 0.04615
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.275,
"predicted_H": 0.55,
"predicted_BB": 0.342,
"predicted_SO": 0.557,
"predicted_HR": 0.058,
"predicted_ERA": 3.7082,
"predicted_WHIP": 1.3379
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5046,
"form_weight": 0.4954,
"form_reliability": 0.6342,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.667,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6342,
"prior_weight": 0.3658
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.275,
"final": 0.1362,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.55,
"final": 0.2725,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.342,
"final": 0.1694,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.557,
"final": 0.7805,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.058,
"final": 0.0287,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7082,
"final": 3.7082,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3379,
"final": 1.3379,
"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 | Kyle Hurt |
| Role | Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1833 |
| ESPN Rank | 559 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1670 |
| Avg Velo | 92.9085 |
| Avg Spin | 1846.4253 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | - |
| Season WHIP | - |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"available": false,
"reason": "No team-form snapshot was stored for this pitcher row.",
"display_fallback": "Use the game-level Team Form Snapshot section for team context."
}{
"available": false,
"reason": "No pitcher-specific recent-form block was stored for this row.",
"display_fallback": "Use Player Form Blend windows for last-5, last-10, and season pitcher form."
}{
"available": true,
"pitcher_id": "669165",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 29,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 29,
"pitch_usage": 0.0,
"release_speed": 92.90849471660705,
"release_spin_rate": 1846.4252825263177,
"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": 29,
"pitch_usage": 0.0,
"release_speed": 92.90849471660705,
"release_spin_rate": 1846.4252825263177,
"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.9085,
"release_spin_rate": 1846.4253,
"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.167,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1927,
"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": 7.934,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6134,
"prior_weight": 0.3866
},
"role": "pitcher",
"player_id": "669165",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 2.0,
"R": 4.0,
"H": 5.0,
"BB": 4.0,
"SO": 10.0,
"HR": 1.0,
"BF": 29.0,
"Pitches": 114.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.8,
"H": 1.0,
"BB": 0.8,
"SO": 2.0,
"HR": 0.2,
"BF": 5.8,
"Pitches": 22.8
},
"rates": {
"ERA": 2.8421,
"WHIP": 1.4211,
"ER_per_IP": 0.31579,
"H_per_IP": 0.78947,
"BB_per_IP": 0.63158,
"SO_per_IP": 1.57895,
"HR_per_IP": 0.15789
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 8.0,
"R": 10.0,
"H": 12.0,
"BB": 9.0,
"SO": 16.0,
"HR": 2.0,
"BF": 60.0,
"Pitches": 232.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8,
"R": 1.0,
"H": 1.2,
"BB": 0.9,
"SO": 1.6,
"HR": 0.2,
"BF": 6.0,
"Pitches": 23.2
},
"rates": {
"ERA": 5.5385,
"WHIP": 1.6154,
"ER_per_IP": 0.61538,
"H_per_IP": 0.92308,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.23077,
"HR_per_IP": 0.15385
}
},
"season": {
"games": 38,
"totals": {
"IP": 39.2,
"ER": 19.0,
"R": 21.0,
"H": 33.0,
"BB": 22.0,
"SO": 49.0,
"HR": 4.0,
"BF": 172.0,
"Pitches": 626.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5526,
"H": 0.8684,
"BB": 0.5789,
"SO": 1.2895,
"HR": 0.1053,
"BF": 4.5263,
"Pitches": 16.4737
},
"rates": {
"ERA": 4.3109,
"WHIP": 1.3866,
"ER_per_IP": 0.47899,
"H_per_IP": 0.83193,
"BB_per_IP": 0.55462,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.10084
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.426,
"predicted_H": 0.809,
"predicted_BB": 0.482,
"predicted_SO": 1.105,
"predicted_HR": 0.132,
"predicted_ERA": 4.2357,
"predicted_WHIP": 1.4253
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5133,
"form_weight": 0.4867,
"form_reliability": 0.6134,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.934,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6134,
"prior_weight": 0.3866
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.426,
"final": 0.2073,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.809,
"final": 0.3937,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.482,
"final": 0.2346,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.105,
"final": 0.5378,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.132,
"final": 0.0642,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2357,
"final": 4.2357,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4253,
"final": 1.4253,
"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.198 | 0.000 | 0.000 | Hitting_2B | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 3.862 | 5.000 | 4.000 | Hitting_AB | 3.873 | 5.000 | 1.127 | 0.000 |
| predicted_AVG | 0.292 | 0.600 | 0.250 | Hitting_AVG | 0.289 | 0.200 | 0.311 | 0.400 |
| predicted_BB | 0.603 | 1.000 | 1.000 | Hitting_BB | 0.676 | 0.000 | 0.324 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 1.129 | 3.000 | 1.000 | Hitting_H | 1.120 | 1.000 | 1.880 | 2.000 |
| predicted_HR | 0.259 | 0.000 | 0.000 | Hitting_HR | 0.236 | 1.000 | -0.236 | -1.000 |
| predicted_OBP | 0.388 | 0.667 | 0.400 | Hitting_OBP | 0.397 | 0.200 | 0.269 | 0.467 |
| predicted_R | 0.698 | 1.000 | 1.000 | Hitting_R | 0.709 | 1.000 | 0.291 | 0.000 |
| predicted_RBI | 0.672 | 1.000 | 1.000 | Hitting_RBI | 0.667 | 2.000 | 0.333 | -1.000 |
| predicted_SLG | 0.558 | 0.600 | 0.250 | Hitting_SLG | 0.532 | 0.800 | 0.068 | -0.200 |
| predicted_SO | 1.052 | 0.000 | 1.000 | Hitting_SO | 1.070 | 1.000 | -1.070 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 1.1290 -> 3.0000 (boost 1.8710, better) |
| Biggest Deboost | predicted_SO: 1.0520 -> 0.0000 (deboost -1.0520, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_RBI: 0.6720 -> 0.7267 (boost 0.0547, better) | predicted_BB: 0.6030 -> 0.5244 (deboost -0.0786, 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 | 6 | 6 | 0 | 6 | 0 | predicted_R: 0.7332 -> 0.7951 (boost 0.0619, 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 | 3 | 3 | predicted_BB: 0.5337 -> 1.0000 (boost 0.4663, better) | predicted_HR: 0.3105 -> 0.0000 (deboost -0.3105, worse) | AB rounded to 4 (raw=3.92), rates preserved: AVG=0.309 HR/AB=0.079 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.562) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7951 -> 1.0000 (boost 0.2049, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3916 -> 0.4000 (boost 0.0084, better) | predicted_SLG: 0.6161 -> 0.2500 (deboost -0.3661, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.6161 (boost 0.3661, better) | predicted_OBP: 0.4000 -> 0.3916 (deboost -0.0084, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"team": "LAD",
"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.198,
"predicted_3B": 0.026,
"predicted_AB": 3.862,
"predicted_AVG": 0.292,
"predicted_BB": 0.603,
"predicted_H": 1.129,
"predicted_HR": 0.259,
"predicted_OBP": 0.388,
"predicted_R": 0.698,
"predicted_RBI": 0.672,
"predicted_SLG": 0.558,
"predicted_SO": 1.052
},
"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.1824,
"predicted_3B": 0.0451,
"predicted_AB": 3.9163,
"predicted_AVG": 0.294,
"predicted_BB": 0.5244,
"predicted_H": 1.152,
"predicted_HBP": 0.027,
"predicted_HR": 0.2937,
"predicted_OBP": 0.3776,
"predicted_R": 0.7332,
"predicted_RBI": 0.7267,
"predicted_SLG": 0.588,
"predicted_SO": 1.0472
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.1824,
"delta": -0.0156,
"percent_delta": -0.0788,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0451,
"delta": 0.0191,
"percent_delta": 0.7346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.862,
"after": 3.9163,
"delta": 0.0543,
"percent_delta": 0.0141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.294,
"delta": 0.002,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.603,
"after": 0.5244,
"delta": -0.0786,
"percent_delta": -0.1303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.129,
"after": 1.152,
"delta": 0.023,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.259,
"after": 0.2937,
"delta": 0.0347,
"percent_delta": 0.134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.388,
"after": 0.3776,
"delta": -0.0104,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.698,
"after": 0.7332,
"delta": 0.0352,
"percent_delta": 0.0504,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.672,
"after": 0.7267,
"delta": 0.0547,
"percent_delta": 0.0814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.558,
"after": 0.588,
"delta": 0.03,
"percent_delta": 0.0538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.052,
"after": 1.0472,
"delta": -0.0048,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.672,
"after": 0.7267,
"delta": 0.0547,
"percent_delta": 0.0814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.603,
"after": 0.5244,
"delta": -0.0786,
"percent_delta": -0.1303,
"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": 116
}
},
{
"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.1824,
"predicted_3B": 0.0451,
"predicted_AB": 3.9163,
"predicted_AVG": 0.3087,
"predicted_BB": 0.5337,
"predicted_H": 1.2088,
"predicted_HBP": 0.027,
"predicted_HR": 0.3105,
"predicted_OBP": 0.3916,
"predicted_R": 0.7951,
"predicted_RBI": 0.788,
"predicted_SLG": 0.6161,
"predicted_SO": 1.0287
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1824,
"after": 0.1824,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0451,
"after": 0.0451,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9163,
"after": 3.9163,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.3087,
"delta": 0.0147,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5244,
"after": 0.5337,
"delta": 0.0093,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.152,
"after": 1.2088,
"delta": 0.0568,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2937,
"after": 0.3105,
"delta": 0.0168,
"percent_delta": 0.0572,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3776,
"after": 0.3916,
"delta": 0.014,
"percent_delta": 0.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7332,
"after": 0.7951,
"delta": 0.0619,
"percent_delta": 0.0844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7267,
"after": 0.788,
"delta": 0.0613,
"percent_delta": 0.0844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.588,
"after": 0.6161,
"delta": 0.0281,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0472,
"after": 1.0287,
"delta": -0.0185,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7332,
"after": 0.7951,
"delta": 0.0619,
"percent_delta": 0.0844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.92), rates preserved: AVG=0.309 HR/AB=0.079",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1824,
"after": 0.0,
"delta": -0.1824,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0451,
"after": 0.0,
"delta": -0.0451,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9163,
"after": 4.0,
"delta": 0.0837,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5337,
"after": 1.0,
"delta": 0.4663,
"percent_delta": 0.8737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2088,
"after": 1.0,
"delta": -0.2088,
"percent_delta": -0.1727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3105,
"after": 0.0,
"delta": -0.3105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.788,
"after": 1.0,
"delta": 0.212,
"percent_delta": 0.269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0287,
"after": 1.0,
"delta": -0.0287,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5337,
"after": 1.0,
"delta": 0.4663,
"percent_delta": 0.8737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3105,
"after": 0.0,
"delta": -0.3105,
"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=16.0, weight=0.139, BvP AVG=0.562)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.8609,
"bvp": 0.1391
},
"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": 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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7951,
"after": 1.0,
"delta": 0.2049,
"percent_delta": 0.2577,
"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.7951,
"after": 1.0,
"delta": 0.2049,
"percent_delta": 0.2577,
"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.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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.3087,
"after": 0.25,
"delta": -0.0587,
"percent_delta": -0.1902,
"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.3916,
"after": 0.4,
"delta": 0.0084,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6161,
"after": 0.25,
"delta": -0.3661,
"percent_delta": -0.5942,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3916,
"after": 0.4,
"delta": 0.0084,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6161,
"after": 0.25,
"delta": -0.3661,
"percent_delta": -0.5942,
"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": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"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": 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": 5.0,
"predicted_AVG": 0.3087,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3916,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6161,
"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": 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.25,
"after": 0.3087,
"delta": 0.0587,
"percent_delta": 0.2346,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3916,
"delta": -0.0084,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.25,
"after": 0.6161,
"delta": 0.3661,
"percent_delta": 1.4646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.6161,
"delta": 0.3661,
"percent_delta": 1.4646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3916,
"delta": -0.0084,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.862,
"after": 5.0,
"delta": 1.138,
"percent_delta": 0.2947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.3087,
"delta": 0.0167,
"percent_delta": 0.0572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.129,
"after": 3.0,
"delta": 1.871,
"percent_delta": 1.6572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.259,
"after": 0.0,
"delta": -0.259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.388,
"after": 0.3916,
"delta": 0.0036,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.698,
"after": 1.0,
"delta": 0.302,
"percent_delta": 0.4327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.672,
"after": 1.0,
"delta": 0.328,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.558,
"after": 0.6161,
"delta": 0.0581,
"percent_delta": 0.1041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.052,
"after": 0.0,
"delta": -1.052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.129,
"after": 3.0,
"delta": 1.871,
"percent_delta": 1.6572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.052,
"after": 0.0,
"delta": -1.052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.198 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.862 | - |
| predicted_AVG | 0.292 | - |
| predicted_BB | 0.603 | - |
| predicted_H | 1.129 | - |
| predicted_HR | 0.259 | - |
| predicted_OBP | 0.388 | - |
| predicted_R | 0.698 | - |
| predicted_RBI | 0.672 | - |
| predicted_SLG | 0.558 | - |
| predicted_SO | 1.052 | - |
Final model 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.182 | -0.016 |
| predicted_3B | 0.045 | 0.019 |
| predicted_AB | 3.916 | 0.054 |
| predicted_AVG | 0.294 | 0.002 |
| predicted_BB | 0.524 | -0.079 |
| predicted_H | 1.152 | 0.023 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.294 | 0.035 |
| predicted_OBP | 0.378 | -0.010 |
| predicted_R | 0.733 | 0.035 |
| predicted_RBI | 0.727 | 0.055 |
| predicted_SLG | 0.588 | 0.030 |
| predicted_SO | 1.047 | -0.005 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | 0.000 |
| predicted_3B | 0.045 | 0.000 |
| predicted_AB | 3.916 | 0.000 |
| predicted_AVG | 0.309 | 0.015 |
| predicted_BB | 0.534 | 0.009 |
| predicted_H | 1.209 | 0.057 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.310 | 0.017 |
| predicted_OBP | 0.392 | 0.014 |
| predicted_R | 0.795 | 0.062 |
| predicted_RBI | 0.788 | 0.061 |
| predicted_SLG | 0.616 | 0.028 |
| predicted_SO | 1.029 | -0.018 |
AB rounded to 4 (raw=3.92), rates preserved: AVG=0.309 HR/AB=0.079
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.562)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 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.182 |
| predicted_3B | 0.000 | -0.045 |
| predicted_AB | 4.000 | 0.084 |
| predicted_AVG | 0.250 | -0.059 |
| predicted_BB | 1.000 | 0.466 |
| predicted_H | 1.000 | -0.209 |
| predicted_HR | 0.000 | -0.310 |
| predicted_OBP | 0.400 | 0.008 |
| predicted_R | 1.000 | 0.205 |
| predicted_RBI | 1.000 | 0.212 |
| predicted_SLG | 0.250 | -0.366 |
| predicted_SO | 1.000 | -0.029 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 6.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 7.000 | 0.000 | 1.000 | 3.000 | 6.000 | 5.000 | 1.000 | 5.000 | 0.3333 | 0.3636 | 0.8571 | 0.3333 | 0.1429 | 0.2857 | 0.0476 | 0.2381 |
| last_10 | 0.20 | 10 | - | 42.000 | 12.000 | 2.000 | 1.000 | 4.000 | 9.000 | 9.000 | 1.000 | 11.000 | 0.2857 | 0.3023 | 0.6667 | 0.2857 | 0.0952 | 0.2143 | 0.0238 | 0.2619 |
| season | 0.60 | 116 | - | 448.000 | 131.000 | 23.000 | 3.000 | 30.000 | 78.000 | 81.000 | 70.000 | 122.000 | 0.2924 | 0.3902 | 0.5580 | 0.2924 | 0.0670 | 0.1741 | 0.1562 | 0.2723 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1620 |
| predicted_3B | 0.0700 |
| predicted_AB | 3.9870 |
| predicted_AVG | 0.2965 |
| predicted_BB | 0.4220 |
| predicted_H | 1.1820 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.3390 |
| predicted_OBP | 0.3640 |
| predicted_R | 0.7790 |
| predicted_RBI | 0.7980 |
| predicted_SLG | 0.6271 |
| predicted_SO | 1.0410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1980 | 0.1620 | 0.1824 | model_form_blend |
| predicted_3B | 0.0260 | 0.0700 | 0.0451 | model_form_blend |
| predicted_AB | 3.8620 | 3.9870 | 3.9163 | model_form_blend |
| predicted_AVG | 0.2920 | 0.2965 | 0.2940 | model_form_blend |
| predicted_BB | 0.6030 | 0.4220 | 0.5244 | model_form_blend |
| predicted_H | 1.1290 | 1.1820 | 1.1520 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.2590 | 0.3390 | 0.2937 | model_form_blend |
| predicted_OBP | 0.3880 | 0.3640 | 0.3776 | model_form_blend |
| predicted_R | 0.6980 | 0.7790 | 0.7332 | model_form_blend |
| predicted_RBI | 0.6720 | 0.7980 | 0.7267 | model_form_blend |
| predicted_SLG | 0.5580 | 0.6271 | 0.5880 | model_form_blend |
| predicted_SO | 1.0520 | 1.0410 | 1.0472 | 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 | 116 |
| 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 | 6 |
| AB | 5 |
| H | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.292 |
| 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| 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 | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 660271 |
| playerID | 660271 |
| playerName | Shohei Ohtani |
| pos | TWP |
| started | True |
| startingPosition | DH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.397 |
| sl_xwoba | 0.411 |
| sl_xba | 0.297 |
| sl_xslg | 0.585 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 16.8 |
| sl_hard_hit_percent | 52.5 |
| sl_exit_velocity_avg | 93.5 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 46.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.194 | 0.000 | 0.000 | Hitting_2B | 0.215 | 0.000 | -0.215 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 5.610 | 4.000 | 6.000 | Hitting_AB | 3.970 | 5.000 | 0.030 | -1.000 |
| predicted_AVG | 0.260 | 0.000 | 0.333 | Hitting_AVG | 0.271 | 0.200 | -0.271 | -0.200 |
| predicted_BB | 0.363 | 2.000 | 0.000 | Hitting_BB | 0.369 | 0.000 | 1.631 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 1.460 | 0.000 | 2.000 | Hitting_H | 1.076 | 1.000 | -1.076 | -1.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_OBP | 0.350 | 0.333 | 0.333 | Hitting_OBP | 0.337 | 0.200 | -0.003 | 0.133 |
| predicted_R | 0.573 | 0.000 | 1.000 | Hitting_R | 0.657 | 0.000 | -0.657 | 0.000 |
| predicted_RBI | 0.790 | 0.000 | 1.000 | Hitting_RBI | 0.683 | 0.000 | -0.683 | 0.000 |
| predicted_SLG | 0.501 | 0.000 | 0.333 | Hitting_SLG | 0.466 | 0.200 | -0.466 | -0.200 |
| predicted_SO | 0.831 | 0.000 | 1.000 | Hitting_SO | 0.861 | 0.000 | -0.861 | 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.3630 -> 2.0000 (boost 1.6370, better) |
| Biggest Deboost | predicted_AB: 5.6100 -> 4.0000 (deboost -1.6100, 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 | 3 | 4 | 4 | 3 | predicted_AVG: 0.2600 -> 0.2785 (boost 0.0185, better) | predicted_AB: 5.6100 -> 4.8717 (deboost -0.7383, 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 | 6 | 4 | 2 | 4 | 2 | predicted_H: 1.3396 -> 1.4056 (boost 0.0660, better) | predicted_SLG: 0.5106 -> 0.4871 (deboost -0.0235, 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_AB: 4.8717 -> 6.0000 (boost 1.1283, better) | predicted_BB: 0.3734 -> 0.0000 (deboost -0.3734, worse) | AB rounded to 6 (raw=5.61), rates preserved: AVG=0.251 HR/AB=0.044 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.462) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6501 -> 1.0000 (boost 0.3499, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2885 -> 0.3330 (boost 0.0445, better) | predicted_SLG: 0.4871 -> 0.3330 (deboost -0.1541, worse) | 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 -> 2.0000 (boost 2.0000, better) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4871 (boost 0.1541, better) | predicted_AVG: 0.3330 -> 0.2885 (deboost -0.0445, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"team": "LAD",
"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.194,
"predicted_3B": 0.016,
"predicted_AB": 5.61,
"predicted_AVG": 0.26,
"predicted_BB": 0.363,
"predicted_H": 1.46,
"predicted_HR": 0.25,
"predicted_OBP": 0.35,
"predicted_R": 0.573,
"predicted_RBI": 0.79,
"predicted_SLG": 0.501,
"predicted_SO": 0.831
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.1944,
"predicted_3B": 0.0134,
"predicted_AB": 4.8717,
"predicted_AVG": 0.2785,
"predicted_BB": 0.3669,
"predicted_H": 1.3396,
"predicted_HBP": 0.025,
"predicted_HR": 0.2352,
"predicted_OBP": 0.3565,
"predicted_R": 0.5995,
"predicted_RBI": 0.7218,
"predicted_SLG": 0.5106,
"predicted_SO": 0.7532
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.1944,
"delta": 0.0004,
"percent_delta": 0.0021,
"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": 5.61,
"after": 4.8717,
"delta": -0.7383,
"percent_delta": -0.1316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2785,
"delta": 0.0185,
"percent_delta": 0.0712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.363,
"after": 0.3669,
"delta": 0.0039,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.46,
"after": 1.3396,
"delta": -0.1204,
"percent_delta": -0.0825,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.2352,
"delta": -0.0148,
"percent_delta": -0.0592,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3565,
"delta": 0.0065,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.573,
"after": 0.5995,
"delta": 0.0265,
"percent_delta": 0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.79,
"after": 0.7218,
"delta": -0.0682,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.501,
"after": 0.5106,
"delta": 0.0096,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.831,
"after": 0.7532,
"delta": -0.0778,
"percent_delta": -0.0936,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2785,
"delta": 0.0185,
"percent_delta": 0.0712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.61,
"after": 4.8717,
"delta": -0.7383,
"percent_delta": -0.1316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 124
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1944,
"predicted_3B": 0.0134,
"predicted_AB": 4.8717,
"predicted_AVG": 0.2885,
"predicted_BB": 0.3734,
"predicted_H": 1.4056,
"predicted_HBP": 0.025,
"predicted_HR": 0.2487,
"predicted_OBP": 0.3392,
"predicted_R": 0.6501,
"predicted_RBI": 0.7827,
"predicted_SLG": 0.4871,
"predicted_SO": 0.7399
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1944,
"after": 0.1944,
"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": 4.8717,
"after": 4.8717,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2785,
"after": 0.2885,
"delta": 0.01,
"percent_delta": 0.0359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3669,
"after": 0.3734,
"delta": 0.0065,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3396,
"after": 1.4056,
"delta": 0.066,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2352,
"after": 0.2487,
"delta": 0.0135,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3565,
"after": 0.3392,
"delta": -0.0173,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5995,
"after": 0.6501,
"delta": 0.0506,
"percent_delta": 0.0844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7218,
"after": 0.7827,
"delta": 0.0609,
"percent_delta": 0.0844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5106,
"after": 0.4871,
"delta": -0.0235,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7532,
"after": 0.7399,
"delta": -0.0133,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.3396,
"after": 1.4056,
"delta": 0.066,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5106,
"after": 0.4871,
"delta": -0.0235,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.61), rates preserved: AVG=0.251 HR/AB=0.044",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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.1944,
"after": 0.0,
"delta": -0.1944,
"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": 4.8717,
"after": 6.0,
"delta": 1.1283,
"percent_delta": 0.2316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3734,
"after": 0.0,
"delta": -0.3734,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4056,
"after": 2.0,
"delta": 0.5944,
"percent_delta": 0.4229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2487,
"after": 0.0,
"delta": -0.2487,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7827,
"after": 1.0,
"delta": 0.2173,
"percent_delta": 0.2776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7399,
"after": 1.0,
"delta": 0.2601,
"percent_delta": 0.3515,
"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.8717,
"after": 6.0,
"delta": 1.1283,
"percent_delta": 0.2316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3734,
"after": 0.0,
"delta": -0.3734,
"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=13.0, weight=0.121, BvP AVG=0.462)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 2.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8791,
"bvp": 0.1209
},
"window_games": {}
},
{
"index": 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": 6.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": 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": 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.6501,
"after": 1.0,
"delta": 0.3499,
"percent_delta": 0.5382,
"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.6501,
"after": 1.0,
"delta": 0.3499,
"percent_delta": 0.5382,
"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.333,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2885,
"after": 0.333,
"delta": 0.0445,
"percent_delta": 0.1542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3392,
"after": 0.333,
"delta": -0.0062,
"percent_delta": -0.0183,
"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.4871,
"after": 0.333,
"delta": -0.1541,
"percent_delta": -0.3164,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2885,
"after": 0.333,
"delta": 0.0445,
"percent_delta": 0.1542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4871,
"after": 0.333,
"delta": -0.1541,
"percent_delta": -0.3164,
"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": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.2885,
"predicted_BB": 2.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3392,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4871,
"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.333,
"after": 0.2885,
"delta": -0.0445,
"percent_delta": -0.1335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3392,
"delta": 0.0062,
"percent_delta": 0.0186,
"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.333,
"after": 0.4871,
"delta": 0.1541,
"percent_delta": 0.4627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4871,
"delta": 0.1541,
"percent_delta": 0.4627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2885,
"delta": -0.0445,
"percent_delta": -0.1335,
"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.194,
"after": 0.0,
"delta": -0.194,
"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": 5.61,
"after": 4.0,
"delta": -1.61,
"percent_delta": -0.287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2885,
"delta": 0.0285,
"percent_delta": 0.1096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.363,
"after": 2.0,
"delta": 1.637,
"percent_delta": 4.5096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.46,
"after": 0.0,
"delta": -1.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3392,
"delta": -0.0108,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.573,
"after": 0.0,
"delta": -0.573,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.501,
"after": 0.4871,
"delta": -0.0139,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.831,
"after": 0.0,
"delta": -0.831,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.363,
"after": 2.0,
"delta": 1.637,
"percent_delta": 4.5096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.61,
"after": 4.0,
"delta": -1.61,
"percent_delta": -0.287,
"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.194 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 5.610 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.363 | - |
| predicted_H | 1.460 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.350 | - |
| predicted_R | 0.573 | - |
| predicted_RBI | 0.790 | - |
| predicted_SLG | 0.501 | - |
| predicted_SO | 0.831 | - |
Final model 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.194 | 0.000 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 4.872 | -0.738 |
| predicted_AVG | 0.279 | 0.019 |
| predicted_BB | 0.367 | 0.004 |
| predicted_H | 1.340 | -0.120 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.235 | -0.015 |
| predicted_OBP | 0.356 | 0.007 |
| predicted_R | 0.600 | 0.027 |
| predicted_RBI | 0.722 | -0.068 |
| predicted_SLG | 0.511 | 0.010 |
| predicted_SO | 0.753 | -0.078 |
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.194 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.872 | 0.000 |
| predicted_AVG | 0.288 | 0.010 |
| predicted_BB | 0.373 | 0.007 |
| predicted_H | 1.406 | 0.066 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.249 | 0.014 |
| predicted_OBP | 0.339 | -0.017 |
| predicted_R | 0.650 | 0.051 |
| predicted_RBI | 0.783 | 0.061 |
| predicted_SLG | 0.487 | -0.024 |
| predicted_SO | 0.740 | -0.013 |
AB rounded to 6 (raw=5.61), rates preserved: AVG=0.251 HR/AB=0.044
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.462)
| 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 |
| H | 2.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 | 6.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 |
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.194 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 6.000 | 1.128 |
| predicted_AVG | 0.333 | 0.045 |
| predicted_BB | 0.000 | -0.373 |
| predicted_H | 2.000 | 0.594 |
| predicted_HR | 0.000 | -0.249 |
| predicted_OBP | 0.333 | -0.006 |
| predicted_R | 1.000 | 0.350 |
| predicted_RBI | 1.000 | 0.217 |
| predicted_SLG | 0.333 | -0.154 |
| predicted_SO | 1.000 | 0.260 |
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 | -2.000 |
| BB | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 6.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 8.000 | 1.000 | 0.000 | 2.000 | 4.000 | 5.000 | 2.000 | 1.000 | 0.4000 | 0.4545 | 0.7500 | 0.4000 | 0.1000 | 0.2000 | 0.1000 | 0.0500 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 2.000 | 0.000 | 2.000 | 5.000 | 5.000 | 4.000 | 5.000 | 0.3077 | 0.3721 | 0.5128 | 0.3077 | 0.0513 | 0.1282 | 0.1026 | 0.1282 |
| season | 0.60 | 124 | - | 483.000 | 132.000 | 24.000 | 2.000 | 21.000 | 79.000 | 71.000 | 45.000 | 103.000 | 0.2733 | 0.3383 | 0.4617 | 0.2733 | 0.0435 | 0.1636 | 0.0932 | 0.2132 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1950 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.9110 |
| predicted_AVG | 0.3025 |
| predicted_BB | 0.3720 |
| predicted_H | 1.1830 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.2160 |
| predicted_OBP | 0.3650 |
| predicted_R | 0.6340 |
| predicted_RBI | 0.6330 |
| predicted_SLG | 0.5232 |
| predicted_SO | 0.6520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1940 | 0.1950 | 0.1944 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 5.6100 | 3.9110 | 4.8717 | model_form_blend |
| predicted_AVG | 0.2600 | 0.3025 | 0.2785 | model_form_blend |
| predicted_BB | 0.3630 | 0.3720 | 0.3669 | model_form_blend |
| predicted_H | 1.4600 | 1.1830 | 1.3396 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.2500 | 0.2160 | 0.2352 | model_form_blend |
| predicted_OBP | 0.3500 | 0.3650 | 0.3565 | model_form_blend |
| predicted_R | 0.5730 | 0.6340 | 0.5995 | model_form_blend |
| predicted_RBI | 0.7900 | 0.6330 | 0.7218 | model_form_blend |
| predicted_SLG | 0.5010 | 0.5232 | 0.5106 | model_form_blend |
| predicted_SO | 0.8310 | 0.6520 | 0.7532 | 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 | 461 |
| Season rows before report date | 461 |
| Report year | 2026 |
| Profile rows used | 124 |
| 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 | 6 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.273 |
| 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 | 5 |
| Hitting_AVG | 0.2 |
| 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 | CF |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.348 |
| sl_xwoba | 0.34 |
| sl_xba | 0.273 |
| sl_xslg | 0.44 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 42.6 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 47.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.159 | 1.000 | 0.000 | Hitting_2B | 0.151 | 0.000 | 0.849 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.840 | 6.000 | 5.000 | Hitting_AB | 4.092 | 5.000 | 1.908 | 1.000 |
| predicted_AVG | 0.202 | 0.333 | 0.200 | Hitting_AVG | 0.236 | 0.000 | 0.097 | 0.333 |
| predicted_BB | 0.261 | 0.000 | 0.000 | Hitting_BB | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.980 | 2.000 | 1.000 | Hitting_H | 0.967 | 0.000 | 1.033 | 2.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.207 | 0.000 | -0.207 | 0.000 |
| predicted_OBP | 0.257 | 0.333 | 0.200 | Hitting_OBP | 0.288 | 0.000 | 0.045 | 0.333 |
| predicted_R | 0.523 | 1.000 | 1.000 | Hitting_R | 0.641 | 0.000 | 0.359 | 1.000 |
| predicted_RBI | 0.600 | 1.000 | 1.000 | Hitting_RBI | 0.546 | 0.000 | 0.454 | 1.000 |
| predicted_SLG | 0.393 | 0.500 | 0.200 | Hitting_SLG | 0.425 | 0.000 | 0.075 | 0.500 |
| predicted_SO | 0.477 | 2.000 | 1.000 | Hitting_SO | 0.536 | 0.000 | 1.464 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_SO: 0.4770 -> 2.0000 (boost 1.5230, worse) |
| Biggest Deboost | predicted_BB: 0.2610 -> 0.0000 (deboost -0.2610, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AVG: 0.2020 -> 0.2092 (boost 0.0072, better) | predicted_AB: 4.8400 -> 4.4658 (deboost -0.3742, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2092 -> 0.2190 (boost 0.0098, better) | predicted_SLG: 0.3869 -> 0.3593 (deboost -0.0276, 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_AB: 4.4658 -> 5.0000 (boost 0.5342, better) | predicted_BB: 0.2421 -> 0.0000 (deboost -0.2421, worse) | AB rounded to 5 (raw=4.84), rates preserved: AVG=0.202 HR/AB=0.031 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=48.0, weight=0.246, BvP AVG=0.271) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5059 -> 1.0000 (boost 0.4941, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3593 -> 0.2000 (deboost -0.1593, worse) | 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3593 (boost 0.1593, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605141",
"player_name": "Mookie Betts",
"position": "SS",
"team": "LAD",
"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.159,
"predicted_3B": 0.0,
"predicted_AB": 4.84,
"predicted_AVG": 0.202,
"predicted_BB": 0.261,
"predicted_H": 0.98,
"predicted_HR": 0.14,
"predicted_OBP": 0.257,
"predicted_R": 0.523,
"predicted_RBI": 0.6,
"predicted_SLG": 0.393,
"predicted_SO": 0.477
},
"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.1748,
"predicted_3B": 0.0004,
"predicted_AB": 4.4658,
"predicted_AVG": 0.2092,
"predicted_BB": 0.2379,
"predicted_H": 0.9321,
"predicted_HBP": 0.009,
"predicted_HR": 0.1421,
"predicted_OBP": 0.2572,
"predicted_R": 0.4665,
"predicted_RBI": 0.5675,
"predicted_SLG": 0.3869,
"predicted_SO": 0.501
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.1748,
"delta": 0.0158,
"percent_delta": 0.0994,
"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.84,
"after": 4.4658,
"delta": -0.3742,
"percent_delta": -0.0773,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.202,
"after": 0.2092,
"delta": 0.0072,
"percent_delta": 0.0356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.261,
"after": 0.2379,
"delta": -0.0231,
"percent_delta": -0.0885,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.9321,
"delta": -0.0479,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1421,
"delta": 0.0021,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2572,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 0.4665,
"delta": -0.0565,
"percent_delta": -0.108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.5675,
"delta": -0.0325,
"percent_delta": -0.0542,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3869,
"delta": -0.0061,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.477,
"after": 0.501,
"delta": 0.024,
"percent_delta": 0.0503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.202,
"after": 0.2092,
"delta": 0.0072,
"percent_delta": 0.0356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.84,
"after": 4.4658,
"delta": -0.3742,
"percent_delta": -0.0773,
"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": 88
}
},
{
"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.1748,
"predicted_3B": 0.0004,
"predicted_AB": 4.4658,
"predicted_AVG": 0.219,
"predicted_BB": 0.2421,
"predicted_H": 0.9781,
"predicted_HBP": 0.009,
"predicted_HR": 0.1502,
"predicted_OBP": 0.2592,
"predicted_R": 0.5059,
"predicted_RBI": 0.6154,
"predicted_SLG": 0.3593,
"predicted_SO": 0.4921
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1748,
"after": 0.1748,
"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.4658,
"after": 4.4658,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2092,
"after": 0.219,
"delta": 0.0098,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2379,
"after": 0.2421,
"delta": 0.0042,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9321,
"after": 0.9781,
"delta": 0.046,
"percent_delta": 0.0494,
"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.1421,
"after": 0.1502,
"delta": 0.0081,
"percent_delta": 0.057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2572,
"after": 0.2592,
"delta": 0.002,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4665,
"after": 0.5059,
"delta": 0.0394,
"percent_delta": 0.0845,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5675,
"after": 0.6154,
"delta": 0.0479,
"percent_delta": 0.0844,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3869,
"after": 0.3593,
"delta": -0.0276,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.501,
"after": 0.4921,
"delta": -0.0089,
"percent_delta": -0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2092,
"after": 0.219,
"delta": 0.0098,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3869,
"after": 0.3593,
"delta": -0.0276,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.84), rates preserved: AVG=0.202 HR/AB=0.031",
"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.1748,
"after": 0.0,
"delta": -0.1748,
"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.4658,
"after": 5.0,
"delta": 0.5342,
"percent_delta": 0.1196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2421,
"after": 0.0,
"delta": -0.2421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9781,
"after": 1.0,
"delta": 0.0219,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1502,
"after": 0.0,
"delta": -0.1502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6154,
"after": 1.0,
"delta": 0.3846,
"percent_delta": 0.625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4921,
"after": 1.0,
"delta": 0.5079,
"percent_delta": 1.0321,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.4658,
"after": 5.0,
"delta": 0.5342,
"percent_delta": 0.1196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2421,
"after": 0.0,
"delta": -0.2421,
"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=48.0, weight=0.246, BvP AVG=0.271)",
"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_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": 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.7538,
"bvp": 0.2462
},
"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": 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.5059,
"after": 1.0,
"delta": 0.4941,
"percent_delta": 0.9767,
"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.5059,
"after": 1.0,
"delta": 0.4941,
"percent_delta": 0.9767,
"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.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"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.219,
"after": 0.2,
"delta": -0.019,
"percent_delta": -0.0868,
"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.2592,
"after": 0.2,
"delta": -0.0592,
"percent_delta": -0.2284,
"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.3593,
"after": 0.2,
"delta": -0.1593,
"percent_delta": -0.4434,
"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.3593,
"after": 0.2,
"delta": -0.1593,
"percent_delta": -0.4434,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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": 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": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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": 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": 6.0,
"predicted_AVG": 0.219,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2592,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3593,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2,
"after": 0.219,
"delta": 0.019,
"percent_delta": 0.095,
"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.2,
"after": 0.2592,
"delta": 0.0592,
"percent_delta": 0.2959,
"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.2,
"after": 0.3593,
"delta": 0.1593,
"percent_delta": 0.7963,
"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.2,
"after": 0.3593,
"delta": 0.1593,
"percent_delta": 0.7963,
"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.159,
"after": 1.0,
"delta": 0.841,
"percent_delta": 5.2893,
"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.84,
"after": 6.0,
"delta": 1.16,
"percent_delta": 0.2397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.202,
"after": 0.219,
"delta": 0.017,
"percent_delta": 0.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.261,
"after": 0.0,
"delta": -0.261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 2.0,
"delta": 1.02,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2592,
"delta": 0.0022,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 1.0,
"delta": 0.477,
"percent_delta": 0.912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3593,
"delta": -0.0337,
"percent_delta": -0.0858,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.477,
"after": 2.0,
"delta": 1.523,
"percent_delta": 3.1929,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.477,
"after": 2.0,
"delta": 1.523,
"percent_delta": 3.1929,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.261,
"after": 0.0,
"delta": -0.261,
"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.159 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.840 | - |
| predicted_AVG | 0.202 | - |
| predicted_BB | 0.261 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.257 | - |
| predicted_R | 0.523 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.393 | - |
| predicted_SO | 0.477 | - |
Final model 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.175 | 0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.466 | -0.374 |
| predicted_AVG | 0.209 | 0.007 |
| predicted_BB | 0.238 | -0.023 |
| predicted_H | 0.932 | -0.048 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.142 | 0.002 |
| predicted_OBP | 0.257 | 0.000 |
| predicted_R | 0.467 | -0.056 |
| predicted_RBI | 0.568 | -0.032 |
| predicted_SLG | 0.387 | -0.006 |
| predicted_SO | 0.501 | 0.024 |
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.175 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.466 | 0.000 |
| predicted_AVG | 0.219 | 0.010 |
| predicted_BB | 0.242 | 0.004 |
| predicted_H | 0.978 | 0.046 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.150 | 0.008 |
| predicted_OBP | 0.259 | 0.002 |
| predicted_R | 0.506 | 0.039 |
| predicted_RBI | 0.615 | 0.048 |
| predicted_SLG | 0.359 | -0.028 |
| predicted_SO | 0.492 | -0.009 |
AB rounded to 5 (raw=4.84), rates preserved: AVG=0.202 HR/AB=0.031
| 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 | - |
Sample-size BvP blend (BvP AB=48.0, weight=0.246, BvP AVG=0.271)
| 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 |
| 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 | 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 |
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.175 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.534 |
| predicted_AVG | 0.200 | -0.019 |
| predicted_BB | 0.000 | -0.242 |
| predicted_H | 1.000 | 0.022 |
| predicted_HR | 0.000 | -0.150 |
| predicted_OBP | 0.200 | -0.059 |
| predicted_R | 1.000 | 0.494 |
| predicted_RBI | 1.000 | 0.385 |
| predicted_SLG | 0.200 | -0.159 |
| predicted_SO | 1.000 | 0.508 |
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 | 6.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 6.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.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 | - | 22.000 | 3.000 | 1.000 | 0.000 | 0.000 | 3.000 | 0.000 | 0.000 | 3.000 | 0.1364 | 0.1364 | 0.1818 | 0.1364 | 0.0000 | 0.1364 | 0.0000 | 0.1364 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 3.000 | 0.000 | 2.000 | 6.000 | 3.000 | 2.000 | 5.000 | 0.2432 | 0.2821 | 0.4865 | 0.2432 | 0.0541 | 0.1622 | 0.0541 | 0.1351 |
| season | 0.60 | 88 | - | 346.000 | 81.000 | 14.000 | 0.000 | 15.000 | 42.000 | 46.000 | 23.000 | 42.000 | 0.2341 | 0.2830 | 0.4046 | 0.2341 | 0.0433 | 0.1214 | 0.0665 | 0.1214 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1960 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9660 |
| predicted_AVG | 0.2188 |
| predicted_BB | 0.2070 |
| predicted_H | 0.8680 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.2574 |
| predicted_R | 0.3910 |
| predicted_RBI | 0.5240 |
| predicted_SLG | 0.3788 |
| predicted_SO | 0.5330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1590 | 0.1960 | 0.1748 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.8400 | 3.9660 | 4.4658 | model_form_blend |
| predicted_AVG | 0.2020 | 0.2188 | 0.2092 | model_form_blend |
| predicted_BB | 0.2610 | 0.2070 | 0.2379 | model_form_blend |
| predicted_H | 0.9800 | 0.8680 | 0.9321 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1400 | 0.1450 | 0.1421 | model_form_blend |
| predicted_OBP | 0.2570 | 0.2574 | 0.2572 | model_form_blend |
| predicted_R | 0.5230 | 0.3910 | 0.4665 | model_form_blend |
| predicted_RBI | 0.6000 | 0.5240 | 0.5675 | model_form_blend |
| predicted_SLG | 0.3930 | 0.3788 | 0.3869 | model_form_blend |
| predicted_SO | 0.4770 | 0.5330 | 0.5010 | 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 | 304 |
| Season rows before report date | 304 |
| Report year | 2026 |
| Profile rows used | 88 |
| 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 | 6 |
| AB | 6 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.234 |
| 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 | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 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 | 20260818_LAD@COL |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| sl_k_percent | 11.7 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.299 |
| sl_xwoba | 0.327 |
| sl_xba | 0.274 |
| sl_xslg | 0.429 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 38.6 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 18.6 |
| sl_whiff_percent | 12.5 |
| sl_swing_percent | 42.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.144 | 0.000 | 0.000 | Hitting_2B | 0.127 | 1.000 | -0.127 | -1.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.003 | 1.000 | -0.003 | -1.000 |
| predicted_AB | 3.800 | 4.000 | 4.000 | Hitting_AB | 3.649 | 4.000 | 0.351 | 0.000 |
| predicted_AVG | 0.217 | 0.250 | 0.250 | Hitting_AVG | 0.246 | 0.500 | 0.004 | -0.250 |
| predicted_BB | 0.300 | 2.000 | 0.000 | Hitting_BB | 0.361 | 0.000 | 1.639 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 0.897 | 2.000 | 0.103 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_OBP | 0.294 | 0.500 | 0.250 | Hitting_OBP | 0.316 | 0.500 | 0.184 | 0.000 |
| predicted_R | 0.533 | 1.000 | 1.000 | Hitting_R | 0.598 | 2.000 | 0.402 | -1.000 |
| predicted_RBI | 0.360 | 1.000 | 0.000 | Hitting_RBI | 0.564 | 1.000 | 0.436 | 0.000 |
| predicted_SLG | 0.382 | 0.250 | 0.250 | Hitting_SLG | 0.384 | 1.250 | -0.134 | -1.000 |
| predicted_SO | 1.033 | 1.000 | 1.000 | Hitting_SO | 1.113 | 0.000 | -0.113 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 8 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 2 |
| Better Metrics | 6 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_BB: 0.3000 -> 2.0000 (boost 1.7000, better) |
| Biggest Deboost | predicted_2B: 0.1440 -> 0.0000 (deboost -0.1440, 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.2170 -> 0.2319 (boost 0.0149, better) | predicted_AB: 3.8000 -> 3.6532 (deboost -0.1468, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2319 -> 0.2434 (boost 0.0115, better) | predicted_SLG: 0.3913 -> 0.3771 (deboost -0.0142, 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 | 2 | 4 | predicted_AB: 3.6532 -> 4.0000 (boost 0.3468, better) | predicted_RBI: 0.3932 -> 0.0000 (deboost -0.3932, worse) | AB rounded to 4 (raw=3.80), rates preserved: AVG=0.234 HR/AB=0.023 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5345 -> 1.0000 (boost 0.4655, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2434 -> 0.2500 (boost 0.0066, better) | predicted_SLG: 0.3771 -> 0.2500 (deboost -0.1271, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3771 (boost 0.1271, better) | predicted_AVG: 0.2500 -> 0.2434 (deboost -0.0066, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"position": "LF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.144,
"predicted_3B": 0.011,
"predicted_AB": 3.8,
"predicted_AVG": 0.217,
"predicted_BB": 0.3,
"predicted_H": 0.83,
"predicted_HR": 0.09,
"predicted_OBP": 0.294,
"predicted_R": 0.533,
"predicted_RBI": 0.36,
"predicted_SLG": 0.382,
"predicted_SO": 1.033
},
"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.1547,
"predicted_3B": 0.0336,
"predicted_AB": 3.6532,
"predicted_AVG": 0.2319,
"predicted_BB": 0.274,
"predicted_H": 0.8475,
"predicted_HBP": 0.014,
"predicted_HR": 0.084,
"predicted_OBP": 0.2971,
"predicted_R": 0.4929,
"predicted_RBI": 0.3626,
"predicted_SLG": 0.3913,
"predicted_SO": 1.024
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.144,
"after": 0.1547,
"delta": 0.0107,
"percent_delta": 0.0743,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0336,
"delta": 0.0226,
"percent_delta": 2.0545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 3.6532,
"delta": -0.1468,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2319,
"delta": 0.0149,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.274,
"delta": -0.026,
"percent_delta": -0.0867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8475,
"delta": 0.0175,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.084,
"delta": -0.006,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2971,
"delta": 0.0031,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 0.4929,
"delta": -0.0401,
"percent_delta": -0.0752,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3626,
"delta": 0.0026,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3913,
"delta": 0.0093,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.033,
"after": 1.024,
"delta": -0.009,
"percent_delta": -0.0087,
"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.217,
"after": 0.2319,
"delta": 0.0149,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.8,
"after": 3.6532,
"delta": -0.1468,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 90
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1547,
"predicted_3B": 0.0336,
"predicted_AB": 3.6532,
"predicted_AVG": 0.2434,
"predicted_BB": 0.2788,
"predicted_H": 0.8893,
"predicted_HBP": 0.014,
"predicted_HR": 0.0888,
"predicted_OBP": 0.2971,
"predicted_R": 0.5345,
"predicted_RBI": 0.3932,
"predicted_SLG": 0.3771,
"predicted_SO": 1.0059
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1547,
"after": 0.1547,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0336,
"after": 0.0336,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6532,
"after": 3.6532,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2319,
"after": 0.2434,
"delta": 0.0115,
"percent_delta": 0.0496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.274,
"after": 0.2788,
"delta": 0.0048,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8475,
"after": 0.8893,
"delta": 0.0418,
"percent_delta": 0.0493,
"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.084,
"after": 0.0888,
"delta": 0.0048,
"percent_delta": 0.0571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2971,
"after": 0.2971,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4929,
"after": 0.5345,
"delta": 0.0416,
"percent_delta": 0.0844,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3626,
"after": 0.3932,
"delta": 0.0306,
"percent_delta": 0.0844,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3913,
"after": 0.3771,
"delta": -0.0142,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.024,
"after": 1.0059,
"delta": -0.0181,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2319,
"after": 0.2434,
"delta": 0.0115,
"percent_delta": 0.0496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3913,
"after": 0.3771,
"delta": -0.0142,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.80), rates preserved: AVG=0.234 HR/AB=0.023",
"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.1547,
"after": 0.0,
"delta": -0.1547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0336,
"after": 0.0,
"delta": -0.0336,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6532,
"after": 4.0,
"delta": 0.3468,
"percent_delta": 0.0949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2788,
"after": 0.0,
"delta": -0.2788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8893,
"after": 1.0,
"delta": 0.1107,
"percent_delta": 0.1245,
"direction": "boost",
"projection_effect": "better",
"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.0888,
"after": 0.0,
"delta": -0.0888,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3932,
"after": 0.0,
"delta": -0.3932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0059,
"after": 1.0,
"delta": -0.0059,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6532,
"after": 4.0,
"delta": 0.3468,
"percent_delta": 0.0949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3932,
"after": 0.0,
"delta": -0.3932,
"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=12.0, weight=0.114, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8857,
"bvp": 0.1143
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5345,
"after": 1.0,
"delta": 0.4655,
"percent_delta": 0.8709,
"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.5345,
"after": 1.0,
"delta": 0.4655,
"percent_delta": 0.8709,
"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.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"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.2434,
"after": 0.25,
"delta": 0.0066,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2971,
"after": 0.25,
"delta": -0.0471,
"percent_delta": -0.1585,
"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.3771,
"after": 0.25,
"delta": -0.1271,
"percent_delta": -0.337,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2434,
"after": 0.25,
"delta": 0.0066,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3771,
"after": 0.25,
"delta": -0.1271,
"percent_delta": -0.337,
"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": 2.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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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.2434,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2971,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3771,
"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.25,
"after": 0.2434,
"delta": -0.0066,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.25,
"after": 0.2971,
"delta": 0.0471,
"percent_delta": 0.1883,
"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.25,
"after": 0.3771,
"delta": 0.1271,
"percent_delta": 0.5084,
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3771,
"delta": 0.1271,
"percent_delta": 0.5084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2434,
"delta": -0.0066,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.144,
"after": 0.0,
"delta": -0.144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 4.0,
"delta": 0.2,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2434,
"delta": 0.0264,
"percent_delta": 0.1217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.0,
"delta": 0.17,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2971,
"delta": 0.0031,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 1.0,
"delta": 0.467,
"percent_delta": 0.8762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3771,
"delta": -0.0049,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.033,
"after": 1.0,
"delta": -0.033,
"percent_delta": -0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 6,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.144,
"after": 0.0,
"delta": -0.144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.800 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.300 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.533 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.382 | - |
| predicted_SO | 1.033 | - |
Final model 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.155 | 0.011 |
| predicted_3B | 0.034 | 0.023 |
| predicted_AB | 3.653 | -0.147 |
| predicted_AVG | 0.232 | 0.015 |
| predicted_BB | 0.274 | -0.026 |
| predicted_H | 0.848 | 0.018 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.084 | -0.006 |
| predicted_OBP | 0.297 | 0.003 |
| predicted_R | 0.493 | -0.040 |
| predicted_RBI | 0.363 | 0.003 |
| predicted_SLG | 0.391 | 0.009 |
| predicted_SO | 1.024 | -0.009 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 3.653 | 0.000 |
| predicted_AVG | 0.243 | 0.012 |
| predicted_BB | 0.279 | 0.005 |
| predicted_H | 0.889 | 0.042 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.089 | 0.005 |
| predicted_OBP | 0.297 | 0.000 |
| predicted_R | 0.534 | 0.042 |
| predicted_RBI | 0.393 | 0.031 |
| predicted_SLG | 0.377 | -0.014 |
| predicted_SO | 1.006 | -0.018 |
AB rounded to 4 (raw=3.80), rates preserved: AVG=0.234 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.155 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 4.000 | 0.347 |
| predicted_AVG | 0.250 | 0.007 |
| predicted_BB | 0.000 | -0.279 |
| predicted_H | 1.000 | 0.111 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.250 | -0.047 |
| predicted_R | 1.000 | 0.466 |
| predicted_RBI | 0.000 | -0.393 |
| predicted_SLG | 0.250 | -0.127 |
| predicted_SO | 1.000 | -0.006 |
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 | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 6.000 | - |
| R | 1.000 | 0.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 | - | 18.000 | 5.000 | 1.000 | 1.000 | 0.000 | 1.000 | 2.000 | 1.000 | 5.000 | 0.2778 | 0.3158 | 0.4444 | 0.2778 | 0.0000 | 0.0556 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 10 | - | 30.000 | 7.000 | 2.000 | 1.000 | 0.000 | 2.000 | 2.000 | 1.000 | 10.000 | 0.2333 | 0.2581 | 0.3667 | 0.2333 | 0.0000 | 0.0667 | 0.0333 | 0.3333 |
| season | 0.60 | 90 | - | 316.000 | 79.000 | 13.000 | 1.000 | 11.000 | 42.000 | 48.000 | 27.000 | 93.000 | 0.2500 | 0.3103 | 0.4019 | 0.2500 | 0.0348 | 0.1329 | 0.0854 | 0.2943 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1690 |
| predicted_3B | 0.0640 |
| predicted_AB | 3.4560 |
| predicted_AVG | 0.2519 |
| predicted_BB | 0.2390 |
| predicted_H | 0.8710 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.0760 |
| predicted_OBP | 0.3013 |
| predicted_R | 0.4390 |
| predicted_RBI | 0.3660 |
| predicted_SLG | 0.4038 |
| predicted_SO | 1.0120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1440 | 0.1690 | 0.1547 | model_form_blend |
| predicted_3B | 0.0110 | 0.0640 | 0.0336 | model_form_blend |
| predicted_AB | 3.8000 | 3.4560 | 3.6532 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2519 | 0.2319 | model_form_blend |
| predicted_BB | 0.3000 | 0.2390 | 0.2740 | model_form_blend |
| predicted_H | 0.8300 | 0.8710 | 0.8475 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.0900 | 0.0760 | 0.0840 | model_form_blend |
| predicted_OBP | 0.2940 | 0.3013 | 0.2971 | model_form_blend |
| predicted_R | 0.5330 | 0.4390 | 0.4929 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3660 | 0.3626 | model_form_blend |
| predicted_SLG | 0.3820 | 0.4038 | 0.3913 | model_form_blend |
| predicted_SO | 1.0330 | 1.0120 | 1.0240 | 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 | 291 |
| Season rows before report date | 291 |
| Report year | 2026 |
| Profile rows used | 90 |
| 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 | 6 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 2 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.25 |
| 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 | 1 |
| 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 | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| 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 | LF |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 606192 |
| playerID | 606192 |
| playerName | Teoscar Hernández |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| sl_k_percent | 26.9 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.313 |
| sl_xwoba | 0.317 |
| sl_xba | 0.246 |
| sl_xslg | 0.417 |
| sl_sweet_spot_percent | 30.7 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 43.9 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 31.7 |
| 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.179 | 1.000 | 0.000 | Hitting_2B | 0.235 | 0.000 | 0.765 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 5.000 | 3.000 | Hitting_AB | 1.882 | 0.000 | 3.118 | 5.000 |
| predicted_AVG | 0.214 | 0.400 | 0.333 | Hitting_AVG | 0.312 | - | 0.088 | - |
| predicted_BB | 0.089 | 0.000 | 0.000 | Hitting_BB | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.536 | 2.000 | 1.000 | Hitting_H | 0.588 | 0.000 | 1.412 | 2.000 |
| predicted_HR | 0.089 | 0.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_OBP | 0.241 | 0.400 | 0.333 | Hitting_OBP | 0.333 | - | 0.067 | - |
| predicted_R | 0.268 | 1.000 | 0.000 | Hitting_R | 0.294 | 0.000 | 0.706 | 1.000 |
| predicted_RBI | 0.179 | 2.000 | 0.000 | Hitting_RBI | 0.235 | 0.000 | 1.765 | 2.000 |
| predicted_SLG | 0.393 | 0.600 | 0.333 | Hitting_SLG | 0.625 | - | -0.025 | - |
| predicted_SO | 0.714 | 2.000 | 1.000 | Hitting_SO | 0.471 | 0.000 | 1.529 | 2.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 | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_AB: 2.5000 -> 5.0000 (boost 2.5000, better) |
| Biggest Deboost | predicted_BB: 0.0890 -> 0.0000 (deboost -0.0890, 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_AB: 2.5000 -> 2.6422 (boost 0.1422, better) | predicted_SLG: 0.3930 -> 0.3779 (deboost -0.0151, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3779 -> 0.3919 (boost 0.0140, better) | - | 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_H: 0.5890 -> 1.0000 (boost 0.4110, better) | predicted_RBI: 0.2186 -> 0.0000 (deboost -0.2186, worse) | AB rounded to 3 (raw=2.64), rates preserved: AVG=0.223 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3125 -> 0.0000 (deboost -0.3125, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2229 -> 0.3330 (boost 0.1101, better) | predicted_SLG: 0.3919 -> 0.3330 (deboost -0.0589, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 6 | 0 | 5 | 1 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3919 (boost 0.0589, better) | predicted_AVG: 0.3330 -> 0.2229 (deboost -0.1101, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571771",
"player_name": "Enrique Hernández",
"position": "3B",
"team": "LAD",
"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.179,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.214,
"predicted_BB": 0.089,
"predicted_H": 0.536,
"predicted_HR": 0.089,
"predicted_OBP": 0.241,
"predicted_R": 0.268,
"predicted_RBI": 0.179,
"predicted_SLG": 0.393,
"predicted_SO": 0.714
},
"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.1654,
"predicted_3B": 0.0018,
"predicted_AB": 2.6422,
"predicted_AVG": 0.2124,
"predicted_BB": 0.1164,
"predicted_H": 0.5613,
"predicted_HBP": 0.013,
"predicted_HR": 0.0875,
"predicted_OBP": 0.2461,
"predicted_R": 0.2882,
"predicted_RBI": 0.2016,
"predicted_SLG": 0.3779,
"predicted_SO": 0.7405
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1654,
"delta": -0.0136,
"percent_delta": -0.076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0018,
"delta": 0.0018,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6422,
"delta": 0.1422,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2124,
"delta": -0.0016,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.089,
"after": 0.1164,
"delta": 0.0274,
"percent_delta": 0.3079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.536,
"after": 0.5613,
"delta": 0.0253,
"percent_delta": 0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.089,
"after": 0.0875,
"delta": -0.0015,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.241,
"after": 0.2461,
"delta": 0.0051,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.268,
"after": 0.2882,
"delta": 0.0202,
"percent_delta": 0.0754,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.179,
"after": 0.2016,
"delta": 0.0226,
"percent_delta": 0.1263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3779,
"delta": -0.0151,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 0.7405,
"delta": 0.0265,
"percent_delta": 0.0371,
"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_AB",
"before": 2.5,
"after": 2.6422,
"delta": 0.1422,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3779,
"delta": -0.0151,
"percent_delta": -0.0384,
"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": 13
}
},
{
"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.1654,
"predicted_3B": 0.0018,
"predicted_AB": 2.6422,
"predicted_AVG": 0.2229,
"predicted_BB": 0.1185,
"predicted_H": 0.589,
"predicted_HBP": 0.013,
"predicted_HR": 0.0925,
"predicted_OBP": 0.2563,
"predicted_R": 0.3125,
"predicted_RBI": 0.2186,
"predicted_SLG": 0.3919,
"predicted_SO": 0.7274
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1654,
"after": 0.1654,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6422,
"after": 2.6422,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2124,
"after": 0.2229,
"delta": 0.0105,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1164,
"after": 0.1185,
"delta": 0.0021,
"percent_delta": 0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5613,
"after": 0.589,
"delta": 0.0277,
"percent_delta": 0.0493,
"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.0875,
"after": 0.0925,
"delta": 0.005,
"percent_delta": 0.0571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2461,
"after": 0.2563,
"delta": 0.0102,
"percent_delta": 0.0414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2882,
"after": 0.3125,
"delta": 0.0243,
"percent_delta": 0.0843,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2016,
"after": 0.2186,
"delta": 0.017,
"percent_delta": 0.0843,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3779,
"after": 0.3919,
"delta": 0.014,
"percent_delta": 0.037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7405,
"after": 0.7274,
"delta": -0.0131,
"percent_delta": -0.0177,
"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.3779,
"after": 0.3919,
"delta": 0.014,
"percent_delta": 0.037,
"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=2.64), rates preserved: AVG=0.223 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1654,
"after": 0.0,
"delta": -0.1654,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0,
"delta": -0.0018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6422,
"after": 3.0,
"delta": 0.3578,
"percent_delta": 0.1354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1185,
"after": 0.0,
"delta": -0.1185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.589,
"after": 1.0,
"delta": 0.411,
"percent_delta": 0.6978,
"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.0925,
"after": 0.0,
"delta": -0.0925,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2186,
"after": 0.0,
"delta": -0.2186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7274,
"after": 1.0,
"delta": 0.2726,
"percent_delta": 0.3748,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.589,
"after": 1.0,
"delta": 0.411,
"percent_delta": 0.6978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2186,
"after": 0.0,
"delta": -0.2186,
"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=27.0, weight=0.189, BvP AVG=0.222)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8105,
"bvp": 0.1895
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3125,
"after": 0.0,
"delta": -0.3125,
"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.3125,
"after": 0.0,
"delta": -0.3125,
"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.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2229,
"after": 0.333,
"delta": 0.1101,
"percent_delta": 0.4939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2563,
"after": 0.333,
"delta": 0.0767,
"percent_delta": 0.2993,
"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.3919,
"after": 0.333,
"delta": -0.0589,
"percent_delta": -0.1503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2229,
"after": 0.333,
"delta": 0.1101,
"percent_delta": 0.4939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3919,
"after": 0.333,
"delta": -0.0589,
"percent_delta": -0.1503,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"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": 5.0,
"predicted_AVG": 0.2229,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2563,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3919,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2229,
"delta": -0.1101,
"percent_delta": -0.3306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2563,
"delta": -0.0767,
"percent_delta": -0.2305,
"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": 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.333,
"after": 0.3919,
"delta": 0.0589,
"percent_delta": 0.1769,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3919,
"delta": 0.0589,
"percent_delta": 0.1769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2229,
"delta": -0.1101,
"percent_delta": -0.3306,
"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.179,
"after": 1.0,
"delta": 0.821,
"percent_delta": 4.5866,
"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": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2229,
"delta": 0.0089,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.536,
"after": 2.0,
"delta": 1.464,
"percent_delta": 2.7313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.241,
"after": 0.2563,
"delta": 0.0153,
"percent_delta": 0.0635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.268,
"after": 1.0,
"delta": 0.732,
"percent_delta": 2.7313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.179,
"after": 2.0,
"delta": 1.821,
"percent_delta": 10.1732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3919,
"delta": -0.0011,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 2.0,
"delta": 1.286,
"percent_delta": 1.8011,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 8,
"deboosted_metrics": 2,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"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.179 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.089 | - |
| predicted_H | 0.536 | - |
| predicted_HR | 0.089 | - |
| predicted_OBP | 0.241 | - |
| predicted_R | 0.268 | - |
| predicted_RBI | 0.179 | - |
| predicted_SLG | 0.393 | - |
| predicted_SO | 0.714 | - |
Final model 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.014 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.642 | 0.142 |
| predicted_AVG | 0.212 | -0.002 |
| predicted_BB | 0.116 | 0.027 |
| predicted_H | 0.561 | 0.025 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.087 | -0.002 |
| predicted_OBP | 0.246 | 0.005 |
| predicted_R | 0.288 | 0.020 |
| predicted_RBI | 0.202 | 0.023 |
| predicted_SLG | 0.378 | -0.015 |
| predicted_SO | 0.741 | 0.027 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.165 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.642 | 0.000 |
| predicted_AVG | 0.223 | 0.010 |
| predicted_BB | 0.118 | 0.002 |
| predicted_H | 0.589 | 0.028 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.092 | 0.005 |
| predicted_OBP | 0.256 | 0.010 |
| predicted_R | 0.312 | 0.024 |
| predicted_RBI | 0.219 | 0.017 |
| predicted_SLG | 0.392 | 0.014 |
| predicted_SO | 0.727 | -0.013 |
AB rounded to 3 (raw=2.64), rates preserved: AVG=0.223 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 | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.222)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.002 |
| predicted_AB | 3.000 | 0.358 |
| predicted_AVG | 0.333 | 0.110 |
| predicted_BB | 0.000 | -0.118 |
| predicted_H | 1.000 | 0.411 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.333 | 0.077 |
| predicted_R | 0.000 | -0.312 |
| predicted_RBI | 0.000 | -0.219 |
| predicted_SLG | 0.333 | -0.059 |
| predicted_SO | 1.000 | 0.273 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 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 | - | 10.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.1000 | 0.1818 | 0.1000 | 0.1000 | 0.0000 | 0.0000 | 0.1000 | 0.4000 |
| last_10 | 0.20 | 10 | - | 21.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 7.000 | 0.0952 | 0.1364 | 0.0952 | 0.0952 | 0.0000 | 0.0000 | 0.0476 | 0.3333 |
| season | 0.60 | 13 | - | 28.000 | 6.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 8.000 | 0.2143 | 0.2414 | 0.3929 | 0.2143 | 0.0357 | 0.0714 | 0.0357 | 0.2857 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1340 |
| predicted_3B | 0.0060 |
| predicted_AB | 2.9720 |
| predicted_AVG | 0.2086 |
| predicted_BB | 0.1800 |
| predicted_H | 0.6200 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0840 |
| predicted_OBP | 0.2578 |
| predicted_R | 0.3350 |
| predicted_RBI | 0.2540 |
| predicted_SLG | 0.3428 |
| predicted_SO | 0.8020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.1340 | 0.1654 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0018 | model_form_blend |
| predicted_AB | 2.5000 | 2.9720 | 2.6422 | model_form_blend |
| predicted_AVG | 0.2140 | 0.2086 | 0.2124 | model_form_blend |
| predicted_BB | 0.0890 | 0.1800 | 0.1164 | model_form_blend |
| predicted_H | 0.5360 | 0.6200 | 0.5613 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0890 | 0.0840 | 0.0875 | model_form_blend |
| predicted_OBP | 0.2410 | 0.2578 | 0.2461 | model_form_blend |
| predicted_R | 0.2680 | 0.3350 | 0.2882 | model_form_blend |
| predicted_RBI | 0.1790 | 0.2540 | 0.2016 | model_form_blend |
| predicted_SLG | 0.3930 | 0.3428 | 0.3779 | model_form_blend |
| predicted_SO | 0.7140 | 0.8020 | 0.7405 | 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 | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 13 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.214 |
| 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 | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260818_LAD@COL |
| game_type | short |
| mlbID | 571771 |
| playerID | 571771 |
| playerName | Enrique Hernández |
| pos | 1B |
| started | False |
| startingPosition | LF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| sl_k_percent | 27.6 |
| sl_bb_percent | 3.4 |
| sl_woba | 0.274 |
| sl_xwoba | 0.239 |
| sl_xba | 0.193 |
| sl_xslg | 0.326 |
| sl_sweet_spot_percent | 15.0 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 35.0 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 10.9 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 60.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.238 | 0.000 | 0.000 | Hitting_2B | 0.254 | 0.000 | -0.254 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.840 | 4.000 | 4.000 | Hitting_AB | 3.808 | 3.000 | 0.192 | 1.000 |
| predicted_AVG | 0.319 | 0.250 | 0.250 | Hitting_AVG | 0.295 | 0.667 | -0.045 | -0.417 |
| predicted_BB | 0.451 | 2.000 | 0.000 | Hitting_BB | 0.534 | 1.000 | 1.466 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.220 | 1.000 | 1.000 | Hitting_H | 1.124 | 2.000 | -0.124 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.141 | 0.000 | -0.141 | 0.000 |
| predicted_OBP | 0.350 | 0.500 | 0.250 | Hitting_OBP | 0.384 | 0.600 | 0.116 | -0.100 |
| predicted_R | 0.508 | 1.000 | 1.000 | Hitting_R | 0.567 | 1.000 | 0.433 | 0.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.528 | 2.000 | -0.528 | -2.000 |
| predicted_SLG | 0.428 | 0.250 | 0.250 | Hitting_SLG | 0.478 | 0.667 | -0.228 | -0.417 |
| predicted_SO | 0.672 | 1.000 | 1.000 | Hitting_SO | 0.715 | 0.000 | 0.285 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.4510 -> 2.0000 (boost 1.5490, better) |
| Biggest Deboost | predicted_RBI: 0.5500 -> 0.0000 (deboost -0.5500, 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_H: 1.2200 -> 1.1597 (deboost -0.0603, 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 | 4 | 4 | 0 | 4 | 0 | predicted_H: 1.1597 -> 1.2169 (boost 0.0572, better) | - | 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.5747 -> 1.0000 (boost 0.4253, better) | predicted_BB: 0.4462 -> 0.0000 (deboost -0.4462, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.317 HR/AB=0.023 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=44.0, weight=0.238, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5758 -> 1.0000 (boost 0.4242, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4583 -> 0.2500 (deboost -0.2083, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_RBI: 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.2500 -> 0.4583 (boost 0.2083, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"team": "LAD",
"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.238,
"predicted_3B": 0.008,
"predicted_AB": 3.84,
"predicted_AVG": 0.319,
"predicted_BB": 0.451,
"predicted_H": 1.22,
"predicted_HR": 0.09,
"predicted_OBP": 0.35,
"predicted_R": 0.508,
"predicted_RBI": 0.55,
"predicted_SLG": 0.428,
"predicted_SO": 0.672
},
"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.2467,
"predicted_3B": 0.0067,
"predicted_AB": 3.807,
"predicted_AVG": 0.3051,
"predicted_BB": 0.4384,
"predicted_H": 1.1597,
"predicted_HBP": 0.016,
"predicted_HR": 0.0844,
"predicted_OBP": 0.3522,
"predicted_R": 0.531,
"predicted_RBI": 0.53,
"predicted_SLG": 0.4244,
"predicted_SO": 0.6481
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.238,
"after": 0.2467,
"delta": 0.0087,
"percent_delta": 0.0366,
"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.84,
"after": 3.807,
"delta": -0.033,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.319,
"after": 0.3051,
"delta": -0.0139,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.451,
"after": 0.4384,
"delta": -0.0126,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.1597,
"delta": -0.0603,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0844,
"delta": -0.0056,
"percent_delta": -0.0622,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3522,
"delta": 0.0022,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 0.531,
"delta": 0.023,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.53,
"delta": -0.02,
"percent_delta": -0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4244,
"delta": -0.0036,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.672,
"after": 0.6481,
"delta": -0.0239,
"percent_delta": -0.0356,
"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.22,
"after": 1.1597,
"delta": -0.0603,
"percent_delta": -0.0494,
"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.2467,
"predicted_3B": 0.0067,
"predicted_AB": 3.807,
"predicted_AVG": 0.3196,
"predicted_BB": 0.4462,
"predicted_H": 1.2169,
"predicted_HBP": 0.016,
"predicted_HR": 0.0892,
"predicted_OBP": 0.391,
"predicted_R": 0.5758,
"predicted_RBI": 0.5747,
"predicted_SLG": 0.4583,
"predicted_SO": 0.6366
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2467,
"after": 0.2467,
"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.807,
"after": 3.807,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3051,
"after": 0.3196,
"delta": 0.0145,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4384,
"after": 0.4462,
"delta": 0.0078,
"percent_delta": 0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1597,
"after": 1.2169,
"delta": 0.0572,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0844,
"after": 0.0892,
"delta": 0.0048,
"percent_delta": 0.0569,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3522,
"after": 0.391,
"delta": 0.0388,
"percent_delta": 0.1102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.531,
"after": 0.5758,
"delta": 0.0448,
"percent_delta": 0.0844,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5747,
"delta": 0.0447,
"percent_delta": 0.0843,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4244,
"after": 0.4583,
"delta": 0.0339,
"percent_delta": 0.0799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6481,
"after": 0.6366,
"delta": -0.0115,
"percent_delta": -0.0177,
"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": 1.1597,
"after": 1.2169,
"delta": 0.0572,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.317 HR/AB=0.023",
"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.2467,
"after": 0.0,
"delta": -0.2467,
"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.807,
"after": 4.0,
"delta": 0.193,
"percent_delta": 0.0507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4462,
"after": 0.0,
"delta": -0.4462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2169,
"after": 1.0,
"delta": -0.2169,
"percent_delta": -0.1782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0892,
"after": 0.0,
"delta": -0.0892,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5747,
"after": 1.0,
"delta": 0.4253,
"percent_delta": 0.74,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6366,
"after": 1.0,
"delta": 0.3634,
"percent_delta": 0.5708,
"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.5747,
"after": 1.0,
"delta": 0.4253,
"percent_delta": 0.74,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4462,
"after": 0.0,
"delta": -0.4462,
"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=44.0, weight=0.238, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.7622,
"bvp": 0.2378
},
"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.5758,
"after": 1.0,
"delta": 0.4242,
"percent_delta": 0.7367,
"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.5758,
"after": 1.0,
"delta": 0.4242,
"percent_delta": 0.7367,
"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.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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.3196,
"after": 0.25,
"delta": -0.0696,
"percent_delta": -0.2178,
"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.391,
"after": 0.25,
"delta": -0.141,
"percent_delta": -0.3606,
"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.4583,
"after": 0.25,
"delta": -0.2083,
"percent_delta": -0.4545,
"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.4583,
"after": 0.25,
"delta": -0.2083,
"percent_delta": -0.4545,
"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": 2.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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.3196,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.391,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4583,
"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.25,
"after": 0.3196,
"delta": 0.0696,
"percent_delta": 0.2786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.25,
"after": 0.391,
"delta": 0.141,
"percent_delta": 0.564,
"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.25,
"after": 0.4583,
"delta": 0.2083,
"percent_delta": 0.8331,
"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.25,
"after": 0.4583,
"delta": 0.2083,
"percent_delta": 0.8331,
"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.238,
"after": 0.0,
"delta": -0.238,
"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.84,
"after": 4.0,
"delta": 0.16,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.319,
"after": 0.3196,
"delta": 0.0006,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.451,
"after": 2.0,
"delta": 1.549,
"percent_delta": 3.4346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.0,
"delta": -0.22,
"percent_delta": -0.1803,
"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.35,
"after": 0.391,
"delta": 0.041,
"percent_delta": 0.1171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 1.0,
"delta": 0.492,
"percent_delta": 0.9685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4583,
"delta": 0.0303,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.672,
"after": 1.0,
"delta": 0.328,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.451,
"after": 2.0,
"delta": 1.549,
"percent_delta": 3.4346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.238 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.319 | - |
| predicted_BB | 0.451 | - |
| predicted_H | 1.220 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.350 | - |
| predicted_R | 0.508 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.428 | - |
| predicted_SO | 0.672 | - |
Final model 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.247 | 0.009 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.807 | -0.033 |
| predicted_AVG | 0.305 | -0.014 |
| predicted_BB | 0.438 | -0.013 |
| predicted_H | 1.160 | -0.060 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.084 | -0.006 |
| predicted_OBP | 0.352 | 0.002 |
| predicted_R | 0.531 | 0.023 |
| predicted_RBI | 0.530 | -0.020 |
| predicted_SLG | 0.424 | -0.004 |
| predicted_SO | 0.648 | -0.024 |
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.247 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.807 | 0.000 |
| predicted_AVG | 0.320 | 0.015 |
| predicted_BB | 0.446 | 0.008 |
| predicted_H | 1.217 | 0.057 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.089 | 0.005 |
| predicted_OBP | 0.391 | 0.039 |
| predicted_R | 0.576 | 0.045 |
| predicted_RBI | 0.575 | 0.045 |
| predicted_SLG | 0.458 | 0.034 |
| predicted_SO | 0.637 | -0.011 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.317 HR/AB=0.023
| 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=44.0, weight=0.238, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 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.247 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.193 |
| predicted_AVG | 0.250 | -0.070 |
| predicted_BB | 0.000 | -0.446 |
| predicted_H | 1.000 | -0.217 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.250 | -0.141 |
| predicted_R | 1.000 | 0.424 |
| predicted_RBI | 1.000 | 0.425 |
| predicted_SLG | 0.250 | -0.208 |
| predicted_SO | 1.000 | 0.363 |
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 | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 6.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 | - | 19.000 | 5.000 | 2.000 | 0.000 | 0.000 | 3.000 | 4.000 | 2.000 | 2.000 | 0.2632 | 0.3182 | 0.3684 | 0.2632 | 0.0000 | 0.1579 | 0.1053 | 0.1053 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 2.000 | 0.000 | 0.000 | 5.000 | 5.000 | 4.000 | 6.000 | 0.2703 | 0.3333 | 0.3243 | 0.2703 | 0.0000 | 0.1351 | 0.1081 | 0.1622 |
| season | 0.60 | 122 | - | 460.000 | 140.000 | 29.000 | 1.000 | 15.000 | 58.000 | 62.000 | 55.000 | 82.000 | 0.3043 | 0.3793 | 0.4696 | 0.3044 | 0.0326 | 0.1261 | 0.1196 | 0.1783 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2580 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.7640 |
| predicted_AVG | 0.2870 |
| predicted_BB | 0.4220 |
| predicted_H | 1.0810 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0770 |
| predicted_OBP | 0.3550 |
| predicted_R | 0.5610 |
| predicted_RBI | 0.5040 |
| predicted_SLG | 0.4197 |
| predicted_SO | 0.6170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2380 | 0.2580 | 0.2467 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.8400 | 3.7640 | 3.8070 | model_form_blend |
| predicted_AVG | 0.3190 | 0.2870 | 0.3051 | model_form_blend |
| predicted_BB | 0.4510 | 0.4220 | 0.4384 | model_form_blend |
| predicted_H | 1.2200 | 1.0810 | 1.1597 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0900 | 0.0770 | 0.0844 | model_form_blend |
| predicted_OBP | 0.3500 | 0.3550 | 0.3522 | model_form_blend |
| predicted_R | 0.5080 | 0.5610 | 0.5310 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5040 | 0.5300 | model_form_blend |
| predicted_SLG | 0.4280 | 0.4197 | 0.4244 | model_form_blend |
| predicted_SO | 0.6720 | 0.6170 | 0.6481 | 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 | 453 |
| Season rows before report date | 453 |
| 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 | 6 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 2 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.304 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| sl_k_percent | 15.9 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.368 |
| sl_xwoba | 0.375 |
| sl_xba | 0.3 |
| sl_xslg | 0.485 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 50.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.178 | 0.000 | 0.000 | Hitting_2B | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 5.000 | 3.000 | Hitting_AB | 2.702 | 0.000 | 2.298 | 5.000 |
| predicted_AVG | 0.333 | 0.000 | 0.333 | Hitting_AVG | 0.286 | - | -0.286 | - |
| predicted_BB | 0.148 | 0.000 | 0.000 | Hitting_BB | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.190 | 0.000 | 1.000 | Hitting_H | 0.773 | 0.000 | -0.773 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_OBP | 0.333 | 0.167 | 0.333 | Hitting_OBP | 0.324 | - | -0.158 | - |
| predicted_R | 0.281 | 0.000 | 0.000 | Hitting_R | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_RBI | 0.060 | 0.000 | 0.000 | Hitting_RBI | 0.337 | 0.000 | -0.337 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.384 | 0.000 | 0.333 | Hitting_SLG | 0.417 | - | -0.417 | - |
| predicted_SO | 0.281 | 0.000 | 0.000 | Hitting_SO | 0.304 | 0.000 | -0.304 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.5000 -> 5.0000 (boost 2.5000, better) |
| Biggest Deboost | predicted_R: 0.2810 -> 0.0000 (deboost -0.2810, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_H: 0.1900 -> 0.3783 (boost 0.1883, better) | predicted_AVG: 0.3330 -> 0.3086 (deboost -0.0244, 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.3086 -> 0.1620 (deboost -0.1466, 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_AB: 2.4501 -> 3.0000 (boost 0.5499, better) | predicted_H: 0.3970 -> 0.0000 (deboost -0.3970, worse) | AB rounded to 3 (raw=2.50), rates preserved: AVG=0.159 HR/AB=0.021 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=24.0, weight=0.178, BvP AVG=0.375) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3633 -> 0.0000 (deboost -0.3633, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1620 -> 0.3330 (boost 0.1710, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1620 (deboost -0.1710, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "500743",
"player_name": "Miguel Rojas",
"position": "2B",
"team": "LAD",
"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": 2.5,
"predicted_AVG": 0.333,
"predicted_BB": 0.148,
"predicted_H": 0.19,
"predicted_HR": 0.06,
"predicted_OBP": 0.333,
"predicted_R": 0.281,
"predicted_RBI": 0.06,
"predicted_SLG": 0.384,
"predicted_SO": 0.281
},
"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.2132,
"predicted_3B": 0.0004,
"predicted_AB": 2.4501,
"predicted_AVG": 0.3086,
"predicted_BB": 0.2135,
"predicted_H": 0.3783,
"predicted_HBP": 0.01,
"predicted_HR": 0.0489,
"predicted_OBP": 0.3396,
"predicted_R": 0.335,
"predicted_RBI": 0.1063,
"predicted_SLG": 0.4018,
"predicted_SO": 0.2765
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.178,
"after": 0.2132,
"delta": 0.0352,
"percent_delta": 0.1978,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.4501,
"delta": -0.0499,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3086,
"delta": -0.0244,
"percent_delta": -0.0733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.148,
"after": 0.2135,
"delta": 0.0655,
"percent_delta": 0.4426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 0.3783,
"delta": 0.1883,
"percent_delta": 0.9911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0489,
"delta": -0.0111,
"percent_delta": -0.185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3396,
"delta": 0.0066,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.281,
"after": 0.335,
"delta": 0.054,
"percent_delta": 0.1922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.06,
"after": 0.1063,
"delta": 0.0463,
"percent_delta": 0.7717,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.4018,
"delta": 0.0178,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.281,
"after": 0.2765,
"delta": -0.0045,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.19,
"after": 0.3783,
"delta": 0.1883,
"percent_delta": 0.9911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3086,
"delta": -0.0244,
"percent_delta": -0.0733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2132,
"predicted_3B": 0.0004,
"predicted_AB": 2.4501,
"predicted_AVG": 0.162,
"predicted_BB": 0.2173,
"predicted_H": 0.397,
"predicted_HBP": 0.01,
"predicted_HR": 0.0517,
"predicted_OBP": 0.2303,
"predicted_R": 0.3633,
"predicted_RBI": 0.1153,
"predicted_SLG": 0.3127,
"predicted_SO": 0.2716
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2132,
"after": 0.2132,
"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.4501,
"after": 2.4501,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3086,
"after": 0.162,
"delta": -0.1466,
"percent_delta": -0.475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2135,
"after": 0.2173,
"delta": 0.0038,
"percent_delta": 0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3783,
"after": 0.397,
"delta": 0.0187,
"percent_delta": 0.0494,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.01,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0489,
"after": 0.0517,
"delta": 0.0028,
"percent_delta": 0.0573,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3396,
"after": 0.2303,
"delta": -0.1093,
"percent_delta": -0.3218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.335,
"after": 0.3633,
"delta": 0.0283,
"percent_delta": 0.0845,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1063,
"after": 0.1153,
"delta": 0.009,
"percent_delta": 0.0847,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4018,
"after": 0.3127,
"delta": -0.0891,
"percent_delta": -0.2218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2765,
"after": 0.2716,
"delta": -0.0049,
"percent_delta": -0.0177,
"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.3086,
"after": 0.162,
"delta": -0.1466,
"percent_delta": -0.475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.50), rates preserved: AVG=0.159 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2132,
"after": 0.0,
"delta": -0.2132,
"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.4501,
"after": 3.0,
"delta": 0.5499,
"percent_delta": 0.2244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2173,
"after": 0.0,
"delta": -0.2173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0517,
"after": 0.0,
"delta": -0.0517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1153,
"after": 0.0,
"delta": -0.1153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2716,
"after": 0.0,
"delta": -0.2716,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.4501,
"after": 3.0,
"delta": 0.5499,
"percent_delta": 0.2244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"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=24.0, weight=0.178, BvP AVG=0.375)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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_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": 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": {
"model_expectation": 0.8222,
"bvp": 0.1778
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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.3633,
"after": 0.0,
"delta": -0.3633,
"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.3633,
"after": 0.0,
"delta": -0.3633,
"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.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"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.162,
"after": 0.333,
"delta": 0.171,
"percent_delta": 1.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2303,
"after": 0.333,
"delta": 0.1027,
"percent_delta": 0.4459,
"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.3127,
"after": 0.333,
"delta": 0.0203,
"percent_delta": 0.0649,
"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_AVG",
"before": 0.162,
"after": 0.333,
"delta": 0.171,
"percent_delta": 1.0556,
"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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"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": 5.0,
"predicted_AVG": 0.162,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2303,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3127,
"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": 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.333,
"after": 0.162,
"delta": -0.171,
"percent_delta": -0.5135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 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.333,
"after": 0.2303,
"delta": -0.1027,
"percent_delta": -0.3085,
"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.333,
"after": 0.3127,
"delta": -0.0203,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.162,
"delta": -0.171,
"percent_delta": -0.5135,
"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.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": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.162,
"delta": -0.171,
"percent_delta": -0.5135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.148,
"after": 0.0,
"delta": -0.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2303,
"delta": -0.1027,
"percent_delta": -0.3084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.281,
"after": 0.0,
"delta": -0.281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.3127,
"delta": -0.0713,
"percent_delta": -0.1857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.281,
"after": 0.0,
"delta": -0.281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.281,
"after": 0.0,
"delta": -0.281,
"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.178 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.333 | - |
| predicted_BB | 0.148 | - |
| predicted_H | 0.190 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.281 | - |
| predicted_RBI | 0.060 | - |
| predicted_SLG | 0.384 | - |
| predicted_SO | 0.281 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | 0.035 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.450 | -0.050 |
| predicted_AVG | 0.309 | -0.024 |
| predicted_BB | 0.213 | 0.066 |
| predicted_H | 0.378 | 0.188 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.049 | -0.011 |
| predicted_OBP | 0.340 | 0.007 |
| predicted_R | 0.335 | 0.054 |
| predicted_RBI | 0.106 | 0.046 |
| predicted_SLG | 0.402 | 0.018 |
| predicted_SO | 0.277 | -0.005 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.450 | 0.000 |
| predicted_AVG | 0.162 | -0.147 |
| predicted_BB | 0.217 | 0.004 |
| predicted_H | 0.397 | 0.019 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.052 | 0.003 |
| predicted_OBP | 0.230 | -0.109 |
| predicted_R | 0.363 | 0.028 |
| predicted_RBI | 0.115 | 0.009 |
| predicted_SLG | 0.313 | -0.089 |
| predicted_SO | 0.272 | -0.005 |
AB rounded to 3 (raw=2.50), rates preserved: AVG=0.159 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 | 0.000 | - |
Sample-size BvP blend (BvP AB=24.0, weight=0.178, BvP AVG=0.375)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.213 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.550 |
| predicted_AVG | 0.333 | 0.171 |
| predicted_BB | 0.000 | -0.217 |
| predicted_H | 1.000 | 0.603 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.333 | 0.103 |
| predicted_R | 0.000 | -0.363 |
| predicted_RBI | 0.000 | -0.115 |
| predicted_SLG | 0.333 | 0.020 |
| predicted_SO | 0.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 | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 6.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 8.000 | 2.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 0.000 | 0.2500 | 0.4545 | 0.5000 | 0.2500 | 0.0000 | 0.0000 | 0.3750 | 0.0000 |
| last_10 | 0.20 | 10 | - | 21.000 | 6.000 | 3.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 3.000 | 0.2857 | 0.3750 | 0.4286 | 0.2857 | 0.0000 | 0.0000 | 0.1429 | 0.1429 |
| season | 0.60 | 72 | - | 169.000 | 48.000 | 12.000 | 0.000 | 3.000 | 18.000 | 19.000 | 10.000 | 19.000 | 0.2840 | 0.3172 | 0.4083 | 0.2840 | 0.0177 | 0.1065 | 0.0592 | 0.1124 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2640 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.3780 |
| predicted_AVG | 0.2735 |
| predicted_BB | 0.3080 |
| predicted_H | 0.6500 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0330 |
| predicted_OBP | 0.3492 |
| predicted_R | 0.4130 |
| predicted_RBI | 0.1730 |
| predicted_SLG | 0.4276 |
| predicted_SO | 0.2700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1780 | 0.2640 | 0.2132 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.5000 | 2.3780 | 2.4501 | model_form_blend |
| predicted_AVG | 0.3330 | 0.2735 | 0.3086 | model_form_blend |
| predicted_BB | 0.1480 | 0.3080 | 0.2135 | model_form_blend |
| predicted_H | 0.1900 | 0.6500 | 0.3783 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0600 | 0.0330 | 0.0489 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3492 | 0.3396 | model_form_blend |
| predicted_R | 0.2810 | 0.4130 | 0.3350 | model_form_blend |
| predicted_RBI | 0.0600 | 0.1730 | 0.1063 | model_form_blend |
| predicted_SLG | 0.3840 | 0.4276 | 0.4018 | model_form_blend |
| predicted_SO | 0.2810 | 0.2700 | 0.2765 | 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 | 181 |
| Season rows before report date | 181 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 6 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.284 |
| 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 | 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 | SS |
| gameID | 20260817_LAD@COL |
| game_type | short |
| mlbID | 500743 |
| playerID | 500743 |
| playerName | Miguel Rojas |
| pos | 2B |
| started | False |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-17 |
| sl_k_percent | 9.9 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.322 |
| sl_xwoba | 0.323 |
| sl_xba | 0.289 |
| sl_xslg | 0.404 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 37.3 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 15.8 |
| sl_swing_percent | 48.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.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 5.000 | 3.000 | Hitting_AB | 1.444 | 1.000 | 3.556 | 4.000 |
| predicted_AVG | 0.230 | 0.000 | 0.333 | Hitting_AVG | 0.154 | 0.000 | -0.154 | 0.000 |
| 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.110 | 0.000 | 1.000 | Hitting_H | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.230 | 0.000 | 0.333 | Hitting_OBP | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_R | 0.000 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.050 | 0.000 | 0.000 | Hitting_RBI | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_SLG | 0.237 | 0.000 | 0.333 | Hitting_SLG | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_SO | 0.962 | 2.000 | 1.000 | Hitting_SO | 0.556 | 1.000 | 1.444 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 7 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 5 |
| Better Metrics | 1 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 2.5000 -> 5.0000 (boost 2.5000, better) |
| Biggest Deboost | predicted_AVG: 0.2300 -> 0.0976 (deboost -0.1324, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_AB: 2.5000 -> 2.6726 (boost 0.1726, 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_AVG: 0.2252 -> 0.0976 (deboost -0.1276, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.6726 -> 3.0000 (boost 0.3274, better) | predicted_H: 0.2610 -> 0.0000 (deboost -0.2610, worse) | AB rounded to 3 (raw=2.67), rates preserved: AVG=0.098 HR/AB=0.014 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.0782 -> 0.0000 (deboost -0.0782, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.0976 -> 0.3330 (boost 0.2354, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.0976 (deboost -0.2354, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666163",
"player_name": "Ben Rortvedt",
"position": "C",
"team": "LAD",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.23,
"predicted_BB": 0.0,
"predicted_H": 0.11,
"predicted_HR": 0.02,
"predicted_OBP": 0.23,
"predicted_R": 0.0,
"predicted_RBI": 0.05,
"predicted_SLG": 0.237,
"predicted_SO": 0.962
},
"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.0261,
"predicted_3B": 0.0022,
"predicted_AB": 2.6726,
"predicted_AVG": 0.2252,
"predicted_BB": 0.0384,
"predicted_H": 0.2487,
"predicted_HBP": 0.019,
"predicted_HR": 0.0343,
"predicted_OBP": 0.235,
"predicted_R": 0.0721,
"predicted_RBI": 0.1314,
"predicted_SLG": 0.258,
"predicted_SO": 0.9686
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0261,
"delta": 0.0261,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0022,
"delta": 0.0022,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6726,
"delta": 0.1726,
"percent_delta": 0.069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2252,
"delta": -0.0048,
"percent_delta": -0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0384,
"delta": 0.0384,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.11,
"after": 0.2487,
"delta": 0.1387,
"percent_delta": 1.2609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0343,
"delta": 0.0143,
"percent_delta": 0.715,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.23,
"after": 0.235,
"delta": 0.005,
"percent_delta": 0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0721,
"delta": 0.0721,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.05,
"after": 0.1314,
"delta": 0.0814,
"percent_delta": 1.628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.237,
"after": 0.258,
"delta": 0.021,
"percent_delta": 0.0886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.962,
"after": 0.9686,
"delta": 0.0066,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6726,
"delta": 0.1726,
"percent_delta": 0.069,
"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": 7,
"season": 7
}
},
{
"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.0261,
"predicted_3B": 0.0022,
"predicted_AB": 2.6726,
"predicted_AVG": 0.0976,
"predicted_BB": 0.0391,
"predicted_H": 0.261,
"predicted_HBP": 0.019,
"predicted_HR": 0.0363,
"predicted_OBP": 0.1106,
"predicted_R": 0.0782,
"predicted_RBI": 0.1425,
"predicted_SLG": 0.1498,
"predicted_SO": 0.9515
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0261,
"after": 0.0261,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0022,
"after": 0.0022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6726,
"after": 2.6726,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2252,
"after": 0.0976,
"delta": -0.1276,
"percent_delta": -0.5666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0384,
"after": 0.0391,
"delta": 0.0007,
"percent_delta": 0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.2487,
"after": 0.261,
"delta": 0.0123,
"percent_delta": 0.0495,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0343,
"after": 0.0363,
"delta": 0.002,
"percent_delta": 0.0583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.235,
"after": 0.1106,
"delta": -0.1244,
"percent_delta": -0.5294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0721,
"after": 0.0782,
"delta": 0.0061,
"percent_delta": 0.0846,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1314,
"after": 0.1425,
"delta": 0.0111,
"percent_delta": 0.0845,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.258,
"after": 0.1498,
"delta": -0.1082,
"percent_delta": -0.4194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9686,
"after": 0.9515,
"delta": -0.0171,
"percent_delta": -0.0177,
"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.2252,
"after": 0.0976,
"delta": -0.1276,
"percent_delta": -0.5666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.67), rates preserved: AVG=0.098 HR/AB=0.014",
"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.0261,
"after": 0.0,
"delta": -0.0261,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0022,
"after": 0.0,
"delta": -0.0022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6726,
"after": 3.0,
"delta": 0.3274,
"percent_delta": 0.1225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0391,
"after": 0.0,
"delta": -0.0391,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.261,
"after": 0.0,
"delta": -0.261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0363,
"after": 0.0,
"delta": -0.0363,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1425,
"after": 0.0,
"delta": -0.1425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9515,
"after": 1.0,
"delta": 0.0485,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6726,
"after": 3.0,
"delta": 0.3274,
"percent_delta": 0.1225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.261,
"after": 0.0,
"delta": -0.261,
"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.0782,
"after": 0.0,
"delta": -0.0782,
"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.0782,
"after": 0.0,
"delta": -0.0782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.0976,
"after": 0.333,
"delta": 0.2354,
"percent_delta": 2.4119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1106,
"after": 0.333,
"delta": 0.2224,
"percent_delta": 2.0108,
"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.1498,
"after": 0.333,
"delta": 0.1832,
"percent_delta": 1.223,
"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.0976,
"after": 0.333,
"delta": 0.2354,
"percent_delta": 2.4119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.0976,
"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.1106,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1498,
"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": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.0976,
"delta": -0.2354,
"percent_delta": -0.7068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.1106,
"delta": -0.2224,
"percent_delta": -0.6677,
"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.333,
"after": 0.1498,
"delta": -0.1832,
"percent_delta": -0.5503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.0976,
"delta": -0.2354,
"percent_delta": -0.7068,
"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.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.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.0976,
"delta": -0.1324,
"percent_delta": -0.5757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.23,
"after": 0.1106,
"delta": -0.1194,
"percent_delta": -0.5191,
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.237,
"after": 0.1498,
"delta": -0.0872,
"percent_delta": -0.3679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.962,
"after": 2.0,
"delta": 1.038,
"percent_delta": 1.079,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.0976,
"delta": -0.1324,
"percent_delta": -0.5757,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.110 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.230 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.050 | - |
| predicted_SLG | 0.237 | - |
| predicted_SO | 0.962 | - |
Final model 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.026 | 0.026 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.673 | 0.173 |
| predicted_AVG | 0.225 | -0.005 |
| predicted_BB | 0.038 | 0.038 |
| predicted_H | 0.249 | 0.139 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.034 | 0.014 |
| predicted_OBP | 0.235 | 0.005 |
| predicted_R | 0.072 | 0.072 |
| predicted_RBI | 0.131 | 0.081 |
| predicted_SLG | 0.258 | 0.021 |
| predicted_SO | 0.969 | 0.007 |
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.026 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.673 | 0.000 |
| predicted_AVG | 0.098 | -0.128 |
| predicted_BB | 0.039 | 0.001 |
| predicted_H | 0.261 | 0.012 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.036 | 0.002 |
| predicted_OBP | 0.111 | -0.124 |
| predicted_R | 0.078 | 0.006 |
| predicted_RBI | 0.142 | 0.011 |
| predicted_SLG | 0.150 | -0.108 |
| predicted_SO | 0.952 | -0.017 |
AB rounded to 3 (raw=2.67), rates preserved: AVG=0.098 HR/AB=0.014
| 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 |
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.026 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.327 |
| predicted_AVG | 0.333 | 0.235 |
| predicted_BB | 0.000 | -0.039 |
| predicted_H | 1.000 | 0.739 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.333 | 0.222 |
| predicted_R | 0.000 | -0.078 |
| predicted_RBI | 0.000 | -0.142 |
| predicted_SLG | 0.333 | 0.183 |
| predicted_SO | 1.000 | 0.048 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 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 | 5.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 | - | 9.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 5.000 | 0.1111 | 0.1111 | 0.1111 | 0.1111 | 0.0000 | 0.1111 | 0.0000 | 0.5556 |
| last_10 | 0.20 | 7 | - | 13.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 5.000 | 0.1538 | 0.1538 | 0.1538 | 0.1538 | 0.0000 | 0.0769 | 0.0000 | 0.3846 |
| season | 0.60 | 7 | - | 13.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 5.000 | 0.1538 | 0.1538 | 0.1538 | 0.1538 | 0.0000 | 0.0769 | 0.0000 | 0.3846 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.2020 |
| predicted_AVG | 0.2104 |
| predicted_BB | 0.1560 |
| predicted_H | 0.6740 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0780 |
| predicted_OBP | 0.2504 |
| predicted_R | 0.2930 |
| predicted_RBI | 0.3810 |
| predicted_SLG | 0.3223 |
| predicted_SO | 0.9890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1060 | 0.0261 | model_form_blend |
| predicted_3B | 0.0000 | 0.0090 | 0.0022 | model_form_blend |
| predicted_AB | 2.5000 | 3.2020 | 2.6726 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2104 | 0.2252 | model_form_blend |
| predicted_BB | 0.0000 | 0.1560 | 0.0384 | model_form_blend |
| predicted_H | 0.1100 | 0.6740 | 0.2487 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.0200 | 0.0780 | 0.0343 | model_form_blend |
| predicted_OBP | 0.2300 | 0.2504 | 0.2350 | model_form_blend |
| predicted_R | 0.0000 | 0.2930 | 0.0721 | model_form_blend |
| predicted_RBI | 0.0500 | 0.3810 | 0.1314 | model_form_blend |
| predicted_SLG | 0.2370 | 0.3223 | 0.2580 | model_form_blend |
| predicted_SO | 0.9620 | 0.9890 | 0.9686 | 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 | 9 |
| Season rows before report date | 9 |
| Report year | 2026 |
| Profile rows used | 7 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.154 |
| 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 | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| 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 | C |
| gameID | 20260818_LAD@COL |
| game_type | short |
| mlbID | 666163 |
| playerID | 666163 |
| playerName | Ben Rortvedt |
| pos | C |
| started | False |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| sl_k_percent | 38.5 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.137 |
| sl_xwoba | 0.179 |
| sl_xba | 0.192 |
| sl_xslg | 0.218 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 12.5 |
| sl_exit_velocity_avg | 84.6 |
| sl_launch_angle_avg | 10.1 |
| sl_whiff_percent | 28.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.164 | 0.000 | 0.000 | Hitting_2B | 0.187 | 1.000 | -0.187 | -1.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 3.930 | 5.000 | 4.000 | Hitting_AB | 3.737 | 4.000 | 1.263 | 1.000 |
| predicted_AVG | 0.155 | 0.200 | 0.250 | Hitting_AVG | 0.243 | 0.250 | -0.043 | -0.050 |
| predicted_BB | 0.466 | 0.000 | 0.000 | Hitting_BB | 0.512 | 0.000 | -0.512 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.610 | 1.000 | 1.000 | Hitting_H | 0.908 | 1.000 | 0.092 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_OBP | 0.227 | 0.200 | 0.250 | Hitting_OBP | 0.334 | 0.250 | -0.134 | -0.050 |
| predicted_R | 0.569 | 0.000 | 1.000 | Hitting_R | 0.623 | 1.000 | -0.623 | -1.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.536 | 1.000 | -0.536 | -1.000 |
| predicted_SLG | 0.303 | 0.200 | 0.250 | Hitting_SLG | 0.381 | 0.500 | -0.181 | -0.300 |
| predicted_SO | 0.776 | 0.000 | 1.000 | Hitting_SO | 0.829 | 2.000 | -0.829 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.9300 -> 5.0000 (boost 1.0700, better) |
| Biggest Deboost | predicted_SO: 0.7760 -> 0.0000 (deboost -0.7760, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1550 -> 0.1614 (boost 0.0064, better) | predicted_AB: 3.9300 -> 3.8236 (deboost -0.1064, 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.2314 -> 0.2513 (boost 0.0199, better) | - | 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_H: 0.6469 -> 1.0000 (boost 0.3531, better) | predicted_RBI: 0.4432 -> 0.0000 (deboost -0.4432, worse) | AB rounded to 4 (raw=3.93), rates preserved: AVG=0.165 HR/AB=0.026 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5795 -> 1.0000 (boost 0.4205, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.1692 -> 0.2500 (boost 0.0808, better) | predicted_SLG: 0.3084 -> 0.2500 (deboost -0.0584, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3084 (boost 0.0584, better) | predicted_AVG: 0.2500 -> 0.1692 (deboost -0.0808, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663656",
"player_name": "Kyle Tucker",
"position": "RF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.164,
"predicted_3B": 0.026,
"predicted_AB": 3.93,
"predicted_AVG": 0.155,
"predicted_BB": 0.466,
"predicted_H": 0.61,
"predicted_HR": 0.11,
"predicted_OBP": 0.227,
"predicted_R": 0.569,
"predicted_RBI": 0.42,
"predicted_SLG": 0.303,
"predicted_SO": 0.776
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1618,
"predicted_3B": 0.0299,
"predicted_AB": 3.8236,
"predicted_AVG": 0.1614,
"predicted_BB": 0.4123,
"predicted_H": 0.6165,
"predicted_HBP": 0.017,
"predicted_HR": 0.0979,
"predicted_OBP": 0.2314,
"predicted_R": 0.5344,
"predicted_RBI": 0.4087,
"predicted_SLG": 0.3011,
"predicted_SO": 0.7803
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.1618,
"delta": -0.0022,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0299,
"delta": 0.0039,
"percent_delta": 0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 3.8236,
"delta": -0.1064,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.155,
"after": 0.1614,
"delta": 0.0064,
"percent_delta": 0.0413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.466,
"after": 0.4123,
"delta": -0.0537,
"percent_delta": -0.1152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.6165,
"delta": 0.0065,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0979,
"delta": -0.0121,
"percent_delta": -0.11,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.227,
"after": 0.2314,
"delta": 0.0044,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.569,
"after": 0.5344,
"delta": -0.0346,
"percent_delta": -0.0608,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4087,
"delta": -0.0113,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.3011,
"delta": -0.0019,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.776,
"after": 0.7803,
"delta": 0.0043,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.155,
"after": 0.1614,
"delta": 0.0064,
"percent_delta": 0.0413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.93,
"after": 3.8236,
"delta": -0.1064,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 116
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1618,
"predicted_3B": 0.0299,
"predicted_AB": 3.8236,
"predicted_AVG": 0.1692,
"predicted_BB": 0.4196,
"predicted_H": 0.6469,
"predicted_HBP": 0.017,
"predicted_HR": 0.1035,
"predicted_OBP": 0.2513,
"predicted_R": 0.5795,
"predicted_RBI": 0.4432,
"predicted_SLG": 0.3084,
"predicted_SO": 0.7665
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1618,
"after": 0.1618,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0299,
"after": 0.0299,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8236,
"after": 3.8236,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1614,
"after": 0.1692,
"delta": 0.0078,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4123,
"after": 0.4196,
"delta": 0.0073,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6165,
"after": 0.6469,
"delta": 0.0304,
"percent_delta": 0.0493,
"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.0979,
"after": 0.1035,
"delta": 0.0056,
"percent_delta": 0.0572,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2314,
"after": 0.2513,
"delta": 0.0199,
"percent_delta": 0.086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5344,
"after": 0.5795,
"delta": 0.0451,
"percent_delta": 0.0844,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4087,
"after": 0.4432,
"delta": 0.0345,
"percent_delta": 0.0844,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3011,
"after": 0.3084,
"delta": 0.0073,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7803,
"after": 0.7665,
"delta": -0.0138,
"percent_delta": -0.0177,
"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.2314,
"after": 0.2513,
"delta": 0.0199,
"percent_delta": 0.086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.93), rates preserved: AVG=0.165 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1618,
"after": 0.0,
"delta": -0.1618,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0299,
"after": 0.0,
"delta": -0.0299,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8236,
"after": 4.0,
"delta": 0.1764,
"percent_delta": 0.0461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4196,
"after": 0.0,
"delta": -0.4196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6469,
"after": 1.0,
"delta": 0.3531,
"percent_delta": 0.5458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1035,
"after": 0.0,
"delta": -0.1035,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4432,
"after": 0.0,
"delta": -0.4432,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7665,
"after": 1.0,
"delta": 0.2335,
"percent_delta": 0.3046,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6469,
"after": 1.0,
"delta": 0.3531,
"percent_delta": 0.5458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4432,
"after": 0.0,
"delta": -0.4432,
"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=12.0, weight=0.114, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8857,
"bvp": 0.1143
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5795,
"after": 1.0,
"delta": 0.4205,
"percent_delta": 0.7256,
"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.5795,
"after": 1.0,
"delta": 0.4205,
"percent_delta": 0.7256,
"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.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"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.1692,
"after": 0.25,
"delta": 0.0808,
"percent_delta": 0.4775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2513,
"after": 0.25,
"delta": -0.0013,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3084,
"after": 0.25,
"delta": -0.0584,
"percent_delta": -0.1894,
"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": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1692,
"after": 0.25,
"delta": 0.0808,
"percent_delta": 0.4775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3084,
"after": 0.25,
"delta": -0.0584,
"percent_delta": -0.1894,
"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": 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": 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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 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": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 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": 5.0,
"predicted_AVG": 0.1692,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2513,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3084,
"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": 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.25,
"after": 0.1692,
"delta": -0.0808,
"percent_delta": -0.3233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2513,
"delta": 0.0013,
"percent_delta": 0.0054,
"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.25,
"after": 0.3084,
"delta": 0.0584,
"percent_delta": 0.2334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3084,
"delta": 0.0584,
"percent_delta": 0.2334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1692,
"delta": -0.0808,
"percent_delta": -0.3233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 5.0,
"delta": 1.07,
"percent_delta": 0.2723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.155,
"after": 0.1692,
"delta": 0.0142,
"percent_delta": 0.0916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.466,
"after": 0.0,
"delta": -0.466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 1.0,
"delta": 0.39,
"percent_delta": 0.6393,
"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.227,
"after": 0.2513,
"delta": 0.0243,
"percent_delta": 0.107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.569,
"after": 0.0,
"delta": -0.569,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.3084,
"delta": 0.0054,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.776,
"after": 0.0,
"delta": -0.776,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.93,
"after": 5.0,
"delta": 1.07,
"percent_delta": 0.2723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.776,
"after": 0.0,
"delta": -0.776,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.930 | - |
| predicted_AVG | 0.155 | - |
| predicted_BB | 0.466 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.227 | - |
| predicted_R | 0.569 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.303 | - |
| predicted_SO | 0.776 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | -0.002 |
| predicted_3B | 0.030 | 0.004 |
| predicted_AB | 3.824 | -0.106 |
| predicted_AVG | 0.161 | 0.006 |
| predicted_BB | 0.412 | -0.054 |
| predicted_H | 0.617 | 0.007 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.098 | -0.012 |
| predicted_OBP | 0.231 | 0.004 |
| predicted_R | 0.534 | -0.035 |
| predicted_RBI | 0.409 | -0.011 |
| predicted_SLG | 0.301 | -0.002 |
| predicted_SO | 0.780 | 0.004 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 3.824 | 0.000 |
| predicted_AVG | 0.169 | 0.008 |
| predicted_BB | 0.420 | 0.007 |
| predicted_H | 0.647 | 0.030 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.103 | 0.006 |
| predicted_OBP | 0.251 | 0.020 |
| predicted_R | 0.580 | 0.045 |
| predicted_RBI | 0.443 | 0.034 |
| predicted_SLG | 0.308 | 0.007 |
| predicted_SO | 0.766 | -0.014 |
AB rounded to 4 (raw=3.93), rates preserved: AVG=0.165 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.162 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 4.000 | 0.176 |
| predicted_AVG | 0.250 | 0.081 |
| predicted_BB | 0.000 | -0.420 |
| predicted_H | 1.000 | 0.353 |
| predicted_HR | 0.000 | -0.103 |
| predicted_OBP | 0.250 | -0.001 |
| predicted_R | 1.000 | 0.420 |
| predicted_RBI | 0.000 | -0.443 |
| predicted_SLG | 0.250 | -0.058 |
| predicted_SO | 1.000 | 0.234 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 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 | - | 20.000 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 5.000 | 0.0500 | 0.0500 | 0.1000 | 0.0500 | 0.0000 | 0.0500 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 36.000 | 3.000 | 1.000 | 1.000 | 1.000 | 3.000 | 5.000 | 3.000 | 6.000 | 0.0833 | 0.1538 | 0.2500 | 0.0833 | 0.0278 | 0.0833 | 0.0833 | 0.1667 |
| season | 0.60 | 116 | - | 417.000 | 96.000 | 19.000 | 3.000 | 11.000 | 55.000 | 66.000 | 54.000 | 90.000 | 0.2302 | 0.3201 | 0.3693 | 0.2302 | 0.0264 | 0.1319 | 0.1295 | 0.2158 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1590 |
| predicted_3B | 0.0350 |
| predicted_AB | 3.6840 |
| predicted_AVG | 0.1697 |
| predicted_BB | 0.3420 |
| predicted_H | 0.6250 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.2371 |
| predicted_R | 0.4890 |
| predicted_RBI | 0.3940 |
| predicted_SLG | 0.2985 |
| predicted_SO | 0.7860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1640 | 0.1590 | 0.1618 | model_form_blend |
| predicted_3B | 0.0260 | 0.0350 | 0.0299 | model_form_blend |
| predicted_AB | 3.9300 | 3.6840 | 3.8236 | model_form_blend |
| predicted_AVG | 0.1550 | 0.1697 | 0.1614 | model_form_blend |
| predicted_BB | 0.4660 | 0.3420 | 0.4123 | model_form_blend |
| predicted_H | 0.6100 | 0.6250 | 0.6165 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1100 | 0.0820 | 0.0979 | model_form_blend |
| predicted_OBP | 0.2270 | 0.2371 | 0.2314 | model_form_blend |
| predicted_R | 0.5690 | 0.4890 | 0.5344 | model_form_blend |
| predicted_RBI | 0.4200 | 0.3940 | 0.4087 | model_form_blend |
| predicted_SLG | 0.3030 | 0.2985 | 0.3011 | model_form_blend |
| predicted_SO | 0.7760 | 0.7860 | 0.7803 | 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 | 422 |
| Season rows before report date | 422 |
| Report year | 2026 |
| Profile rows used | 116 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | RF |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.31 |
| sl_xwoba | 0.327 |
| sl_xba | 0.255 |
| sl_xslg | 0.383 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 37.6 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 16.9 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 48.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 2.143 | 5.000 | 0.857 | -2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.619 | 2.000 | 0.381 | 1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.667 | 4.000 | 0.333 | 1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.186 | 6.000 | 0.014 | -0.800 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.143 | 2.000 | 0.857 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 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": "808963",
"player_name": "Roki Sasaki",
"position": "Starter",
"team": "LAD",
"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": 3.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.0,
"after": 6.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.0,
"after": 6.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 | 3.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 6.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.000 | 7.000 | 21.000 | 12.000 | 28.000 | 2.000 | 2.1000 | 1.1000 | 0.2333 | 0.7000 | 0.4000 | 0.9333 | 0.0667 |
| last_10 | 0.35 | 10 | 53.000 | 29.000 | 46.000 | 24.000 | 48.000 | 11.000 | 4.9245 | 1.3208 | 0.5472 | 0.8679 | 0.4528 | 0.9057 | 0.2076 |
| season | 0.20 | 21 | 111.000 | 55.000 | 98.000 | 45.000 | 108.000 | 21.000 | 4.4595 | 1.2883 | 0.4955 | 0.8829 | 0.4054 | 0.9730 | 0.1892 |
| Metric | Value |
|---|---|
| predicted_BB | 2.3070 |
| predicted_ER | 2.3420 |
| predicted_ERA | 3.7379 |
| predicted_H | 4.6750 |
| predicted_HR | 0.8000 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.2770 |
| predicted_WHIP | 1.2380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.3070 | 2.6059 | model_form_blend |
| predicted_ER | 3.0000 | 2.3420 | 2.6258 | model_form_blend |
| predicted_ERA | - | 3.7379 | 3.7379 | form_only |
| predicted_H | 5.0000 | 4.6750 | 4.8152 | model_form_blend |
| predicted_HR | 1.0000 | 0.8000 | 0.8862 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 6.0000 | 5.2770 | 5.5888 | model_form_blend |
| predicted_WHIP | - | 1.2380 | 1.2380 | 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 | 21 |
| Season rows before report date | 21 |
| 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 | 3 |
| ER | 3 |
| BB | 3 |
| SO | 6 |
| HR | 1 |
| BF | 25 |
| 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 | 5 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.46 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 9 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 101 |
| Pitching_R | 2 |
| Pitching_SO | 2 |
| Pitching_Strikes | 54 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260813_MIL@LAD |
| game_type | full |
| mlbID | 808963 |
| playerID | 808963 |
| playerName | Roki Sasaki |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-13 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.336 |
| sl_xwoba | 0.319 |
| sl_sweet_spot_percent | 34.8 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 44.4 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 49.7 |
| sl_avg_best_speed | 79.197361806 |
| sl_avg_hyper_speed | 94.601842484 |
| 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.460 | 0.000 | -0.460 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.340 | 0.000 | -0.340 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.600 | 0.000 | -0.600 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.874 | 1.000 | 0.326 | 0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.080 | 2.000 | 0.920 | 0.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: 1.0000 -> 1.2000 (boost 0.2000, 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: 1.0000 -> 1.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683618",
"player_name": "Edgardo Henriquez",
"position": "Middle Reliever",
"team": "LAD",
"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": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 2.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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"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": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"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 | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 1.000 | 1.000 | 1.000 | 4.000 | 0.000 | 2.2500 | 0.5000 | 0.2500 | 0.2500 | 0.2500 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 4.000 | 6.000 | 5.000 | 12.000 | 0.000 | 4.3200 | 1.3200 | 0.4800 | 0.7200 | 0.6000 | 1.4400 | 0.0000 |
| season | 0.20 | 50 | 50.000 | 17.000 | 30.000 | 23.000 | 54.000 | 1.000 | 3.0600 | 1.0600 | 0.3400 | 0.6000 | 0.4600 | 1.0800 | 0.0200 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3270 |
| predicted_ER | 0.3280 |
| predicted_ERA | 3.5854 |
| predicted_H | 0.5320 |
| predicted_HR | 0.0430 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.9030 |
| predicted_WHIP | 1.0443 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3270 | 0.1665 | model_form_blend |
| predicted_ER | 0.0000 | 0.3280 | 0.1670 | model_form_blend |
| predicted_ERA | - | 3.5854 | 3.5854 | form_only |
| predicted_H | 0.0000 | 0.5320 | 0.2709 | model_form_blend |
| predicted_HR | 0.0000 | 0.0430 | 0.0219 | model_form_blend |
| predicted_IP | 1.0000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9030 | 1.4414 | model_form_blend |
| predicted_WHIP | - | 1.0443 | 1.0443 | 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 | 50 |
| Season rows before report date | 50 |
| 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.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.06 |
| 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 | 8 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 683618 |
| playerID | 683618 |
| playerName | Edgardo Henriquez |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.252 |
| sl_xwoba | 0.253 |
| sl_sweet_spot_percent | 24.2 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 25.8 |
| sl_whiff_percent | 29.6 |
| sl_swing_percent | 48.5 |
| sl_avg_best_speed | 70.502481379 |
| sl_avg_hyper_speed | 92.008165776 |
| 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.204 | 0.000 | -0.204 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.241 | 1.000 | -0.241 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.667 | 2.000 | -0.667 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.850 | 1.100 | 0.250 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.148 | 0.000 | -0.148 | 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: 1.0000 -> 1.1000 (boost 0.1000, 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: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656945",
"player_name": "Tanner Scott",
"position": "Middle Reliever",
"team": "LAD",
"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.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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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 | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 1.000 | 3.000 | 1.000 | 2.000 | 0.000 | 2.2500 | 1.0000 | 0.2500 | 0.7500 | 0.2500 | 0.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 2.000 | 9.000 | 6.000 | 8.000 | 0.000 | 2.2500 | 1.8750 | 0.2500 | 1.1250 | 0.7500 | 1.0000 | 0.0000 |
| season | 0.20 | 54 | 50.100 | 13.000 | 36.000 | 11.000 | 62.000 | 4.000 | 2.3245 | 0.9338 | 0.2583 | 0.7152 | 0.2185 | 1.2318 | 0.0795 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3290 |
| predicted_ER | 0.2740 |
| predicted_ERA | 3.0012 |
| predicted_H | 0.7450 |
| predicted_HR | 0.0490 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7110 |
| predicted_WHIP | 1.3070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3290 | 0.1677 | model_form_blend |
| predicted_ER | 0.0000 | 0.2740 | 0.1397 | model_form_blend |
| predicted_ERA | - | 3.0012 | 3.0012 | form_only |
| predicted_H | 0.0000 | 0.7450 | 0.3798 | model_form_blend |
| predicted_HR | 0.0000 | 0.0490 | 0.0250 | model_form_blend |
| predicted_IP | 1.0000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7110 | 0.8527 | model_form_blend |
| predicted_WHIP | - | 1.3070 | 1.3070 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 54 |
| Season rows before report date | 54 |
| Report year | 2026 |
| Profile rows used | 54 |
| 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 | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.32 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 27 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 22 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 656945 |
| playerID | 656945 |
| playerName | Tanner Scott |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| sl_k_percent | 32.0 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.245 |
| sl_xwoba | 0.276 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 34.2 |
| sl_whiff_percent | 36.0 |
| sl_swing_percent | 55.5 |
| sl_avg_best_speed | 78.676341017 |
| sl_avg_hyper_speed | 93.464045763 |
| 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.518 | 0.000 | -0.518 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.607 | 1.000 | -0.407 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 0.000 | 0.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681911",
"player_name": "Alex Vesia",
"position": "Middle Reliever",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 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": 0.2,
"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.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 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 | 3.200 | 1.000 | 3.000 | 2.000 | 2.000 | 0.000 | 2.4545 | 1.3636 | 0.2727 | 0.8182 | 0.5454 | 0.5454 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 4.000 | 6.000 | 5.000 | 6.000 | 1.000 | 4.5000 | 1.3750 | 0.5000 | 0.7500 | 0.6250 | 0.7500 | 0.1250 |
| season | 0.20 | 56 | 43.100 | 14.000 | 24.000 | 29.000 | 56.000 | 2.000 | 2.9077 | 1.2231 | 0.3231 | 0.5538 | 0.6692 | 1.2923 | 0.0461 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3420 |
| predicted_ER | 0.2750 |
| predicted_ERA | 3.7082 |
| predicted_H | 0.5500 |
| predicted_HR | 0.0580 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5570 |
| predicted_WHIP | 1.3379 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3420 | 0.1694 | model_form_blend |
| predicted_ER | 0.0000 | 0.2750 | 0.1362 | model_form_blend |
| predicted_ERA | - | 3.7082 | 3.7082 | form_only |
| predicted_H | 0.0000 | 0.5500 | 0.2725 | model_form_blend |
| predicted_HR | 0.0000 | 0.0580 | 0.0287 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.5570 | 0.7805 | model_form_blend |
| predicted_WHIP | - | 1.3379 | 1.3379 | 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 | 56 |
| Season rows before report date | 56 |
| Report year | 2026 |
| Profile rows used | 56 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| 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.91 |
| Pitching_Flyouts | 2 |
| 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 | 10 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260817_LAD@COL |
| game_type | full |
| mlbID | 681911 |
| playerID | 681911 |
| playerName | Alex Vesia |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-17 |
| sl_k_percent | 30.3 |
| sl_bb_percent | 15.7 |
| sl_woba | 0.244 |
| sl_xwoba | 0.274 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 36.0 |
| sl_whiff_percent | 35.0 |
| sl_swing_percent | 46.5 |
| sl_avg_best_speed | 77.7639598 |
| sl_avg_hyper_speed | 92.9326399 |
| 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.579 | 1.000 | -0.579 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.868 | 1.000 | 0.132 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.976 | 1.100 | 0.224 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.289 | 3.000 | 0.711 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 4 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 0 |
| Better Metrics | 2 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_SO: 0.0000 -> 2.0000 (boost 2.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 | 4 | 4 | 0 | 2 | 2 | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669165",
"player_name": "Kyle Hurt",
"position": "Reliever",
"team": "LAD",
"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": 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": 0.0,
"predicted_IP": 1.2,
"predicted_R": 1.0,
"predicted_SO": 2.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}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 | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.100 | 2.000 | 5.000 | 4.000 | 10.000 | 1.000 | 2.8421 | 1.4211 | 0.3158 | 0.7895 | 0.6316 | 1.5790 | 0.1579 |
| last_10 | 0.35 | 10 | 13.000 | 8.000 | 12.000 | 9.000 | 16.000 | 2.000 | 5.5385 | 1.6154 | 0.6154 | 0.9231 | 0.6923 | 1.2308 | 0.1538 |
| season | 0.20 | 38 | 39.200 | 19.000 | 33.000 | 22.000 | 49.000 | 4.000 | 4.3109 | 1.3866 | 0.4790 | 0.8319 | 0.5546 | 1.2353 | 0.1008 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4820 |
| predicted_ER | 0.4260 |
| predicted_ERA | 4.2357 |
| predicted_H | 0.8090 |
| predicted_HR | 0.1320 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1050 |
| predicted_WHIP | 1.4253 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4820 | 0.2346 | model_form_blend |
| predicted_ER | 0.0000 | 0.4260 | 0.2073 | model_form_blend |
| predicted_ERA | - | 4.2357 | 4.2357 | form_only |
| predicted_H | 0.0000 | 0.8090 | 0.3937 | model_form_blend |
| predicted_HR | 0.0000 | 0.1320 | 0.0642 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1050 | 0.5378 | model_form_blend |
| predicted_WHIP | - | 1.4253 | 1.4253 | 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 | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 38 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.31 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 30 |
| Pitching_R | 2 |
| Pitching_SO | 3 |
| Pitching_Strikes | 21 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260816_MIL@LAD |
| game_type | full |
| mlbID | 669165 |
| playerID | 669165 |
| playerName | Kyle Hurt |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-16 |
| sl_k_percent | 28.5 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.303 |
| sl_xwoba | 0.293 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 42.0 |
| sl_whiff_percent | 35.7 |
| sl_swing_percent | 51.9 |
| sl_avg_best_speed | 79.362556 |
| sl_avg_hyper_speed | 94.258036162 |
| Field | Value |
|---|---|
| Pitcher | Kyle Freeland |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.5049 |
| ESPN Rank | 576 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1584 |
| Avg Velo | 87.0987 |
| Avg Spin | 2263.6885 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 4 |
| Pre SO | 3 |
| Season ERA | 6.2652 |
| Season WHIP | 1.4420 |
| Role Avg IP | 5.4850 |
| Recent Avg IP | 6.5330 |
| Last Start IP | 8 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 135,
"wins": 54,
"losses": 81,
"win_pct": 0.4,
"runs_scored": 660.0,
"runs_allowed": 777.0,
"run_differential": -117.0,
"run_differential_per_game": -0.8667,
"avg_runs_scored": 4.8889,
"avg_runs_allowed": 5.7556,
"offense_index": 1.0889,
"defense_index": 0.7801,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.2,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1912
},
"opponent": {
"team": "LAD",
"games": 134,
"wins": 79,
"losses": 55,
"win_pct": 0.5896,
"runs_scored": 668.0,
"runs_allowed": 515.0,
"run_differential": 153.0,
"run_differential_per_game": 1.1418,
"avg_runs_scored": 4.9851,
"avg_runs_allowed": 3.8433,
"offense_index": 1.1103,
"defense_index": 1.1682,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.251
},
"edges": {
"quality_edge": -0.4422,
"offense_edge": 0.0889,
"opponent_offense_edge": 0.1103,
"defense_strength": -0.2199,
"opponent_defense_weakness": -0.1682,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9713,
"run_prevention": 1.0617,
"strikeout": 0.9779
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607536",
"profile": {
"available": true,
"pitcher_id": "607536",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 406.0,
"k_percent": 18.3,
"bb_percent": 5.0,
"woba": 0.368,
"xwoba": 0.349,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 42.7,
"avg_best_speed": 79.2062,
"avg_hyper_speed": 95.092,
"whiff_percent": 22.6,
"swing_percent": 50.9
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.8903,
"command_and_miss": -0.1843,
"regression_edge": 0.5429,
"xwoba_edge": -1.0857,
"barrel_edge": -0.7778,
"hard_hit_edge": -0.7429,
"whiff_edge": -0.3857,
"bb_edge": 0.975,
"pitch_design_score": -0.1584
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607536",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 87.09867570416512,
"release_spin_rate": 2263.68851618993,
"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": 91,
"pitch_usage": 0.0,
"release_speed": 87.09867570416512,
"release_spin_rate": 2263.68851618993,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.0987,
"release_spin_rate": 2263.6885,
"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.1584,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1312,
"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.5049,
"sample_weight": 1.0,
"run_prevention_factor": 1.0429,
"strikeout_factor": 0.9629,
"walk_factor": 0.922,
"homer_factor": 1.1245,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607536",
"espn_id": 33839,
"player_name": "Kyle Freeland",
"team": "COL",
"role": "pitcher",
"espn_rank": 576,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 576,
"gp_value": 22.0,
"gp_rank": 321,
"gs_value": 22.0,
"gs_rank": 62,
"qs_value": 4.0,
"qs_rank": 116,
"era_value": 6.2651,
"era_rank": null,
"w_value": 4.0,
"w_rank": 159,
"l_value": 10.0,
"l_rank": 11,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 321,
"ip_value": 120.2,
"ip_rank": 66,
"h_value": 147.0,
"h_rank": 5,
"er_value": 84.0,
"er_rank": 2,
"hr_value": 22.0,
"hr_rank": 15,
"bb_value": 27.0,
"bb_rank": 161,
"k_value": 98.0,
"k_rank": 83,
"k_per_9_value": 7.309392,
"k_per_9_rank": 33,
"whip_value": 1.4419,
"whip_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0429,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0429,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.922,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1245,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9629,
"adjusted": 4
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 62.0,
"ER": 32,
"H": 63,
"BB": 11,
"SO": 49,
"HR": 8,
"ERA": 4.645161290322581,
"WHIP": 1.1935483870967742,
"K9": 7.112903225806452,
"HR9": 1.1612903225806452,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-14T00:00:00"
}{
"available": true,
"pitcher_id": "607536",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 87.09867570416512,
"release_spin_rate": 2263.68851618993,
"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": 91,
"pitch_usage": 0.0,
"release_speed": 87.09867570416512,
"release_spin_rate": 2263.68851618993,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.0987,
"release_spin_rate": 2263.6885,
"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.1584,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1312,
"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": 22.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8148,
"prior_weight": 0.1852
},
"role": "pitcher",
"player_id": "607536",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.2,
"ER": 12.0,
"R": 14.0,
"H": 27.0,
"BB": 9.0,
"SO": 19.0,
"HR": 4.0,
"BF": 134.0,
"Pitches": 489.0
},
"per_game": {
"IP": 6.2,
"ER": 2.4,
"R": 2.8,
"H": 5.4,
"BB": 1.8,
"SO": 3.8,
"HR": 0.8,
"BF": 26.8,
"Pitches": 97.8
},
"rates": {
"ERA": 3.3061,
"WHIP": 1.102,
"ER_per_IP": 0.36735,
"H_per_IP": 0.82653,
"BB_per_IP": 0.27551,
"SO_per_IP": 0.58163,
"HR_per_IP": 0.12245
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 62.0,
"ER": 32.0,
"R": 34.0,
"H": 63.0,
"BB": 11.0,
"SO": 49.0,
"HR": 8.0,
"BF": 257.0,
"Pitches": 900.0
},
"per_game": {
"IP": 6.1,
"ER": 3.2,
"R": 3.4,
"H": 6.3,
"BB": 1.1,
"SO": 4.9,
"HR": 0.8,
"BF": 25.7,
"Pitches": 90.0
},
"rates": {
"ERA": 4.6452,
"WHIP": 1.1935,
"ER_per_IP": 0.51613,
"H_per_IP": 1.01613,
"BB_per_IP": 0.17742,
"SO_per_IP": 0.79032,
"HR_per_IP": 0.12903
}
},
"season": {
"games": 22,
"totals": {
"IP": 120.2,
"ER": 84.0,
"R": 88.0,
"H": 147.0,
"BB": 27.0,
"SO": 98.0,
"HR": 22.0,
"BF": 536.0,
"Pitches": 1940.0
},
"per_game": {
"IP": 5.1,
"ER": 3.8182,
"R": 4.0,
"H": 6.6818,
"BB": 1.2273,
"SO": 4.4545,
"HR": 1.0,
"BF": 24.3636,
"Pitches": 88.1818
},
"rates": {
"ERA": 6.2652,
"WHIP": 1.442,
"ER_per_IP": 0.69613,
"H_per_IP": 1.21823,
"BB_per_IP": 0.22376,
"SO_per_IP": 0.81215,
"HR_per_IP": 0.18232
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 3.008,
"predicted_H": 5.991,
"predicted_BB": 1.577,
"predicted_SO": 4.612,
"predicted_HR": 0.856,
"predicted_ERA": 4.3882,
"predicted_WHIP": 1.2267
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4282,
"form_weight": 0.5718,
"form_reliability": 0.8148,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 22.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8148,
"prior_weight": 0.1852
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 6.1,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 3.008,
"final": 2.5763,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.991,
"final": 4.7101,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.577,
"final": 2.6146,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.612,
"final": 3.9217,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.856,
"final": 0.4894,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3882,
"final": 4.3882,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2267,
"final": 1.2267,
"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 | Brennan Bernardino |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0023 |
| ESPN Rank | 105 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 2 |
| Pre SO | 0 |
| Season ERA | 2.8421 |
| Season WHIP | 1.2237 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 135,
"wins": 54,
"losses": 81,
"win_pct": 0.4,
"runs_scored": 660.0,
"runs_allowed": 777.0,
"run_differential": -117.0,
"run_differential_per_game": -0.8667,
"avg_runs_scored": 4.8889,
"avg_runs_allowed": 5.7556,
"offense_index": 1.0889,
"defense_index": 0.7801,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.2,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1912
},
"opponent": {
"team": "LAD",
"games": 134,
"wins": 79,
"losses": 55,
"win_pct": 0.5896,
"runs_scored": 668.0,
"runs_allowed": 515.0,
"run_differential": 153.0,
"run_differential_per_game": 1.1418,
"avg_runs_scored": 4.9851,
"avg_runs_allowed": 3.8433,
"offense_index": 1.1103,
"defense_index": 1.1682,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.251
},
"edges": {
"quality_edge": -0.4422,
"offense_edge": 0.0889,
"opponent_offense_edge": 0.1103,
"defense_strength": -0.2199,
"opponent_defense_weakness": -0.1682,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9713,
"run_prevention": 1.0617,
"strikeout": 0.9779
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657514",
"profile": {
"available": true,
"pitcher_id": "657514",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 168.0,
"k_percent": 17.3,
"bb_percent": 6.5,
"woba": 0.305,
"xwoba": 0.312,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 32.1,
"avg_best_speed": 76.236,
"avg_hyper_speed": 92.9653,
"whiff_percent": 21.9,
"swing_percent": 46.5
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.2084,
"command_and_miss": -0.3586,
"regression_edge": -0.2,
"xwoba_edge": -0.0286,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.7714,
"whiff_edge": -0.4857,
"bb_edge": 0.6,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "657514",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0023,
"sample_weight": 0.672,
"run_prevention_factor": 0.9998,
"strikeout_factor": 0.9685,
"walk_factor": 0.9677,
"homer_factor": 0.9631,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657514",
"espn_id": 35876,
"player_name": "Brennan Bernardino",
"team": "COL",
"role": "pitcher",
"espn_rank": 105,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 105,
"gp_value": 58.0,
"gp_rank": 9,
"gs_value": 2.0,
"gs_rank": 260,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.8421,
"era_rank": null,
"w_value": 3.0,
"w_rank": 217,
"l_value": 3.0,
"l_rank": 209,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 10.0,
"hld_rank": 72,
"ip_value": 50.2,
"ip_rank": 246,
"h_value": 48.0,
"h_rank": 212,
"er_value": 16.0,
"er_rank": 354,
"hr_value": 4.0,
"hr_rank": 334,
"bb_value": 14.0,
"bb_rank": 359,
"k_value": 37.0,
"k_rank": 334,
"k_per_9_value": 6.5723686,
"k_per_9_rank": 36,
"whip_value": 1.2236,
"whip_rank": null,
"war_value": 1.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9999,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9999,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9783,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9752,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9788,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 3,
"H": 9,
"BB": 2,
"SO": 6,
"HR": 2,
"ERA": 3.0,
"WHIP": 1.2222222222222223,
"K9": 6.0,
"HR9": 2.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-14T00:00:00"
}{
"available": false,
"pitcher_id": "657514",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.134,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6696,
"prior_weight": 0.3304
},
"role": "pitcher",
"player_id": "657514",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 58,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 1.0,
"SO": 3.0,
"HR": 2.0,
"BF": 22.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.4,
"BB": 0.2,
"SO": 0.6,
"HR": 0.4,
"BF": 4.4,
"Pitches": 16.4
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.7143,
"ER_per_IP": 0.64286,
"H_per_IP": 1.5,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 3.0,
"H": 9.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 38.0,
"Pitches": 151.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.9,
"BB": 0.2,
"SO": 0.6,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.1
},
"rates": {
"ERA": 3.0,
"WHIP": 1.2222,
"ER_per_IP": 0.33333,
"H_per_IP": 1.0,
"BB_per_IP": 0.22222,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.22222
}
},
"season": {
"games": 58,
"totals": {
"IP": 50.2,
"ER": 16.0,
"R": 21.0,
"H": 48.0,
"BB": 14.0,
"SO": 37.0,
"HR": 4.0,
"BF": 214.0,
"Pitches": 805.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2759,
"R": 0.3621,
"H": 0.8276,
"BB": 0.2414,
"SO": 0.6379,
"HR": 0.069,
"BF": 3.6897,
"Pitches": 13.8793
},
"rates": {
"ERA": 2.8421,
"WHIP": 1.2237,
"ER_per_IP": 0.31579,
"H_per_IP": 0.94737,
"BB_per_IP": 0.27632,
"SO_per_IP": 0.73026,
"HR_per_IP": 0.07895
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.479,
"predicted_H": 1.134,
"predicted_BB": 0.274,
"predicted_SO": 0.763,
"predicted_HR": 0.241,
"predicted_ERA": 4.3083,
"predicted_WHIP": 1.408
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4896,
"form_weight": 0.5104,
"form_reliability": 0.6696,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.134,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6696,
"prior_weight": 0.3304
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.479,
"final": 0.7341,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.134,
"final": 1.0684,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.274,
"final": 1.119,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.763,
"final": 0.3894,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.241,
"final": 0.123,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3083,
"final": 4.3083,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.408,
"final": 1.408,
"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 | Jimmy Herget |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0641 |
| ESPN Rank | 596 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 6 |
| Season WHIP | 1.5833 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 135,
"wins": 54,
"losses": 81,
"win_pct": 0.4,
"runs_scored": 660.0,
"runs_allowed": 777.0,
"run_differential": -117.0,
"run_differential_per_game": -0.8667,
"avg_runs_scored": 4.8889,
"avg_runs_allowed": 5.7556,
"offense_index": 1.0889,
"defense_index": 0.7801,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.2,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1912
},
"opponent": {
"team": "LAD",
"games": 134,
"wins": 79,
"losses": 55,
"win_pct": 0.5896,
"runs_scored": 668.0,
"runs_allowed": 515.0,
"run_differential": 153.0,
"run_differential_per_game": 1.1418,
"avg_runs_scored": 4.9851,
"avg_runs_allowed": 3.8433,
"offense_index": 1.1103,
"defense_index": 1.1682,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.251
},
"edges": {
"quality_edge": -0.4422,
"offense_edge": 0.0889,
"opponent_offense_edge": 0.1103,
"defense_strength": -0.2199,
"opponent_defense_weakness": -0.1682,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9713,
"run_prevention": 1.0617,
"strikeout": 0.9779
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623474",
"profile": {
"available": true,
"pitcher_id": "623474",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 120.0,
"k_percent": 21.8,
"bb_percent": 12.1,
"woba": 0.373,
"xwoba": 0.321,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 37.4,
"avg_best_speed": 76.8608,
"avg_hyper_speed": 94.2453,
"whiff_percent": 27.1,
"swing_percent": 46.5
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.4624,
"command_and_miss": -0.0893,
"regression_edge": 1.4857,
"xwoba_edge": -0.2857,
"barrel_edge": -0.7111,
"hard_hit_edge": 0.0143,
"whiff_edge": 0.2571,
"bb_edge": -0.8,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623474",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0641,
"sample_weight": 0.48,
"run_prevention_factor": 1.0055,
"strikeout_factor": 1.0041,
"walk_factor": 1.0307,
"homer_factor": 1.0311,
"woba_minus_xwoba": 0.052,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "623474",
"espn_id": 36093,
"player_name": "Jimmy Herget",
"team": "COL",
"role": "pitcher",
"espn_rank": 596,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 596,
"gp_value": 38.0,
"gp_rank": 150,
"gs_value": 3.0,
"gs_rank": 235,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 6.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": 492,
"l_value": 4.0,
"l_rank": 149,
"sv_value": 3.0,
"sv_rank": 61,
"hld_value": 7.0,
"hld_rank": 111,
"ip_value": 36.0,
"ip_rank": 360,
"h_value": 39.0,
"h_rank": 286,
"er_value": 24.0,
"er_rank": 215,
"hr_value": 6.0,
"hr_rank": 240,
"bb_value": 20.0,
"bb_rank": 247,
"k_value": 36.0,
"k_rank": 345,
"k_per_9_value": 9.0,
"k_per_9_rank": 25,
"whip_value": 1.6388,
"whip_rank": null,
"war_value": -0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0026,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0026,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0147,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0149,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.002,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 7,
"H": 8,
"BB": 8,
"SO": 8,
"HR": 1,
"ERA": 7.26923076923077,
"WHIP": 1.8461538461538463,
"K9": 8.307692307692308,
"HR9": 1.0384615384615385,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-18T00:00:00"
}{
"available": false,
"pitcher_id": "623474",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.2,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5902,
"prior_weight": 0.4098
},
"role": "pitcher",
"player_id": "623474",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 4.0,
"SO": 2.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 77.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.8,
"SO": 0.4,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.4
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.2857,
"ER_per_IP": 0.21429,
"H_per_IP": 0.42857,
"BB_per_IP": 0.85714,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 7.0,
"R": 7.0,
"H": 8.0,
"BB": 8.0,
"SO": 8.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 171.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 0.8,
"BB": 0.8,
"SO": 0.8,
"HR": 0.1,
"BF": 4.1,
"Pitches": 17.1
},
"rates": {
"ERA": 7.2692,
"WHIP": 1.8462,
"ER_per_IP": 0.80769,
"H_per_IP": 0.92308,
"BB_per_IP": 0.92308,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 37,
"totals": {
"IP": 36.0,
"ER": 24.0,
"R": 25.0,
"H": 38.0,
"BB": 19.0,
"SO": 36.0,
"HR": 6.0,
"BF": 163.0,
"Pitches": 664.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6486,
"R": 0.6757,
"H": 1.027,
"BB": 0.5135,
"SO": 0.973,
"HR": 0.1622,
"BF": 4.4054,
"Pitches": 17.9459
},
"rates": {
"ERA": 6.0,
"WHIP": 1.5833,
"ER_per_IP": 0.66667,
"H_per_IP": 1.05556,
"BB_per_IP": 0.52778,
"SO_per_IP": 1.0,
"HR_per_IP": 0.16667
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.507,
"predicted_H": 0.827,
"predicted_BB": 0.63,
"predicted_SO": 0.813,
"predicted_HR": 0.104,
"predicted_ERA": 4.5593,
"predicted_WHIP": 1.4568
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5231,
"form_weight": 0.4769,
"form_reliability": 0.5902,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.2,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5902,
"prior_weight": 0.4098
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.507,
"final": 0.2418,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.827,
"final": 0.3944,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.63,
"final": 0.3004,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.813,
"final": 0.9108,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.104,
"final": 0.0496,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5593,
"final": 4.5593,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4568,
"final": 1.4568,
"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 | Jordan Romano |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0763 |
| ESPN Rank | 423 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.3548 |
| Season WHIP | 1.5000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 135,
"wins": 54,
"losses": 81,
"win_pct": 0.4,
"runs_scored": 660.0,
"runs_allowed": 777.0,
"run_differential": -117.0,
"run_differential_per_game": -0.8667,
"avg_runs_scored": 4.8889,
"avg_runs_allowed": 5.7556,
"offense_index": 1.0889,
"defense_index": 0.7801,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.2,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1912
},
"opponent": {
"team": "LAD",
"games": 134,
"wins": 79,
"losses": 55,
"win_pct": 0.5896,
"runs_scored": 668.0,
"runs_allowed": 515.0,
"run_differential": 153.0,
"run_differential_per_game": 1.1418,
"avg_runs_scored": 4.9851,
"avg_runs_allowed": 3.8433,
"offense_index": 1.1103,
"defense_index": 1.1682,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.251
},
"edges": {
"quality_edge": -0.4422,
"offense_edge": 0.0889,
"opponent_offense_edge": 0.1103,
"defense_strength": -0.2199,
"opponent_defense_weakness": -0.1682,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9713,
"run_prevention": 1.0617,
"strikeout": 0.9779
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "605447",
"profile": {
"available": true,
"pitcher_id": "605447",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 67.0,
"k_percent": 26.3,
"bb_percent": 13.1,
"woba": 0.329,
"xwoba": 0.31,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 32.2,
"avg_best_speed": 76.0457,
"avg_hyper_speed": 92.8602,
"whiff_percent": 28.2,
"swing_percent": 43.3
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.1106,
"command_and_miss": 0.205,
"regression_edge": 0.5429,
"xwoba_edge": 0.0286,
"barrel_edge": 0.8222,
"hard_hit_edge": 0.7571,
"whiff_edge": 0.4143,
"bb_edge": -1.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "605447",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0763,
"sample_weight": 0.45,
"run_prevention_factor": 0.9935,
"strikeout_factor": 1.0183,
"walk_factor": 1.0378,
"homer_factor": 0.9564,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605447",
"espn_id": 36380,
"player_name": "Jordan Romano",
"team": "COL",
"role": "pitcher",
"espn_rank": 423,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 423,
"gp_value": 24.0,
"gp_rank": 271,
"gs_value": 0.0,
"gs_rank": 342,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 5.6612,
"era_rank": null,
"w_value": 0.0,
"w_rank": 492,
"l_value": 2.0,
"l_rank": 292,
"sv_value": 12.0,
"sv_rank": 22,
"hld_value": 1.0,
"hld_rank": 249,
"ip_value": 20.2,
"ip_rank": 470,
"h_value": 23.0,
"h_rank": 443,
"er_value": 13.0,
"er_rank": 410,
"hr_value": 1.0,
"hr_rank": 578,
"bb_value": 13.0,
"bb_rank": 378,
"k_value": 26.0,
"k_rank": 413,
"k_per_9_value": 11.32258,
"k_per_9_rank": 23,
"whip_value": 1.7419,
"whip_rank": null,
"war_value": 0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9971,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9971,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.017,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9804,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0082,
"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": 4,
"H": 9,
"BB": 6,
"SO": 9,
"HR": 0,
"ERA": 3.724137931034483,
"WHIP": 1.5517241379310345,
"K9": 8.379310344827587,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-18T00:00:00"
}{
"available": false,
"pitcher_id": "605447",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.133,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4526,
"prior_weight": 0.5474
},
"role": "pitcher",
"player_id": "605447",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 3.0,
"SO": 4.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.2,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 19.4
},
"rates": {
"ERA": 5.4,
"WHIP": 1.8,
"ER_per_IP": 0.6,
"H_per_IP": 1.2,
"BB_per_IP": 0.6,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 4.0,
"H": 9.0,
"BB": 6.0,
"SO": 9.0,
"HR": 0.0,
"BF": 44.0,
"Pitches": 188.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.9,
"BB": 0.6,
"SO": 0.9,
"HR": 0.0,
"BF": 4.4,
"Pitches": 18.8
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.5517,
"ER_per_IP": 0.41379,
"H_per_IP": 0.93103,
"BB_per_IP": 0.62069,
"SO_per_IP": 0.93103,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 20.2,
"ER": 10.0,
"R": 10.0,
"H": 20.0,
"BB": 11.0,
"SO": 26.0,
"HR": 0.0,
"BF": 94.0,
"Pitches": 409.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4348,
"R": 0.4348,
"H": 0.8696,
"BB": 0.4783,
"SO": 1.1304,
"HR": 0.0,
"BF": 4.087,
"Pitches": 17.7826
},
"rates": {
"ERA": 4.3548,
"WHIP": 1.5,
"ER_per_IP": 0.48387,
"H_per_IP": 0.96774,
"BB_per_IP": 0.53226,
"SO_per_IP": 1.25806,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.504,
"predicted_H": 1.011,
"predicted_BB": 0.468,
"predicted_SO": 0.946,
"predicted_HR": 0.081,
"predicted_ERA": 4.5381,
"predicted_WHIP": 1.479
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5813,
"form_weight": 0.4187,
"form_reliability": 0.4526,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.133,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4526,
"prior_weight": 0.5474
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.504,
"final": 0.7923,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.011,
"final": 1.0046,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.468,
"final": 0.196,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.946,
"final": 0.9774,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.081,
"final": 0.0339,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5381,
"final": 4.5381,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.479,
"final": 1.479,
"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 | Juan Mejia |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1777 |
| ESPN Rank | 682 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 5.8471 |
| Season WHIP | 1.6624 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 135,
"wins": 54,
"losses": 81,
"win_pct": 0.4,
"runs_scored": 660.0,
"runs_allowed": 777.0,
"run_differential": -117.0,
"run_differential_per_game": -0.8667,
"avg_runs_scored": 4.8889,
"avg_runs_allowed": 5.7556,
"offense_index": 1.0889,
"defense_index": 0.7801,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.2,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1912
},
"opponent": {
"team": "LAD",
"games": 134,
"wins": 79,
"losses": 55,
"win_pct": 0.5896,
"runs_scored": 668.0,
"runs_allowed": 515.0,
"run_differential": 153.0,
"run_differential_per_game": 1.1418,
"avg_runs_scored": 4.9851,
"avg_runs_allowed": 3.8433,
"offense_index": 1.1103,
"defense_index": 1.1682,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.251
},
"edges": {
"quality_edge": -0.4422,
"offense_edge": 0.0889,
"opponent_offense_edge": 0.1103,
"defense_strength": -0.2199,
"opponent_defense_weakness": -0.1682,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9713,
"run_prevention": 1.0617,
"strikeout": 0.9779
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "675848",
"profile": {
"available": true,
"pitcher_id": "675848",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 194.0,
"k_percent": 20.8,
"bb_percent": 12.5,
"woba": 0.341,
"xwoba": 0.336,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 38.0,
"avg_best_speed": 77.8362,
"avg_hyper_speed": 94.2784,
"whiff_percent": 25.3,
"swing_percent": 47.3
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.312,
"command_and_miss": -0.2636,
"regression_edge": 0.1429,
"xwoba_edge": -0.7143,
"barrel_edge": 0.7333,
"hard_hit_edge": -0.0714,
"whiff_edge": 0.0,
"bb_edge": -0.9,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "675848",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1777,
"sample_weight": 0.776,
"run_prevention_factor": 1.0151,
"strikeout_factor": 0.9942,
"walk_factor": 1.0559,
"homer_factor": 0.9733,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675848",
"espn_id": 5185107,
"player_name": "Juan Mejia",
"team": "COL",
"role": "pitcher",
"espn_rank": 682,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 682,
"gp_value": 49.0,
"gp_rank": 68,
"gs_value": 1.0,
"gs_rank": 287,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 5.8471,
"era_rank": null,
"w_value": 3.0,
"w_rank": 217,
"l_value": 6.0,
"l_rank": 92,
"sv_value": 4.0,
"sv_rank": 48,
"hld_value": 8.0,
"hld_rank": 96,
"ip_value": 52.1,
"ip_rank": 235,
"h_value": 57.0,
"h_rank": 174,
"er_value": 34.0,
"er_rank": 148,
"hr_value": 5.0,
"hr_rank": 283,
"bb_value": 30.0,
"bb_rank": 134,
"k_value": 50.0,
"k_rank": 242,
"k_per_9_value": 8.598725,
"k_per_9_rank": 27,
"whip_value": 1.6624,
"whip_rank": null,
"war_value": -0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0117,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0117,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0434,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9793,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9955,
"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": 7,
"H": 12,
"BB": 7,
"SO": 6,
"HR": 1,
"ERA": 6.750000000000001,
"WHIP": 2.035714285714286,
"K9": 5.7857142857142865,
"HR9": 0.9642857142857144,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-17T00:00:00"
}{
"available": false,
"pitcher_id": "675848",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.467,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6767,
"prior_weight": 0.3233
},
"role": "pitcher",
"player_id": "675848",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 49,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 4.0,
"SO": 1.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 93.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.4,
"BB": 0.8,
"SO": 0.2,
"HR": 0.2,
"BF": 4.6,
"Pitches": 18.6
},
"rates": {
"ERA": 11.25,
"WHIP": 2.75,
"ER_per_IP": 1.25,
"H_per_IP": 1.75,
"BB_per_IP": 1.0,
"SO_per_IP": 0.25,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 8.0,
"H": 12.0,
"BB": 7.0,
"SO": 6.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 188.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 1.2,
"BB": 0.7,
"SO": 0.6,
"HR": 0.1,
"BF": 4.5,
"Pitches": 18.8
},
"rates": {
"ERA": 6.75,
"WHIP": 2.0357,
"ER_per_IP": 0.75,
"H_per_IP": 1.28571,
"BB_per_IP": 0.75,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 49,
"totals": {
"IP": 52.1,
"ER": 34.0,
"R": 37.0,
"H": 57.0,
"BB": 30.0,
"SO": 50.0,
"HR": 5.0,
"BF": 240.0,
"Pitches": 987.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6939,
"R": 0.7551,
"H": 1.1633,
"BB": 0.6122,
"SO": 1.0204,
"HR": 0.102,
"BF": 4.898,
"Pitches": 20.1429
},
"rates": {
"ERA": 5.8471,
"WHIP": 1.6624,
"ER_per_IP": 0.64968,
"H_per_IP": 1.08917,
"BB_per_IP": 0.57325,
"SO_per_IP": 0.95541,
"HR_per_IP": 0.09554
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.551,
"predicted_H": 0.887,
"predicted_BB": 0.463,
"predicted_SO": 0.455,
"predicted_HR": 0.111,
"predicted_ERA": 7.2653,
"predicted_WHIP": 1.9762
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4866,
"form_weight": 0.5134,
"form_reliability": 0.6767,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.467,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6767,
"prior_weight": 0.3233
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.551,
"final": 0.2829,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.887,
"final": 1.9152,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.463,
"final": 0.2377,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.455,
"final": 0.2336,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.111,
"final": 0.057,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.2653,
"final": 7.2653,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.9762,
"final": 1.9762,
"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 | Zach Agnos |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.6231 |
| ESPN Rank | 383 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0193 |
| Avg Velo | 90.2723 |
| Avg Spin | 2260.9658 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 5.5256 |
| Season WHIP | 1.4372 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 135,
"wins": 54,
"losses": 81,
"win_pct": 0.4,
"runs_scored": 660.0,
"runs_allowed": 777.0,
"run_differential": -117.0,
"run_differential_per_game": -0.8667,
"avg_runs_scored": 4.8889,
"avg_runs_allowed": 5.7556,
"offense_index": 1.0889,
"defense_index": 0.7801,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.2,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1912
},
"opponent": {
"team": "LAD",
"games": 134,
"wins": 79,
"losses": 55,
"win_pct": 0.5896,
"runs_scored": 668.0,
"runs_allowed": 515.0,
"run_differential": 153.0,
"run_differential_per_game": 1.1418,
"avg_runs_scored": 4.9851,
"avg_runs_allowed": 3.8433,
"offense_index": 1.1103,
"defense_index": 1.1682,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.251
},
"edges": {
"quality_edge": -0.4422,
"offense_edge": 0.0889,
"opponent_offense_edge": 0.1103,
"defense_strength": -0.2199,
"opponent_defense_weakness": -0.1682,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9713,
"run_prevention": 1.0617,
"strikeout": 0.9779
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "688642",
"profile": {
"available": true,
"pitcher_id": "688642",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 278.0,
"k_percent": 14.6,
"bb_percent": 7.9,
"woba": 0.343,
"xwoba": 0.354,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 41.4,
"avg_best_speed": 77.8668,
"avg_hyper_speed": 94.2366,
"whiff_percent": 21.2,
"swing_percent": 50.7
},
"league_medians": {
"pa": 106.5,
"k_percent": 22.1,
"bb_percent": 8.9,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5387,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.7635,
"command_and_miss": -0.6371,
"regression_edge": -0.3143,
"xwoba_edge": -1.2286,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.5571,
"whiff_edge": -0.5857,
"bb_edge": 0.25,
"pitch_design_score": 0.0193
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "688642",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 44,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 44,
"pitch_usage": 0.0,
"release_speed": 90.27228501146244,
"release_spin_rate": 2260.9657634495934,
"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": 44,
"pitch_usage": 0.0,
"release_speed": 90.27228501146244,
"release_spin_rate": 2260.9657634495934,
"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.2723,
"release_spin_rate": 2260.9658,
"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.0193,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1382,
"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.6231,
"sample_weight": 1.0,
"run_prevention_factor": 1.053,
"strikeout_factor": 0.9337,
"walk_factor": 0.98,
"homer_factor": 1.0734,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "688642",
"espn_id": 5207459,
"player_name": "Zach Agnos",
"team": "COL",
"role": "pitcher",
"espn_rank": 383,
"espn_total_ranked": 816,
"metrics": {
"espn_rank": 383,
"gp_value": 32.0,
"gp_rank": 183,
"gs_value": 2.0,
"gs_rank": 260,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 5.5255,
"era_rank": null,
"w_value": 0.0,
"w_rank": 492,
"l_value": 2.0,
"l_rank": 292,
"sv_value": 2.0,
"sv_rank": 79,
"hld_value": 0.0,
"hld_rank": 321,
"ip_value": 71.2,
"ip_rank": 151,
"h_value": 78.0,
"h_rank": 128,
"er_value": 44.0,
"er_rank": 105,
"hr_value": 8.0,
"hr_rank": 179,
"bb_value": 25.0,
"bb_rank": 181,
"k_value": 46.0,
"k_rank": 281,
"k_per_9_value": 5.776744,
"k_per_9_rank": 50,
"whip_value": 1.4372,
"whip_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.053,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.053,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.98,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0734,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9337,
"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": 20.1,
"ER": 2,
"H": 15,
"BB": 2,
"SO": 11,
"HR": 0,
"ERA": 0.8852459016393441,
"WHIP": 0.8360655737704917,
"K9": 4.868852459016393,
"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-18T00:00:00"
}{
"available": true,
"pitcher_id": "688642",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 44,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 44,
"pitch_usage": 0.0,
"release_speed": 90.27228501146244,
"release_spin_rate": 2260.9657634495934,
"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": 44,
"pitch_usage": 0.0,
"release_speed": 90.27228501146244,
"release_spin_rate": 2260.9657634495934,
"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.2723,
"release_spin_rate": 2260.9658,
"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.0193,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1382,
"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.334,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7414,
"prior_weight": 0.2586
},
"role": "pitcher",
"player_id": "688642",
"report_date": "20260819",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 142.0
},
"per_game": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 6.8,
"Pitches": 28.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.1,
"SO_per_IP": 0.7,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 20.1,
"ER": 2.0,
"R": 3.0,
"H": 15.0,
"BB": 2.0,
"SO": 11.0,
"HR": 0.0,
"BF": 77.0,
"Pitches": 284.0
},
"per_game": {
"IP": 2.0,
"ER": 0.2,
"R": 0.3,
"H": 1.5,
"BB": 0.2,
"SO": 1.1,
"HR": 0.0,
"BF": 7.7,
"Pitches": 28.4
},
"rates": {
"ERA": 0.8852,
"WHIP": 0.8361,
"ER_per_IP": 0.09836,
"H_per_IP": 0.7377,
"BB_per_IP": 0.09836,
"SO_per_IP": 0.54098,
"HR_per_IP": 0.0
}
},
"season": {
"games": 32,
"totals": {
"IP": 71.2,
"ER": 44.0,
"R": 48.0,
"H": 78.0,
"BB": 25.0,
"SO": 46.0,
"HR": 8.0,
"BF": 315.0,
"Pitches": 1166.0
},
"per_game": {
"IP": 2.1,
"ER": 1.375,
"R": 1.5,
"H": 2.4375,
"BB": 0.7812,
"SO": 1.4375,
"HR": 0.25,
"BF": 9.8438,
"Pitches": 36.4375
},
"rates": {
"ERA": 5.5256,
"WHIP": 1.4372,
"ER_per_IP": 0.61395,
"H_per_IP": 1.08837,
"BB_per_IP": 0.34884,
"SO_per_IP": 0.64186,
"HR_per_IP": 0.11163
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.2,
"predicted_ER": 0.397,
"predicted_H": 1.193,
"predicted_BB": 0.332,
"predicted_SO": 1.158,
"predicted_HR": 0.089,
"predicted_ERA": 2.2084,
"predicted_WHIP": 0.9421
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4593,
"form_weight": 0.5407,
"form_reliability": 0.7414,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.334,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7414,
"prior_weight": 0.2586
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.2,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.397,
"final": 0.6739,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.193,
"final": 1.5636,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.332,
"final": 0.6388,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.158,
"final": 2.004,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.089,
"final": 0.0481,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2084,
"final": 2.2084,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9421,
"final": 0.9421,
"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.165 | 0.000 | 0.000 | Hitting_2B | 0.185 | 0.000 | -0.185 | 0.000 |
| predicted_3B | 0.047 | 0.000 | 0.000 | Hitting_3B | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_AB | 3.482 | 4.000 | 4.000 | Hitting_AB | 3.789 | 4.000 | 0.211 | 0.000 |
| predicted_AVG | 0.260 | 0.000 | 0.250 | Hitting_AVG | 0.288 | 0.000 | -0.288 | 0.000 |
| predicted_BB | 0.188 | 1.000 | 0.000 | Hitting_BB | 0.230 | 0.000 | 0.770 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.906 | 0.000 | 1.000 | Hitting_H | 1.091 | 0.000 | -1.091 | 0.000 |
| predicted_HR | 0.224 | 0.000 | 0.000 | Hitting_HR | 0.287 | 0.000 | -0.287 | 0.000 |
| predicted_OBP | 0.298 | 0.200 | 0.250 | Hitting_OBP | 0.333 | 0.000 | -0.133 | 0.200 |
| predicted_R | 0.482 | 0.000 | 0.000 | Hitting_R | 0.600 | 0.000 | -0.600 | 0.000 |
| predicted_RBI | 0.671 | 0.000 | 1.000 | Hitting_RBI | 0.758 | 0.000 | -0.758 | 0.000 |
| predicted_SLG | 0.527 | 0.000 | 0.250 | Hitting_SLG | 0.592 | 0.000 | -0.592 | 0.000 |
| predicted_SO | 0.976 | 2.000 | 1.000 | Hitting_SO | 0.992 | 1.000 | 1.008 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.9760 -> 2.0000 (boost 1.0240, worse) |
| Biggest Deboost | predicted_H: 0.9060 -> 0.0000 (deboost -0.9060, 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_H: 0.9060 -> 0.8295 (deboost -0.0765, 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.4607 -> 0.4500 (deboost -0.0107, 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 | 3 | 3 | predicted_AB: 3.5041 -> 4.0000 (boost 0.4959, better) | predicted_BB: 0.1992 -> 0.0000 (deboost -0.1992, worse) | AB rounded to 4 (raw=3.50), rates preserved: AVG=0.231 HR/AB=0.052 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4110 -> 0.0000 (deboost -0.4110, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2307 -> 0.2500 (boost 0.0193, better) | predicted_SLG: 0.4500 -> 0.2500 (deboost -0.2000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4500 (boost 0.2000, better) | predicted_AVG: 0.2500 -> 0.2307 (deboost -0.0193, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666160",
"player_name": "Mickey Moniak",
"position": "DH",
"team": "COL",
"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.165,
"predicted_3B": 0.047,
"predicted_AB": 3.482,
"predicted_AVG": 0.26,
"predicted_BB": 0.188,
"predicted_H": 0.906,
"predicted_HR": 0.224,
"predicted_OBP": 0.298,
"predicted_R": 0.482,
"predicted_RBI": 0.671,
"predicted_SLG": 0.527,
"predicted_SO": 0.976
},
"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.1484,
"predicted_3B": 0.0385,
"predicted_AB": 3.5041,
"predicted_AVG": 0.2367,
"predicted_BB": 0.2012,
"predicted_H": 0.8295,
"predicted_HBP": 0.022,
"predicted_HR": 0.1862,
"predicted_OBP": 0.2774,
"predicted_R": 0.431,
"predicted_RBI": 0.6604,
"predicted_SLG": 0.4607,
"predicted_SO": 1.0223
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.165,
"after": 0.1484,
"delta": -0.0166,
"percent_delta": -0.1006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.047,
"after": 0.0385,
"delta": -0.0085,
"percent_delta": -0.1809,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.482,
"after": 3.5041,
"delta": 0.0221,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2367,
"delta": -0.0233,
"percent_delta": -0.0896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.188,
"after": 0.2012,
"delta": 0.0132,
"percent_delta": 0.0702,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.906,
"after": 0.8295,
"delta": -0.0765,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.224,
"after": 0.1862,
"delta": -0.0378,
"percent_delta": -0.1688,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2774,
"delta": -0.0206,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.482,
"after": 0.431,
"delta": -0.051,
"percent_delta": -0.1058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.671,
"after": 0.6604,
"delta": -0.0106,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.527,
"after": 0.4607,
"delta": -0.0663,
"percent_delta": -0.1258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.976,
"after": 1.0223,
"delta": 0.0463,
"percent_delta": 0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.906,
"after": 0.8295,
"delta": -0.0765,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1484,
"predicted_3B": 0.0385,
"predicted_AB": 3.5041,
"predicted_AVG": 0.2307,
"predicted_BB": 0.1992,
"predicted_H": 0.8085,
"predicted_HBP": 0.022,
"predicted_HR": 0.1809,
"predicted_OBP": 0.2721,
"predicted_R": 0.411,
"predicted_RBI": 0.6298,
"predicted_SLG": 0.45,
"predicted_SO": 1.0322
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1484,
"after": 0.1484,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0385,
"after": 0.0385,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5041,
"after": 3.5041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2367,
"after": 0.2307,
"delta": -0.006,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2012,
"after": 0.1992,
"delta": -0.002,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8295,
"after": 0.8085,
"delta": -0.021,
"percent_delta": -0.0253,
"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.1862,
"after": 0.1809,
"delta": -0.0053,
"percent_delta": -0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2774,
"after": 0.2721,
"delta": -0.0053,
"percent_delta": -0.0191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.431,
"after": 0.411,
"delta": -0.02,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6604,
"after": 0.6298,
"delta": -0.0306,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4607,
"after": 0.45,
"delta": -0.0107,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0223,
"after": 1.0322,
"delta": 0.0099,
"percent_delta": 0.0097,
"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.4607,
"after": 0.45,
"delta": -0.0107,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.50), rates preserved: AVG=0.231 HR/AB=0.052",
"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.1484,
"after": 0.0,
"delta": -0.1484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0385,
"after": 0.0,
"delta": -0.0385,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5041,
"after": 4.0,
"delta": 0.4959,
"percent_delta": 0.1415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1992,
"after": 0.0,
"delta": -0.1992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8085,
"after": 1.0,
"delta": 0.1915,
"percent_delta": 0.2369,
"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.1809,
"after": 0.0,
"delta": -0.1809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6298,
"after": 1.0,
"delta": 0.3702,
"percent_delta": 0.5878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0322,
"after": 1.0,
"delta": -0.0322,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5041,
"after": 4.0,
"delta": 0.4959,
"percent_delta": 0.1415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.1992,
"after": 0.0,
"delta": -0.1992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.411,
"after": 0.0,
"delta": -0.411,
"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.411,
"after": 0.0,
"delta": -0.411,
"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": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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.2307,
"after": 0.25,
"delta": 0.0193,
"percent_delta": 0.0837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2721,
"after": 0.25,
"delta": -0.0221,
"percent_delta": -0.0812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.25,
"delta": -0.2,
"percent_delta": -0.4444,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2307,
"after": 0.25,
"delta": 0.0193,
"percent_delta": 0.0837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.25,
"delta": -0.2,
"percent_delta": -0.4444,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2307,
"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.2721,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.45,
"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.25,
"after": 0.2307,
"delta": -0.0193,
"percent_delta": -0.0771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2721,
"delta": 0.0221,
"percent_delta": 0.0885,
"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.25,
"after": 0.45,
"delta": 0.2,
"percent_delta": 0.7998,
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.45,
"delta": 0.2,
"percent_delta": 0.7998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2307,
"delta": -0.0193,
"percent_delta": -0.0771,
"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.165,
"after": 0.0,
"delta": -0.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.482,
"after": 4.0,
"delta": 0.518,
"percent_delta": 0.1488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2307,
"delta": -0.0293,
"percent_delta": -0.1127,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.188,
"after": 1.0,
"delta": 0.812,
"percent_delta": 4.3191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.906,
"after": 0.0,
"delta": -0.906,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.224,
"after": 0.0,
"delta": -0.224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2721,
"delta": -0.0259,
"percent_delta": -0.0869,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.482,
"after": 0.0,
"delta": -0.482,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.671,
"after": 0.0,
"delta": -0.671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.527,
"after": 0.45,
"delta": -0.077,
"percent_delta": -0.1461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.976,
"after": 2.0,
"delta": 1.024,
"percent_delta": 1.0492,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.976,
"after": 2.0,
"delta": 1.024,
"percent_delta": 1.0492,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.906,
"after": 0.0,
"delta": -0.906,
"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.165 | - |
| predicted_3B | 0.047 | - |
| predicted_AB | 3.482 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.188 | - |
| predicted_H | 0.906 | - |
| predicted_HR | 0.224 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.482 | - |
| predicted_RBI | 0.671 | - |
| predicted_SLG | 0.527 | - |
| predicted_SO | 0.976 | - |
Final model 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.148 | -0.017 |
| predicted_3B | 0.038 | -0.009 |
| predicted_AB | 3.504 | 0.022 |
| predicted_AVG | 0.237 | -0.023 |
| predicted_BB | 0.201 | 0.013 |
| predicted_H | 0.830 | -0.077 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.186 | -0.038 |
| predicted_OBP | 0.277 | -0.021 |
| predicted_R | 0.431 | -0.051 |
| predicted_RBI | 0.660 | -0.011 |
| predicted_SLG | 0.461 | -0.066 |
| predicted_SO | 1.022 | 0.046 |
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.148 | 0.000 |
| predicted_3B | 0.038 | 0.000 |
| predicted_AB | 3.504 | 0.000 |
| predicted_AVG | 0.231 | -0.006 |
| predicted_BB | 0.199 | -0.002 |
| predicted_H | 0.808 | -0.021 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.181 | -0.005 |
| predicted_OBP | 0.272 | -0.005 |
| predicted_R | 0.411 | -0.020 |
| predicted_RBI | 0.630 | -0.031 |
| predicted_SLG | 0.450 | -0.011 |
| predicted_SO | 1.032 | 0.010 |
AB rounded to 4 (raw=3.50), rates preserved: AVG=0.231 HR/AB=0.052
| 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=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.148 |
| predicted_3B | 0.000 | -0.038 |
| predicted_AB | 4.000 | 0.496 |
| predicted_AVG | 0.250 | 0.019 |
| predicted_BB | 0.000 | -0.199 |
| predicted_H | 1.000 | 0.192 |
| predicted_HR | 0.000 | -0.181 |
| predicted_OBP | 0.250 | -0.022 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 1.000 | 0.370 |
| predicted_SLG | 0.250 | -0.200 |
| predicted_SO | 1.000 | -0.032 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 2.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 1.000 | 7.000 | 0.1053 | 0.1429 | 0.1053 | 0.1053 | 0.0000 | 0.2105 | 0.0526 | 0.3684 |
| last_10 | 0.20 | 10 | - | 33.000 | 4.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 3.000 | 12.000 | 0.1212 | 0.1842 | 0.1515 | 0.1212 | 0.0000 | 0.1515 | 0.0909 | 0.3636 |
| season | 0.60 | 85 | - | 296.000 | 77.000 | 14.000 | 4.000 | 19.000 | 57.000 | 41.000 | 16.000 | 83.000 | 0.2601 | 0.2981 | 0.5270 | 0.2601 | 0.0642 | 0.1926 | 0.0541 | 0.2804 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.5340 |
| predicted_AVG | 0.2053 |
| predicted_BB | 0.2190 |
| predicted_H | 0.7260 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.1350 |
| predicted_OBP | 0.2495 |
| predicted_R | 0.3620 |
| predicted_RBI | 0.6460 |
| predicted_SLG | 0.3711 |
| predicted_SO | 1.0850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1650 | 0.1260 | 0.1484 | model_form_blend |
| predicted_3B | 0.0470 | 0.0270 | 0.0385 | model_form_blend |
| predicted_AB | 3.4820 | 3.5340 | 3.5041 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2053 | 0.2367 | model_form_blend |
| predicted_BB | 0.1880 | 0.2190 | 0.2012 | model_form_blend |
| predicted_H | 0.9060 | 0.7260 | 0.8295 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.2240 | 0.1350 | 0.1862 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2495 | 0.2774 | model_form_blend |
| predicted_R | 0.4820 | 0.3620 | 0.4310 | model_form_blend |
| predicted_RBI | 0.6710 | 0.6460 | 0.6604 | model_form_blend |
| predicted_SLG | 0.5270 | 0.3711 | 0.4607 | model_form_blend |
| predicted_SO | 0.9760 | 1.0850 | 1.0223 | 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 | 265 |
| Season rows before report date | 265 |
| Report year | 2026 |
| Profile rows used | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.26 |
| 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 | LF-CF |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 666160 |
| playerID | 666160 |
| playerName | Mickey Moniak |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.349 |
| sl_xwoba | 0.291 |
| sl_xba | 0.218 |
| sl_xslg | 0.413 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 41.0 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 22.0 |
| sl_whiff_percent | 29.0 |
| sl_swing_percent | 57.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.248 | 0.000 | 0.000 | Hitting_2B | 0.264 | 1.000 | -0.264 | -1.000 |
| predicted_3B | 0.067 | 0.000 | 0.000 | Hitting_3B | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_AB | 3.810 | 5.000 | 4.000 | Hitting_AB | 3.837 | 5.000 | 1.163 | 0.000 |
| predicted_AVG | 0.295 | 0.200 | 0.250 | Hitting_AVG | 0.307 | 0.400 | -0.107 | -0.200 |
| predicted_BB | 0.181 | 0.000 | 0.000 | Hitting_BB | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 1.124 | 1.000 | 1.000 | Hitting_H | 1.177 | 2.000 | -0.177 | -1.000 |
| predicted_HR | 0.124 | 0.000 | 0.000 | Hitting_HR | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_OBP | 0.327 | 0.200 | 0.250 | Hitting_OBP | 0.349 | 0.400 | -0.149 | -0.200 |
| predicted_R | 0.571 | 1.000 | 1.000 | Hitting_R | 0.581 | 2.000 | 0.419 | -1.000 |
| predicted_RBI | 0.638 | 0.000 | 1.000 | Hitting_RBI | 0.713 | 0.000 | -0.713 | 0.000 |
| predicted_SLG | 0.492 | 0.200 | 0.250 | Hitting_SLG | 0.518 | 0.600 | -0.318 | -0.400 |
| predicted_SO | 0.695 | 0.000 | 1.000 | Hitting_SO | 0.736 | 1.000 | -0.736 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 10 |
| Better Metrics | 3 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.8100 -> 5.0000 (boost 1.1900, better) |
| Biggest Deboost | predicted_SO: 0.6950 -> 0.0000 (deboost -0.6950, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_RBI: 0.6380 -> 0.5811 (deboost -0.0569, 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.4680 -> 0.4584 (deboost -0.0096, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.5542 -> 1.0000 (boost 0.4458, better) | predicted_2B: 0.2385 -> 0.0000 (deboost -0.2385, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.277 HR/AB=0.030 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5840 -> 1.0000 (boost 0.4160, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4584 -> 0.2500 (deboost -0.2084, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_RBI: 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.2500 -> 0.4584 (boost 0.2084, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664983",
"player_name": "Jake McCarthy",
"position": "RF",
"team": "COL",
"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.248,
"predicted_3B": 0.067,
"predicted_AB": 3.81,
"predicted_AVG": 0.295,
"predicted_BB": 0.181,
"predicted_H": 1.124,
"predicted_HR": 0.124,
"predicted_OBP": 0.327,
"predicted_R": 0.571,
"predicted_RBI": 0.638,
"predicted_SLG": 0.492,
"predicted_SO": 0.695
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.2385,
"predicted_3B": 0.0549,
"predicted_AB": 3.8483,
"predicted_AVG": 0.2839,
"predicted_BB": 0.2099,
"predicted_H": 1.0917,
"predicted_HBP": 0.024,
"predicted_HR": 0.1206,
"predicted_OBP": 0.3223,
"predicted_R": 0.6124,
"predicted_RBI": 0.5811,
"predicted_SLG": 0.468,
"predicted_SO": 0.6933
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.248,
"after": 0.2385,
"delta": -0.0095,
"percent_delta": -0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.067,
"after": 0.0549,
"delta": -0.0121,
"percent_delta": -0.1806,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 3.8483,
"delta": 0.0383,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.295,
"after": 0.2839,
"delta": -0.0111,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.181,
"after": 0.2099,
"delta": 0.0289,
"percent_delta": 0.1597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.124,
"after": 1.0917,
"delta": -0.0323,
"percent_delta": -0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.124,
"after": 0.1206,
"delta": -0.0034,
"percent_delta": -0.0274,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3223,
"delta": -0.0047,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 0.6124,
"delta": 0.0414,
"percent_delta": 0.0725,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.638,
"after": 0.5811,
"delta": -0.0569,
"percent_delta": -0.0892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.492,
"after": 0.468,
"delta": -0.024,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.695,
"after": 0.6933,
"delta": -0.0017,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.638,
"after": 0.5811,
"delta": -0.0569,
"percent_delta": -0.0892,
"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": 105
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2385,
"predicted_3B": 0.0549,
"predicted_AB": 3.8483,
"predicted_AVG": 0.2765,
"predicted_BB": 0.2079,
"predicted_H": 1.0641,
"predicted_HBP": 0.024,
"predicted_HR": 0.1172,
"predicted_OBP": 0.3136,
"predicted_R": 0.584,
"predicted_RBI": 0.5542,
"predicted_SLG": 0.4584,
"predicted_SO": 0.7
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2385,
"after": 0.2385,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0549,
"after": 0.0549,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8483,
"after": 3.8483,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2839,
"after": 0.2765,
"delta": -0.0074,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2099,
"after": 0.2079,
"delta": -0.002,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0917,
"after": 1.0641,
"delta": -0.0276,
"percent_delta": -0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.024,
"after": 0.024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1206,
"after": 0.1172,
"delta": -0.0034,
"percent_delta": -0.0282,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3223,
"after": 0.3136,
"delta": -0.0087,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6124,
"after": 0.584,
"delta": -0.0284,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5811,
"after": 0.5542,
"delta": -0.0269,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.468,
"after": 0.4584,
"delta": -0.0096,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6933,
"after": 0.7,
"delta": 0.0067,
"percent_delta": 0.0097,
"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.468,
"after": 0.4584,
"delta": -0.0096,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.277 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2385,
"after": 0.0,
"delta": -0.2385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0549,
"after": 0.0,
"delta": -0.0549,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.8483,
"after": 4.0,
"delta": 0.1517,
"percent_delta": 0.0394,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2079,
"after": 0.0,
"delta": -0.2079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0641,
"after": 1.0,
"delta": -0.0641,
"percent_delta": -0.0602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1172,
"after": 0.0,
"delta": -0.1172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5542,
"after": 1.0,
"delta": 0.4458,
"percent_delta": 0.8044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7,
"after": 1.0,
"delta": 0.3,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5542,
"after": 1.0,
"delta": 0.4458,
"percent_delta": 0.8044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2385,
"after": 0.0,
"delta": -0.2385,
"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=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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.9429,
"bvp": 0.0571
},
"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.584,
"after": 1.0,
"delta": 0.416,
"percent_delta": 0.7123,
"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.584,
"after": 1.0,
"delta": 0.416,
"percent_delta": 0.7123,
"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.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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.2765,
"after": 0.25,
"delta": -0.0265,
"percent_delta": -0.0958,
"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.3136,
"after": 0.25,
"delta": -0.0636,
"percent_delta": -0.2028,
"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.4584,
"after": 0.25,
"delta": -0.2084,
"percent_delta": -0.4546,
"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.4584,
"after": 0.25,
"delta": -0.2084,
"percent_delta": -0.4546,
"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": 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": 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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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": 5.0,
"predicted_AVG": 0.2765,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3136,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4584,
"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": 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.25,
"after": 0.2765,
"delta": 0.0265,
"percent_delta": 0.106,
"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.25,
"after": 0.3136,
"delta": 0.0636,
"percent_delta": 0.2543,
"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.25,
"after": 0.4584,
"delta": 0.2084,
"percent_delta": 0.8335,
"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.25,
"after": 0.4584,
"delta": 0.2084,
"percent_delta": 0.8335,
"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.248,
"after": 0.0,
"delta": -0.248,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 5.0,
"delta": 1.19,
"percent_delta": 0.3123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.295,
"after": 0.2765,
"delta": -0.0185,
"percent_delta": -0.0627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.181,
"after": 0.0,
"delta": -0.181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.124,
"after": 1.0,
"delta": -0.124,
"percent_delta": -0.1103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3136,
"delta": -0.0134,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 1.0,
"delta": 0.429,
"percent_delta": 0.7513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.638,
"after": 0.0,
"delta": -0.638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.492,
"after": 0.4584,
"delta": -0.0336,
"percent_delta": -0.0683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.695,
"after": 0.0,
"delta": -0.695,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 2,
"deboosted_metrics": 10,
"better_metrics": 3,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.81,
"after": 5.0,
"delta": 1.19,
"percent_delta": 0.3123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.695,
"after": 0.0,
"delta": -0.695,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.248 | - |
| predicted_3B | 0.067 | - |
| predicted_AB | 3.810 | - |
| predicted_AVG | 0.295 | - |
| predicted_BB | 0.181 | - |
| predicted_H | 1.124 | - |
| predicted_HR | 0.124 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.571 | - |
| predicted_RBI | 0.638 | - |
| predicted_SLG | 0.492 | - |
| predicted_SO | 0.695 | - |
Final model 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.238 | -0.010 |
| predicted_3B | 0.055 | -0.012 |
| predicted_AB | 3.848 | 0.038 |
| predicted_AVG | 0.284 | -0.011 |
| predicted_BB | 0.210 | 0.029 |
| predicted_H | 1.092 | -0.032 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.121 | -0.003 |
| predicted_OBP | 0.322 | -0.005 |
| predicted_R | 0.612 | 0.041 |
| predicted_RBI | 0.581 | -0.057 |
| predicted_SLG | 0.468 | -0.024 |
| predicted_SO | 0.693 | -0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.238 | 0.000 |
| predicted_3B | 0.055 | 0.000 |
| predicted_AB | 3.848 | 0.000 |
| predicted_AVG | 0.277 | -0.007 |
| predicted_BB | 0.208 | -0.002 |
| predicted_H | 1.064 | -0.028 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.117 | -0.003 |
| predicted_OBP | 0.314 | -0.009 |
| predicted_R | 0.584 | -0.028 |
| predicted_RBI | 0.554 | -0.027 |
| predicted_SLG | 0.458 | -0.010 |
| predicted_SO | 0.700 | 0.007 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.277 HR/AB=0.030
| 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=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 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 |
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.238 |
| predicted_3B | 0.000 | -0.055 |
| predicted_AB | 4.000 | 0.152 |
| predicted_AVG | 0.250 | -0.027 |
| predicted_BB | 0.000 | -0.208 |
| predicted_H | 1.000 | -0.064 |
| predicted_HR | 0.000 | -0.117 |
| predicted_OBP | 0.250 | -0.064 |
| predicted_R | 1.000 | 0.416 |
| predicted_RBI | 1.000 | 0.446 |
| predicted_SLG | 0.250 | -0.208 |
| predicted_SO | 1.000 | 0.300 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | - | 20.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 4.000 | 0.2000 | 0.2727 | 0.2500 | 0.2000 | 0.0000 | 0.0500 | 0.1000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 2.000 | 0.000 | 2.000 | 4.000 | 9.000 | 3.000 | 5.000 | 0.2683 | 0.3182 | 0.4634 | 0.2683 | 0.0488 | 0.0976 | 0.0732 | 0.1220 |
| season | 0.60 | 105 | - | 400.000 | 118.000 | 26.000 | 7.000 | 13.000 | 67.000 | 60.000 | 19.000 | 73.000 | 0.2950 | 0.3310 | 0.4925 | 0.2950 | 0.0325 | 0.1675 | 0.0475 | 0.1825 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2260 |
| predicted_3B | 0.0390 |
| predicted_AB | 3.8990 |
| predicted_AVG | 0.2692 |
| predicted_BB | 0.2480 |
| predicted_H | 1.0490 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.1160 |
| predicted_OBP | 0.3160 |
| predicted_R | 0.6670 |
| predicted_RBI | 0.5060 |
| predicted_SLG | 0.4362 |
| predicted_SO | 0.6910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2480 | 0.2260 | 0.2385 | model_form_blend |
| predicted_3B | 0.0670 | 0.0390 | 0.0549 | model_form_blend |
| predicted_AB | 3.8100 | 3.8990 | 3.8483 | model_form_blend |
| predicted_AVG | 0.2950 | 0.2692 | 0.2839 | model_form_blend |
| predicted_BB | 0.1810 | 0.2480 | 0.2099 | model_form_blend |
| predicted_H | 1.1240 | 1.0490 | 1.0917 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.1240 | 0.1160 | 0.1206 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3160 | 0.3223 | model_form_blend |
| predicted_R | 0.5710 | 0.6670 | 0.6124 | model_form_blend |
| predicted_RBI | 0.6380 | 0.5060 | 0.5811 | model_form_blend |
| predicted_SLG | 0.4920 | 0.4362 | 0.4680 | model_form_blend |
| predicted_SO | 0.6950 | 0.6910 | 0.6933 | 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 | 356 |
| Season rows before report date | 356 |
| Report year | 2026 |
| Profile rows used | 105 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.295 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 664983 |
| playerID | 664983 |
| playerName | Jake McCarthy |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.355 |
| sl_xwoba | 0.317 |
| sl_xba | 0.274 |
| sl_xslg | 0.405 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 26.6 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 57.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.291 | 1.000 | 0.000 | Hitting_2B | 0.248 | 1.000 | 0.752 | 0.000 |
| predicted_3B | 0.055 | 0.000 | 0.000 | Hitting_3B | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_AB | 3.527 | 5.000 | 4.000 | Hitting_AB | 3.565 | 5.000 | 1.435 | 0.000 |
| predicted_AVG | 0.284 | 0.200 | 0.250 | Hitting_AVG | 0.296 | 0.200 | -0.096 | 0.000 |
| predicted_BB | 0.436 | 0.000 | 0.000 | Hitting_BB | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Hitting_H | 1.056 | 1.000 | -0.056 | 0.000 |
| predicted_HR | 0.091 | 0.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_OBP | 0.362 | 0.200 | 0.250 | Hitting_OBP | 0.370 | 0.200 | -0.170 | 0.000 |
| predicted_R | 0.636 | 0.000 | 1.000 | Hitting_R | 0.814 | 0.000 | -0.814 | 0.000 |
| predicted_RBI | 0.618 | 0.000 | 1.000 | Hitting_RBI | 0.739 | 1.000 | -0.739 | -1.000 |
| predicted_SLG | 0.474 | 0.400 | 0.250 | Hitting_SLG | 0.503 | 0.400 | -0.103 | 0.000 |
| predicted_SO | 0.836 | 3.000 | 1.000 | Hitting_SO | 0.807 | 1.000 | 2.193 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.8360 -> 3.0000 (boost 2.1640, worse) |
| Biggest Deboost | predicted_R: 0.6360 -> 0.0000 (deboost -0.6360, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 1 | 4 | predicted_AB: 3.5270 -> 3.6318 (boost 0.1048, better) | predicted_R: 0.6360 -> 0.5595 (deboost -0.0765, 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.3476 -> 0.3360 (deboost -0.0116, 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.5949 -> 1.0000 (boost 0.4051, better) | predicted_BB: 0.4001 -> 0.0000 (deboost -0.4001, worse) | AB rounded to 4 (raw=3.63), rates preserved: AVG=0.263 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5336 -> 1.0000 (boost 0.4664, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4379 -> 0.2500 (deboost -0.1879, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 2 | 3 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4379 (boost 0.1879, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694249",
"player_name": "Cole Carrigg",
"position": "CF",
"team": "COL",
"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.291,
"predicted_3B": 0.055,
"predicted_AB": 3.527,
"predicted_AVG": 0.284,
"predicted_BB": 0.436,
"predicted_H": 1.0,
"predicted_HR": 0.091,
"predicted_OBP": 0.362,
"predicted_R": 0.636,
"predicted_RBI": 0.618,
"predicted_SLG": 0.474,
"predicted_SO": 0.836
},
"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.3076,
"predicted_3B": 0.0459,
"predicted_AB": 3.6318,
"predicted_AVG": 0.2705,
"predicted_BB": 0.404,
"predicted_H": 0.9796,
"predicted_HBP": 0.093,
"predicted_HR": 0.081,
"predicted_OBP": 0.3476,
"predicted_R": 0.5595,
"predicted_RBI": 0.6238,
"predicted_SLG": 0.4473,
"predicted_SO": 0.8605
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.291,
"after": 0.3076,
"delta": 0.0166,
"percent_delta": 0.057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.055,
"after": 0.0459,
"delta": -0.0091,
"percent_delta": -0.1655,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.527,
"after": 3.6318,
"delta": 0.1048,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.284,
"after": 0.2705,
"delta": -0.0135,
"percent_delta": -0.0475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.436,
"after": 0.404,
"delta": -0.032,
"percent_delta": -0.0734,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9796,
"delta": -0.0204,
"percent_delta": -0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.091,
"after": 0.081,
"delta": -0.01,
"percent_delta": -0.1099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3476,
"delta": -0.0144,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.636,
"after": 0.5595,
"delta": -0.0765,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.618,
"after": 0.6238,
"delta": 0.0058,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.474,
"after": 0.4473,
"delta": -0.0267,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.836,
"after": 0.8605,
"delta": 0.0245,
"percent_delta": 0.0293,
"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_AB",
"before": 3.527,
"after": 3.6318,
"delta": 0.1048,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.636,
"after": 0.5595,
"delta": -0.0765,
"percent_delta": -0.1203,
"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": 55
}
},
{
"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.3076,
"predicted_3B": 0.0459,
"predicted_AB": 3.6318,
"predicted_AVG": 0.2629,
"predicted_BB": 0.4001,
"predicted_H": 0.9548,
"predicted_HBP": 0.093,
"predicted_HR": 0.0787,
"predicted_OBP": 0.336,
"predicted_R": 0.5336,
"predicted_RBI": 0.5949,
"predicted_SLG": 0.4379,
"predicted_SO": 0.8688
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3076,
"after": 0.3076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0459,
"after": 0.0459,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6318,
"after": 3.6318,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2705,
"after": 0.2629,
"delta": -0.0076,
"percent_delta": -0.0281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 0.4001,
"delta": -0.0039,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9796,
"after": 0.9548,
"delta": -0.0248,
"percent_delta": -0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.081,
"after": 0.0787,
"delta": -0.0023,
"percent_delta": -0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3476,
"after": 0.336,
"delta": -0.0116,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5595,
"after": 0.5336,
"delta": -0.0259,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6238,
"after": 0.5949,
"delta": -0.0289,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4473,
"after": 0.4379,
"delta": -0.0094,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8605,
"after": 0.8688,
"delta": 0.0083,
"percent_delta": 0.0096,
"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.3476,
"after": 0.336,
"delta": -0.0116,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.63), rates preserved: AVG=0.263 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3076,
"after": 0.0,
"delta": -0.3076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0459,
"after": 0.0,
"delta": -0.0459,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6318,
"after": 4.0,
"delta": 0.3682,
"percent_delta": 0.1014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4001,
"after": 0.0,
"delta": -0.4001,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9548,
"after": 1.0,
"delta": 0.0452,
"percent_delta": 0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0787,
"after": 0.0,
"delta": -0.0787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5949,
"after": 1.0,
"delta": 0.4051,
"percent_delta": 0.681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8688,
"after": 1.0,
"delta": 0.1312,
"percent_delta": 0.151,
"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.5949,
"after": 1.0,
"delta": 0.4051,
"percent_delta": 0.681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4001,
"after": 0.0,
"delta": -0.4001,
"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.5336,
"after": 1.0,
"delta": 0.4664,
"percent_delta": 0.8741,
"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.5336,
"after": 1.0,
"delta": 0.4664,
"percent_delta": 0.8741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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.2629,
"after": 0.25,
"delta": -0.0129,
"percent_delta": -0.0491,
"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.336,
"after": 0.25,
"delta": -0.086,
"percent_delta": -0.256,
"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.4379,
"after": 0.25,
"delta": -0.1879,
"percent_delta": -0.4291,
"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.4379,
"after": 0.25,
"delta": -0.1879,
"percent_delta": -0.4291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2629,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.336,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4379,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2629,
"delta": 0.0129,
"percent_delta": 0.0516,
"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.25,
"after": 0.336,
"delta": 0.086,
"percent_delta": 0.3442,
"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.25,
"after": 0.4379,
"delta": 0.1879,
"percent_delta": 0.7516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4379,
"delta": 0.1879,
"percent_delta": 0.7516,
"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.291,
"after": 1.0,
"delta": 0.709,
"percent_delta": 2.4364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.055,
"after": 0.0,
"delta": -0.055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.527,
"after": 5.0,
"delta": 1.473,
"percent_delta": 0.4176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.284,
"after": 0.2629,
"delta": -0.0211,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.436,
"after": 0.0,
"delta": -0.436,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.336,
"delta": -0.026,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.636,
"after": 0.0,
"delta": -0.636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.618,
"after": 0.0,
"delta": -0.618,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.474,
"after": 0.4379,
"delta": -0.0361,
"percent_delta": -0.0762,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.836,
"after": 3.0,
"delta": 2.164,
"percent_delta": 2.5885,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.836,
"after": 3.0,
"delta": 2.164,
"percent_delta": 2.5885,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.636,
"after": 0.0,
"delta": -0.636,
"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.291 | - |
| predicted_3B | 0.055 | - |
| predicted_AB | 3.527 | - |
| predicted_AVG | 0.284 | - |
| predicted_BB | 0.436 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.091 | - |
| predicted_OBP | 0.362 | - |
| predicted_R | 0.636 | - |
| predicted_RBI | 0.618 | - |
| predicted_SLG | 0.474 | - |
| predicted_SO | 0.836 | - |
Final model 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.308 | 0.017 |
| predicted_3B | 0.046 | -0.009 |
| predicted_AB | 3.632 | 0.105 |
| predicted_AVG | 0.271 | -0.013 |
| predicted_BB | 0.404 | -0.032 |
| predicted_H | 0.980 | -0.020 |
| predicted_HBP | 0.093 | - |
| predicted_HR | 0.081 | -0.010 |
| predicted_OBP | 0.348 | -0.014 |
| predicted_R | 0.559 | -0.077 |
| predicted_RBI | 0.624 | 0.006 |
| predicted_SLG | 0.447 | -0.027 |
| predicted_SO | 0.861 | 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.308 | 0.000 |
| predicted_3B | 0.046 | 0.000 |
| predicted_AB | 3.632 | 0.000 |
| predicted_AVG | 0.263 | -0.008 |
| predicted_BB | 0.400 | -0.004 |
| predicted_H | 0.955 | -0.025 |
| predicted_HBP | 0.093 | 0.000 |
| predicted_HR | 0.079 | -0.002 |
| predicted_OBP | 0.336 | -0.012 |
| predicted_R | 0.534 | -0.026 |
| predicted_RBI | 0.595 | -0.029 |
| predicted_SLG | 0.438 | -0.009 |
| predicted_SO | 0.869 | 0.008 |
AB rounded to 4 (raw=3.63), rates preserved: AVG=0.263 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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 |
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.308 |
| predicted_3B | 0.000 | -0.046 |
| predicted_AB | 4.000 | 0.368 |
| predicted_AVG | 0.250 | -0.013 |
| predicted_BB | 0.000 | -0.400 |
| predicted_H | 1.000 | 0.045 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.250 | -0.086 |
| predicted_R | 1.000 | 0.466 |
| predicted_RBI | 1.000 | 0.405 |
| predicted_SLG | 0.250 | -0.188 |
| predicted_SO | 1.000 | 0.131 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 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 | - | 21.000 | 4.000 | 2.000 | 0.000 | 0.000 | 4.000 | 0.000 | 1.000 | 5.000 | 0.1905 | 0.2609 | 0.2857 | 0.1905 | 0.0000 | 0.1905 | 0.0476 | 0.2381 |
| last_10 | 0.20 | 10 | - | 41.000 | 9.000 | 5.000 | 0.000 | 0.000 | 6.000 | 2.000 | 3.000 | 10.000 | 0.2195 | 0.2889 | 0.3415 | 0.2195 | 0.0000 | 0.1463 | 0.0732 | 0.2439 |
| season | 0.60 | 55 | - | 194.000 | 55.000 | 16.000 | 3.000 | 5.000 | 34.000 | 35.000 | 24.000 | 46.000 | 0.2835 | 0.3673 | 0.4742 | 0.2835 | 0.0258 | 0.1753 | 0.1237 | 0.2371 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3310 |
| predicted_3B | 0.0330 |
| predicted_AB | 3.7790 |
| predicted_AVG | 0.2516 |
| predicted_BB | 0.3590 |
| predicted_H | 0.9510 |
| predicted_HBP | 0.0930 |
| predicted_HR | 0.0670 |
| predicted_OBP | 0.3274 |
| predicted_R | 0.4520 |
| predicted_RBI | 0.6320 |
| predicted_SLG | 0.4098 |
| predicted_SO | 0.8950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2910 | 0.3310 | 0.3076 | model_form_blend |
| predicted_3B | 0.0550 | 0.0330 | 0.0459 | model_form_blend |
| predicted_AB | 3.5270 | 3.7790 | 3.6318 | model_form_blend |
| predicted_AVG | 0.2840 | 0.2516 | 0.2705 | model_form_blend |
| predicted_BB | 0.4360 | 0.3590 | 0.4040 | model_form_blend |
| predicted_H | 1.0000 | 0.9510 | 0.9796 | model_form_blend |
| predicted_HBP | - | 0.0930 | 0.0930 | form_only |
| predicted_HR | 0.0910 | 0.0670 | 0.0810 | model_form_blend |
| predicted_OBP | 0.3620 | 0.3274 | 0.3476 | model_form_blend |
| predicted_R | 0.6360 | 0.4520 | 0.5595 | model_form_blend |
| predicted_RBI | 0.6180 | 0.6320 | 0.6238 | model_form_blend |
| predicted_SLG | 0.4740 | 0.4098 | 0.4473 | model_form_blend |
| predicted_SO | 0.8360 | 0.8950 | 0.8605 | 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 | 161 |
| Season rows before report date | 161 |
| Report year | 2026 |
| Profile rows used | 55 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.284 |
| 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| 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 | 2 |
| 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 | CF-SS |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 694249 |
| playerID | 694249 |
| playerName | Cole Carrigg |
| pos | OF |
| started | True |
| startingPosition | CF |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.362 |
| sl_xwoba | 0.33 |
| sl_xba | 0.263 |
| sl_xslg | 0.392 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 32.7 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 51.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.197 | 0.000 | 0.000 | Hitting_2B | 0.286 | 1.000 | -0.286 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.085 | 5.000 | 3.000 | Hitting_AB | 2.714 | 3.000 | 2.286 | 2.000 |
| predicted_AVG | 0.205 | 0.200 | 0.333 | Hitting_AVG | 0.211 | 0.333 | -0.011 | -0.133 |
| predicted_BB | 0.394 | 0.000 | 0.000 | Hitting_BB | 0.571 | 0.000 | -0.571 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.634 | 1.000 | 1.000 | Hitting_H | 0.571 | 1.000 | 0.429 | 0.000 |
| predicted_HR | 0.056 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.296 | 0.200 | 0.333 | Hitting_OBP | 0.348 | 0.333 | -0.148 | -0.133 |
| predicted_R | 0.282 | 1.000 | 0.000 | Hitting_R | 0.429 | 0.000 | 0.571 | 1.000 |
| predicted_RBI | 0.239 | 1.000 | 0.000 | Hitting_RBI | 0.143 | 1.000 | 0.857 | 0.000 |
| predicted_SLG | 0.324 | 0.200 | 0.333 | Hitting_SLG | 0.316 | 0.667 | -0.116 | -0.467 |
| predicted_SO | 1.056 | 1.000 | 1.000 | Hitting_SO | 0.714 | 1.000 | 0.286 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 8 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_AB: 3.0850 -> 5.0000 (boost 1.9150, better) |
| Biggest Deboost | predicted_BB: 0.3940 -> 0.0000 (deboost -0.3940, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 4 | 0 | predicted_OBP: 0.2960 -> 0.3065 (boost 0.0105, better) | predicted_SO: 1.0560 -> 0.9939 (deboost -0.0621, 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.3065 -> 0.2956 (deboost -0.0109, 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 | 1 | 5 | predicted_H: 0.6331 -> 1.0000 (boost 0.3669, better) | predicted_BB: 0.3881 -> 0.0000 (deboost -0.3881, worse) | AB rounded to 3 (raw=3.08), rates preserved: AVG=0.205 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3034 -> 0.0000 (deboost -0.3034, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2065 -> 0.3330 (boost 0.1265, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2065 (deboost -0.1265, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681393",
"player_name": "Connor Norby",
"position": "3B",
"team": "COL",
"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.197,
"predicted_3B": 0.0,
"predicted_AB": 3.085,
"predicted_AVG": 0.205,
"predicted_BB": 0.394,
"predicted_H": 0.634,
"predicted_HR": 0.056,
"predicted_OBP": 0.296,
"predicted_R": 0.282,
"predicted_RBI": 0.239,
"predicted_SLG": 0.324,
"predicted_SO": 1.056
},
"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.2142,
"predicted_3B": 0.0004,
"predicted_AB": 3.0661,
"predicted_AVG": 0.2116,
"predicted_BB": 0.3919,
"predicted_H": 0.6495,
"predicted_HBP": 0.062,
"predicted_HR": 0.0497,
"predicted_OBP": 0.3065,
"predicted_R": 0.3181,
"predicted_RBI": 0.2335,
"predicted_SLG": 0.3308,
"predicted_SO": 0.9939
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.197,
"after": 0.2142,
"delta": 0.0172,
"percent_delta": 0.0873,
"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.085,
"after": 3.0661,
"delta": -0.0189,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2116,
"delta": 0.0066,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.3919,
"delta": -0.0021,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.634,
"after": 0.6495,
"delta": 0.0155,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.056,
"after": 0.0497,
"delta": -0.0063,
"percent_delta": -0.1125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3065,
"delta": 0.0105,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.282,
"after": 0.3181,
"delta": 0.0361,
"percent_delta": 0.128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.239,
"after": 0.2335,
"delta": -0.0055,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.324,
"after": 0.3308,
"delta": 0.0068,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.056,
"after": 0.9939,
"delta": -0.0621,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3065,
"delta": 0.0105,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.056,
"after": 0.9939,
"delta": -0.0621,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"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.2142,
"predicted_3B": 0.0004,
"predicted_AB": 3.0661,
"predicted_AVG": 0.2065,
"predicted_BB": 0.3881,
"predicted_H": 0.6331,
"predicted_HBP": 0.062,
"predicted_HR": 0.0483,
"predicted_OBP": 0.2956,
"predicted_R": 0.3034,
"predicted_RBI": 0.2227,
"predicted_SLG": 0.3238,
"predicted_SO": 1.0035
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2142,
"after": 0.2142,
"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.0661,
"after": 3.0661,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2116,
"after": 0.2065,
"delta": -0.0051,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3919,
"after": 0.3881,
"delta": -0.0038,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6495,
"after": 0.6331,
"delta": -0.0164,
"percent_delta": -0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.062,
"after": 0.062,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0497,
"after": 0.0483,
"delta": -0.0014,
"percent_delta": -0.0282,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3065,
"after": 0.2956,
"delta": -0.0109,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3181,
"after": 0.3034,
"delta": -0.0147,
"percent_delta": -0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2335,
"after": 0.2227,
"delta": -0.0108,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3308,
"after": 0.3238,
"delta": -0.007,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9939,
"after": 1.0035,
"delta": 0.0096,
"percent_delta": 0.0097,
"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.3065,
"after": 0.2956,
"delta": -0.0109,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.08), rates preserved: AVG=0.205 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2142,
"after": 0.0,
"delta": -0.2142,
"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.0661,
"after": 3.0,
"delta": -0.0661,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3881,
"after": 0.0,
"delta": -0.3881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6331,
"after": 1.0,
"delta": 0.3669,
"percent_delta": 0.5795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0483,
"after": 0.0,
"delta": -0.0483,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2227,
"after": 0.0,
"delta": -0.2227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0035,
"after": 1.0,
"delta": -0.0035,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6331,
"after": 1.0,
"delta": 0.3669,
"percent_delta": 0.5795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3881,
"after": 0.0,
"delta": -0.3881,
"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.3034,
"after": 0.0,
"delta": -0.3034,
"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.3034,
"after": 0.0,
"delta": -0.3034,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2065,
"after": 0.333,
"delta": 0.1265,
"percent_delta": 0.6126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2956,
"after": 0.333,
"delta": 0.0374,
"percent_delta": 0.1265,
"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.3238,
"after": 0.333,
"delta": 0.0092,
"percent_delta": 0.0284,
"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.2065,
"after": 0.333,
"delta": 0.1265,
"percent_delta": 0.6126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2065,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2956,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3238,
"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": 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.333,
"after": 0.2065,
"delta": -0.1265,
"percent_delta": -0.38,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2956,
"delta": -0.0374,
"percent_delta": -0.1122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3238,
"delta": -0.0092,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2065,
"delta": -0.1265,
"percent_delta": -0.38,
"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.197,
"after": 0.0,
"delta": -0.197,
"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.085,
"after": 5.0,
"delta": 1.915,
"percent_delta": 0.6207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2065,
"delta": 0.0015,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.634,
"after": 1.0,
"delta": 0.366,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2956,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.282,
"after": 1.0,
"delta": 0.718,
"percent_delta": 2.5461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.239,
"after": 1.0,
"delta": 0.761,
"percent_delta": 3.1841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.324,
"after": 0.3238,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.056,
"after": 1.0,
"delta": -0.056,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.085,
"after": 5.0,
"delta": 1.915,
"percent_delta": 0.6207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"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.197 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.085 | - |
| predicted_AVG | 0.205 | - |
| predicted_BB | 0.394 | - |
| predicted_H | 0.634 | - |
| predicted_HR | 0.056 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.282 | - |
| predicted_RBI | 0.239 | - |
| predicted_SLG | 0.324 | - |
| predicted_SO | 1.056 | - |
Final model 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.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.066 | -0.019 |
| predicted_AVG | 0.212 | 0.007 |
| predicted_BB | 0.392 | -0.002 |
| predicted_H | 0.649 | 0.015 |
| predicted_HBP | 0.062 | - |
| predicted_HR | 0.050 | -0.006 |
| predicted_OBP | 0.306 | 0.011 |
| predicted_R | 0.318 | 0.036 |
| predicted_RBI | 0.234 | -0.005 |
| predicted_SLG | 0.331 | 0.007 |
| predicted_SO | 0.994 | -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.214 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.066 | 0.000 |
| predicted_AVG | 0.206 | -0.005 |
| predicted_BB | 0.388 | -0.004 |
| predicted_H | 0.633 | -0.016 |
| predicted_HBP | 0.062 | 0.000 |
| predicted_HR | 0.048 | -0.001 |
| predicted_OBP | 0.296 | -0.011 |
| predicted_R | 0.303 | -0.015 |
| predicted_RBI | 0.223 | -0.011 |
| predicted_SLG | 0.324 | -0.007 |
| predicted_SO | 1.004 | 0.010 |
AB rounded to 3 (raw=3.08), rates preserved: AVG=0.205 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
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 |
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.000 |
| predicted_AB | 3.000 | -0.066 |
| predicted_AVG | 0.333 | 0.127 |
| predicted_BB | 0.000 | -0.388 |
| predicted_H | 1.000 | 0.367 |
| predicted_HR | 0.000 | -0.048 |
| predicted_OBP | 0.333 | 0.037 |
| predicted_R | 0.000 | -0.303 |
| predicted_RBI | 0.000 | -0.223 |
| predicted_SLG | 0.333 | 0.009 |
| predicted_SO | 1.000 | -0.004 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.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 | 5.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 | - | 14.000 | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 0.2857 | 0.3750 | 0.4286 | 0.2857 | 0.0000 | 0.0714 | 0.1429 | 0.2143 |
| last_10 | 0.20 | 10 | - | 27.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 8.000 | 0.1852 | 0.2903 | 0.2593 | 0.1852 | 0.0000 | 0.0370 | 0.1482 | 0.2963 |
| season | 0.60 | 71 | - | 219.000 | 45.000 | 14.000 | 0.000 | 4.000 | 17.000 | 20.000 | 28.000 | 75.000 | 0.2055 | 0.3164 | 0.3242 | 0.2055 | 0.0183 | 0.0776 | 0.1278 | 0.3425 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2380 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.0400 |
| predicted_AVG | 0.2207 |
| predicted_BB | 0.3890 |
| predicted_H | 0.6710 |
| predicted_HBP | 0.0620 |
| predicted_HR | 0.0410 |
| predicted_OBP | 0.3211 |
| predicted_R | 0.3680 |
| predicted_RBI | 0.2260 |
| predicted_SLG | 0.3401 |
| predicted_SO | 0.9080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1970 | 0.2380 | 0.2142 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0850 | 3.0400 | 3.0661 | model_form_blend |
| predicted_AVG | 0.2050 | 0.2207 | 0.2116 | model_form_blend |
| predicted_BB | 0.3940 | 0.3890 | 0.3919 | model_form_blend |
| predicted_H | 0.6340 | 0.6710 | 0.6495 | model_form_blend |
| predicted_HBP | - | 0.0620 | 0.0620 | form_only |
| predicted_HR | 0.0560 | 0.0410 | 0.0497 | model_form_blend |
| predicted_OBP | 0.2960 | 0.3211 | 0.3065 | model_form_blend |
| predicted_R | 0.2820 | 0.3680 | 0.3181 | model_form_blend |
| predicted_RBI | 0.2390 | 0.2260 | 0.2335 | model_form_blend |
| predicted_SLG | 0.3240 | 0.3401 | 0.3308 | model_form_blend |
| predicted_SO | 1.0560 | 0.9080 | 0.9939 | 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 | 7 |
| Season rows before report date | 7 |
| Report year | 2026 |
| Profile rows used | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.205 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| 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 | 2B |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 681393 |
| playerID | 681393 |
| playerName | Connor Norby |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 29.3 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.294 |
| sl_xwoba | 0.29 |
| sl_xba | 0.193 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 36.6 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 18.8 |
| sl_whiff_percent | 32.0 |
| sl_swing_percent | 49.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.167 | 0.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 5.000 | 3.000 | Hitting_AB | 2.500 | 1.000 | 2.500 | 4.000 |
| predicted_AVG | 0.450 | 0.200 | 0.333 | Hitting_AVG | 0.333 | 1.000 | -0.133 | -0.800 |
| predicted_BB | 0.167 | 0.000 | 0.000 | Hitting_BB | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.430 | 1.000 | 1.000 | Hitting_H | 0.833 | 1.000 | 0.167 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_OBP | 0.450 | 0.200 | 0.333 | Hitting_OBP | 0.375 | 1.000 | -0.175 | -0.800 |
| predicted_R | 0.500 | 1.000 | 0.000 | Hitting_R | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_RBI | 0.420 | 1.000 | 1.000 | Hitting_RBI | 1.167 | 1.000 | -0.167 | 0.000 |
| predicted_SLG | 0.588 | 0.200 | 0.333 | Hitting_SLG | 0.800 | 1.000 | -0.600 | -0.800 |
| predicted_SO | 0.833 | 1.000 | 1.000 | Hitting_SO | 0.833 | 0.000 | 0.167 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.5000 -> 5.0000 (boost 2.5000, better) |
| Biggest Deboost | predicted_AVG: 0.4500 -> 0.2003 (deboost -0.2497, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 3 | 3 | 3 | 3 | predicted_AB: 2.5000 -> 2.7126 (boost 0.2126, better) | predicted_AVG: 0.4500 -> 0.4054 (deboost -0.0446, 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.5668 -> 0.3568 (deboost -0.2100, 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.4858 -> 1.0000 (boost 0.5142, better) | predicted_BB: 0.1852 -> 0.0000 (deboost -0.1852, worse) | AB rounded to 3 (raw=2.71), rates preserved: AVG=0.200 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4727 -> 0.0000 (deboost -0.4727, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2003 -> 0.3330 (boost 0.1327, better) | predicted_SLG: 0.3568 -> 0.3330 (deboost -0.0238, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3568 (boost 0.0238, better) | predicted_AVG: 0.3330 -> 0.2003 (deboost -0.1327, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691728",
"player_name": "Zac Veen",
"position": "LF",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.45,
"predicted_BB": 0.167,
"predicted_H": 0.43,
"predicted_HR": 0.05,
"predicted_OBP": 0.45,
"predicted_R": 0.5,
"predicted_RBI": 0.42,
"predicted_SLG": 0.588,
"predicted_SO": 0.833
},
"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.1745,
"predicted_3B": 0.0023,
"predicted_AB": 2.7126,
"predicted_AVG": 0.4054,
"predicted_BB": 0.187,
"predicted_H": 0.5575,
"predicted_HBP": 0.018,
"predicted_HR": 0.0842,
"predicted_OBP": 0.4195,
"predicted_R": 0.4956,
"predicted_RBI": 0.5094,
"predicted_SLG": 0.5668,
"predicted_SO": 0.8421
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1745,
"delta": 0.0075,
"percent_delta": 0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0023,
"delta": 0.0023,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7126,
"delta": 0.2126,
"percent_delta": 0.085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.45,
"after": 0.4054,
"delta": -0.0446,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.187,
"delta": 0.02,
"percent_delta": 0.1198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.43,
"after": 0.5575,
"delta": 0.1275,
"percent_delta": 0.2965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0842,
"delta": 0.0342,
"percent_delta": 0.684,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.45,
"after": 0.4195,
"delta": -0.0305,
"percent_delta": -0.0678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4956,
"delta": -0.0044,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.5094,
"delta": 0.0894,
"percent_delta": 0.2129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.588,
"after": 0.5668,
"delta": -0.0212,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.8421,
"delta": 0.0091,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7126,
"delta": 0.2126,
"percent_delta": 0.085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.45,
"after": 0.4054,
"delta": -0.0446,
"percent_delta": -0.0991,
"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": 6,
"season": 6
}
},
{
"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.1745,
"predicted_3B": 0.0023,
"predicted_AB": 2.7126,
"predicted_AVG": 0.2003,
"predicted_BB": 0.1852,
"predicted_H": 0.5434,
"predicted_HBP": 0.018,
"predicted_HR": 0.0818,
"predicted_OBP": 0.2514,
"predicted_R": 0.4727,
"predicted_RBI": 0.4858,
"predicted_SLG": 0.3568,
"predicted_SO": 0.8503
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1745,
"after": 0.1745,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7126,
"after": 2.7126,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.4054,
"after": 0.2003,
"delta": -0.2051,
"percent_delta": -0.5059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.187,
"after": 0.1852,
"delta": -0.0018,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5575,
"after": 0.5434,
"delta": -0.0141,
"percent_delta": -0.0253,
"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.0842,
"after": 0.0818,
"delta": -0.0024,
"percent_delta": -0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4195,
"after": 0.2514,
"delta": -0.1681,
"percent_delta": -0.4007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4956,
"after": 0.4727,
"delta": -0.0229,
"percent_delta": -0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5094,
"after": 0.4858,
"delta": -0.0236,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5668,
"after": 0.3568,
"delta": -0.21,
"percent_delta": -0.3705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8421,
"after": 0.8503,
"delta": 0.0082,
"percent_delta": 0.0097,
"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.5668,
"after": 0.3568,
"delta": -0.21,
"percent_delta": -0.3705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.71), rates preserved: AVG=0.200 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1745,
"after": 0.0,
"delta": -0.1745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0,
"delta": -0.0023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7126,
"after": 3.0,
"delta": 0.2874,
"percent_delta": 0.106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1852,
"after": 0.0,
"delta": -0.1852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5434,
"after": 1.0,
"delta": 0.4566,
"percent_delta": 0.8403,
"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.0818,
"after": 0.0,
"delta": -0.0818,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4858,
"after": 1.0,
"delta": 0.5142,
"percent_delta": 1.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8503,
"after": 1.0,
"delta": 0.1497,
"percent_delta": 0.1761,
"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.4858,
"after": 1.0,
"delta": 0.5142,
"percent_delta": 1.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.1852,
"after": 0.0,
"delta": -0.1852,
"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": 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.4727,
"after": 0.0,
"delta": -0.4727,
"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.4727,
"after": 0.0,
"delta": -0.4727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2003,
"after": 0.333,
"delta": 0.1327,
"percent_delta": 0.6625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2514,
"after": 0.333,
"delta": 0.0816,
"percent_delta": 0.3246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3568,
"after": 0.333,
"delta": -0.0238,
"percent_delta": -0.0667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2003,
"after": 0.333,
"delta": 0.1327,
"percent_delta": 0.6625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3568,
"after": 0.333,
"delta": -0.0238,
"percent_delta": -0.0667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2003,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2514,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3568,
"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.333,
"after": 0.2003,
"delta": -0.1327,
"percent_delta": -0.3984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2514,
"delta": -0.0816,
"percent_delta": -0.245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3568,
"delta": 0.0238,
"percent_delta": 0.0716,
"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.333,
"after": 0.3568,
"delta": 0.0238,
"percent_delta": 0.0716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2003,
"delta": -0.1327,
"percent_delta": -0.3984,
"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.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.45,
"after": 0.2003,
"delta": -0.2497,
"percent_delta": -0.5549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.43,
"after": 1.0,
"delta": 0.57,
"percent_delta": 1.3256,
"direction": "boost",
"projection_effect": "better",
"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.45,
"after": 0.2514,
"delta": -0.1986,
"percent_delta": -0.4413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.588,
"after": 0.3568,
"delta": -0.2312,
"percent_delta": -0.3932,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 1.0,
"delta": 0.167,
"percent_delta": 0.2005,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.45,
"after": 0.2003,
"delta": -0.2497,
"percent_delta": -0.5549,
"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.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.450 | - |
| predicted_BB | 0.167 | - |
| predicted_H | 0.430 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.450 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.588 | - |
| predicted_SO | 0.833 | - |
Final model 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.174 | 0.007 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.713 | 0.213 |
| predicted_AVG | 0.405 | -0.045 |
| predicted_BB | 0.187 | 0.020 |
| predicted_H | 0.557 | 0.128 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.084 | 0.034 |
| predicted_OBP | 0.419 | -0.031 |
| predicted_R | 0.496 | -0.004 |
| predicted_RBI | 0.509 | 0.089 |
| predicted_SLG | 0.567 | -0.021 |
| predicted_SO | 0.842 | 0.009 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.713 | 0.000 |
| predicted_AVG | 0.200 | -0.205 |
| predicted_BB | 0.185 | -0.002 |
| predicted_H | 0.543 | -0.014 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.082 | -0.002 |
| predicted_OBP | 0.251 | -0.168 |
| predicted_R | 0.473 | -0.023 |
| predicted_RBI | 0.486 | -0.024 |
| predicted_SLG | 0.357 | -0.210 |
| predicted_SO | 0.850 | 0.008 |
AB rounded to 3 (raw=2.71), rates preserved: AVG=0.200 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.174 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.287 |
| predicted_AVG | 0.333 | 0.133 |
| predicted_BB | 0.000 | -0.185 |
| predicted_H | 1.000 | 0.457 |
| predicted_HR | 0.000 | -0.082 |
| predicted_OBP | 0.333 | 0.082 |
| predicted_R | 0.000 | -0.473 |
| predicted_RBI | 1.000 | 0.514 |
| predicted_SLG | 0.333 | -0.024 |
| predicted_SO | 1.000 | 0.150 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.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 | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 4.000 | 1.000 | 0.000 | 1.000 | 5.000 | 2.000 | 1.000 | 4.000 | 0.3333 | 0.3846 | 0.6667 | 0.3333 | 0.0833 | 0.4167 | 0.0833 | 0.3333 |
| last_10 | 0.20 | 6 | - | 15.000 | 5.000 | 1.000 | 0.000 | 2.000 | 7.000 | 3.000 | 1.000 | 5.000 | 0.3333 | 0.3750 | 0.8000 | 0.3333 | 0.1333 | 0.4667 | 0.0667 | 0.3333 |
| season | 0.60 | 6 | - | 15.000 | 5.000 | 1.000 | 0.000 | 2.000 | 7.000 | 3.000 | 1.000 | 5.000 | 0.3333 | 0.3750 | 0.8000 | 0.3333 | 0.1333 | 0.4667 | 0.0667 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1960 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.3200 |
| predicted_AVG | 0.2778 |
| predicted_BB | 0.2440 |
| predicted_H | 0.9220 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.1820 |
| predicted_OBP | 0.3324 |
| predicted_R | 0.4830 |
| predicted_RBI | 0.7650 |
| predicted_SLG | 0.5061 |
| predicted_SO | 0.8680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1960 | 0.1745 | model_form_blend |
| predicted_3B | 0.0000 | 0.0090 | 0.0023 | model_form_blend |
| predicted_AB | 2.5000 | 3.3200 | 2.7126 | model_form_blend |
| predicted_AVG | 0.4500 | 0.2778 | 0.4054 | model_form_blend |
| predicted_BB | 0.1670 | 0.2440 | 0.1870 | model_form_blend |
| predicted_H | 0.4300 | 0.9220 | 0.5575 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0500 | 0.1820 | 0.0842 | model_form_blend |
| predicted_OBP | 0.4500 | 0.3324 | 0.4195 | model_form_blend |
| predicted_R | 0.5000 | 0.4830 | 0.4956 | model_form_blend |
| predicted_RBI | 0.4200 | 0.7650 | 0.5094 | model_form_blend |
| predicted_SLG | 0.5880 | 0.5061 | 0.5668 | model_form_blend |
| predicted_SO | 0.8330 | 0.8680 | 0.8421 | 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 | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 6 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.333 |
| 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 | 1 |
| 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 | PH-LF |
| gameID | 20260818_LAD@COL |
| game_type | ph |
| mlbID | 691728 |
| note | Singled for Norby in the 8th. |
| playerID | 691728 |
| playerName | Zac Veen |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 31.3 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.49 |
| sl_xwoba | 0.412 |
| sl_xba | 0.276 |
| sl_xslg | 0.663 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 20.0 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 20.9 |
| sl_whiff_percent | 35.5 |
| sl_swing_percent | 62.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.196 | 0.000 | 0.000 | Hitting_2B | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 2.946 | 4.000 | 3.000 | Hitting_AB | 3.094 | 1.000 | 0.906 | 3.000 |
| predicted_AVG | 0.218 | 0.250 | 0.333 | Hitting_AVG | 0.240 | 0.000 | 0.010 | 0.250 |
| predicted_BB | 0.143 | 0.000 | 0.000 | Hitting_BB | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.210 | 1.000 | 1.000 | Hitting_H | 0.744 | 0.000 | 0.256 | 1.000 |
| predicted_HR | 0.080 | 1.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | 0.894 | 1.000 |
| predicted_OBP | 0.282 | 0.250 | 0.333 | Hitting_OBP | 0.278 | 0.000 | -0.028 | 0.250 |
| predicted_R | 0.357 | 1.000 | 0.000 | Hitting_R | 0.338 | 0.000 | 0.662 | 1.000 |
| predicted_RBI | 0.240 | 2.000 | 0.000 | Hitting_RBI | 0.431 | 0.000 | 1.569 | 2.000 |
| predicted_SLG | 0.454 | 1.000 | 0.333 | Hitting_SLG | 0.426 | 0.000 | 0.574 | 1.000 |
| predicted_SO | 0.554 | 2.000 | 1.000 | Hitting_SO | 0.588 | 0.000 | 1.413 | 2.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_RBI: 0.2400 -> 2.0000 (boost 1.7600, better) |
| Biggest Deboost | predicted_2B: 0.1960 -> 0.0000 (deboost -0.1960, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 6 | 0 | predicted_H: 0.2100 -> 0.4493 (boost 0.2393, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4772 -> 0.3402 (deboost -0.1370, 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 | 0 | 6 | predicted_SO: 0.5598 -> 1.0000 (boost 0.4402, worse) | predicted_H: 0.4379 -> 0.0000 (deboost -0.4379, worse) | AB rounded to 3 (raw=2.98), rates preserved: AVG=0.147 HR/AB=0.038 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4038 -> 0.0000 (deboost -0.4038, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1468 -> 0.3330 (boost 0.1862, better) | predicted_SLG: 0.3402 -> 0.3330 (deboost -0.0072, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 4 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3402 (boost 0.0072, better) | predicted_AVG: 0.3330 -> 0.1468 (deboost -0.1862, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664954",
"player_name": "Brett Sullivan",
"position": "C",
"team": "COL",
"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.196,
"predicted_3B": 0.018,
"predicted_AB": 2.946,
"predicted_AVG": 0.218,
"predicted_BB": 0.143,
"predicted_H": 0.21,
"predicted_HR": 0.08,
"predicted_OBP": 0.282,
"predicted_R": 0.357,
"predicted_RBI": 0.24,
"predicted_SLG": 0.454,
"predicted_SO": 0.554
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.2042,
"predicted_3B": 0.0151,
"predicted_AB": 2.9831,
"predicted_AVG": 0.236,
"predicted_BB": 0.1801,
"predicted_H": 0.4493,
"predicted_HBP": 0.013,
"predicted_HR": 0.1175,
"predicted_OBP": 0.2929,
"predicted_R": 0.4234,
"predicted_RBI": 0.4096,
"predicted_SLG": 0.4772,
"predicted_SO": 0.5544
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.2042,
"delta": 0.0082,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0151,
"delta": -0.0029,
"percent_delta": -0.1611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.946,
"after": 2.9831,
"delta": 0.0371,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.236,
"delta": 0.018,
"percent_delta": 0.0826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.1801,
"delta": 0.0371,
"percent_delta": 0.2594,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.21,
"after": 0.4493,
"delta": 0.2393,
"percent_delta": 1.1395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1175,
"delta": 0.0375,
"percent_delta": 0.4687,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2929,
"delta": 0.0109,
"percent_delta": 0.0387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.4234,
"delta": 0.0664,
"percent_delta": 0.186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.4096,
"delta": 0.1696,
"percent_delta": 0.7067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4772,
"delta": 0.0232,
"percent_delta": 0.0511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.554,
"after": 0.5544,
"delta": 0.0004,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.21,
"after": 0.4493,
"delta": 0.2393,
"percent_delta": 1.1395,
"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": 56
}
},
{
"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.2042,
"predicted_3B": 0.0151,
"predicted_AB": 2.9831,
"predicted_AVG": 0.1468,
"predicted_BB": 0.1784,
"predicted_H": 0.4379,
"predicted_HBP": 0.013,
"predicted_HR": 0.1142,
"predicted_OBP": 0.1949,
"predicted_R": 0.4038,
"predicted_RBI": 0.3906,
"predicted_SLG": 0.3402,
"predicted_SO": 0.5598
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2042,
"after": 0.2042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0151,
"after": 0.0151,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9831,
"after": 2.9831,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.1468,
"delta": -0.0892,
"percent_delta": -0.378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1801,
"after": 0.1784,
"delta": -0.0017,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4493,
"after": 0.4379,
"delta": -0.0114,
"percent_delta": -0.0254,
"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.1175,
"after": 0.1142,
"delta": -0.0033,
"percent_delta": -0.0281,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2929,
"after": 0.1949,
"delta": -0.098,
"percent_delta": -0.3346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4234,
"after": 0.4038,
"delta": -0.0196,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4096,
"after": 0.3906,
"delta": -0.019,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4772,
"after": 0.3402,
"delta": -0.137,
"percent_delta": -0.2871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5544,
"after": 0.5598,
"delta": 0.0054,
"percent_delta": 0.0097,
"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.4772,
"after": 0.3402,
"delta": -0.137,
"percent_delta": -0.2871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.98), rates preserved: AVG=0.147 HR/AB=0.038",
"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.2042,
"after": 0.0,
"delta": -0.2042,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0151,
"after": 0.0,
"delta": -0.0151,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9831,
"after": 3.0,
"delta": 0.0169,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1784,
"after": 0.0,
"delta": -0.1784,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4379,
"after": 0.0,
"delta": -0.4379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.1142,
"after": 0.0,
"delta": -0.1142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3906,
"after": 0.0,
"delta": -0.3906,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5598,
"after": 1.0,
"delta": 0.4402,
"percent_delta": 0.7864,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5598,
"after": 1.0,
"delta": 0.4402,
"percent_delta": 0.7864,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4379,
"after": 0.0,
"delta": -0.4379,
"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.4038,
"after": 0.0,
"delta": -0.4038,
"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.4038,
"after": 0.0,
"delta": -0.4038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1468,
"after": 0.333,
"delta": 0.1862,
"percent_delta": 1.2684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1949,
"after": 0.333,
"delta": 0.1381,
"percent_delta": 0.7086,
"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.3402,
"after": 0.333,
"delta": -0.0072,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1468,
"after": 0.333,
"delta": 0.1862,
"percent_delta": 1.2684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3402,
"after": 0.333,
"delta": -0.0072,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"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": 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": 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": 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": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"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.1468,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.1949,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3402,
"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.333,
"after": 0.1468,
"delta": -0.1862,
"percent_delta": -0.5591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"after": 0.1949,
"delta": -0.1381,
"percent_delta": -0.4146,
"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": 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.333,
"after": 0.3402,
"delta": 0.0072,
"percent_delta": 0.0216,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3402,
"delta": 0.0072,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1468,
"delta": -0.1862,
"percent_delta": -0.5591,
"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.196,
"after": 0.0,
"delta": -0.196,
"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": 2.946,
"after": 4.0,
"delta": 1.054,
"percent_delta": 0.3578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.1468,
"delta": -0.0712,
"percent_delta": -0.3266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.21,
"after": 1.0,
"delta": 0.79,
"percent_delta": 3.7619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 1.0,
"delta": 0.92,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.1949,
"delta": -0.0871,
"percent_delta": -0.3089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 1.0,
"delta": 0.643,
"percent_delta": 1.8011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 2.0,
"delta": 1.76,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.3402,
"delta": -0.1138,
"percent_delta": -0.2507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.554,
"after": 2.0,
"delta": 1.446,
"percent_delta": 2.6101,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.24,
"after": 2.0,
"delta": 1.76,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.196,
"after": 0.0,
"delta": -0.196,
"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.196 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 2.946 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.143 | - |
| predicted_H | 0.210 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.357 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.454 | - |
| predicted_SO | 0.554 | - |
Final model 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.204 | 0.008 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 2.983 | 0.037 |
| predicted_AVG | 0.236 | 0.018 |
| predicted_BB | 0.180 | 0.037 |
| predicted_H | 0.449 | 0.239 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.117 | 0.037 |
| predicted_OBP | 0.293 | 0.011 |
| predicted_R | 0.423 | 0.066 |
| predicted_RBI | 0.410 | 0.170 |
| predicted_SLG | 0.477 | 0.023 |
| predicted_SO | 0.554 | 0.000 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 2.983 | 0.000 |
| predicted_AVG | 0.147 | -0.089 |
| predicted_BB | 0.178 | -0.002 |
| predicted_H | 0.438 | -0.011 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.114 | -0.003 |
| predicted_OBP | 0.195 | -0.098 |
| predicted_R | 0.404 | -0.020 |
| predicted_RBI | 0.391 | -0.019 |
| predicted_SLG | 0.340 | -0.137 |
| predicted_SO | 0.560 | 0.005 |
AB rounded to 3 (raw=2.98), rates preserved: AVG=0.147 HR/AB=0.038
| 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 |
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.204 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 3.000 | 0.017 |
| predicted_AVG | 0.333 | 0.186 |
| predicted_BB | 0.000 | -0.178 |
| predicted_H | 1.000 | 0.562 |
| predicted_HR | 0.000 | -0.114 |
| predicted_OBP | 0.333 | 0.138 |
| predicted_R | 0.000 | -0.404 |
| predicted_RBI | 0.000 | -0.391 |
| predicted_SLG | 0.333 | -0.007 |
| predicted_SO | 1.000 | 0.440 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.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 | - | 14.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 2.000 | 2.000 | 0.2857 | 0.3529 | 0.5714 | 0.2857 | 0.0714 | 0.2857 | 0.1429 | 0.1429 |
| last_10 | 0.20 | 10 | - | 29.000 | 9.000 | 3.000 | 0.000 | 3.000 | 11.000 | 7.000 | 3.000 | 5.000 | 0.3103 | 0.3636 | 0.7241 | 0.3103 | 0.1035 | 0.3793 | 0.1035 | 0.1724 |
| season | 0.60 | 56 | - | 165.000 | 40.000 | 11.000 | 1.000 | 7.000 | 27.000 | 20.000 | 8.000 | 31.000 | 0.2424 | 0.2768 | 0.4485 | 0.2424 | 0.0424 | 0.1636 | 0.0485 | 0.1879 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2160 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.0370 |
| predicted_AVG | 0.2622 |
| predicted_BB | 0.2340 |
| predicted_H | 0.7970 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1720 |
| predicted_OBP | 0.3088 |
| predicted_R | 0.5200 |
| predicted_RBI | 0.6560 |
| predicted_SLG | 0.5109 |
| predicted_SO | 0.5550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1960 | 0.2160 | 0.2042 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0151 | model_form_blend |
| predicted_AB | 2.9460 | 3.0370 | 2.9831 | model_form_blend |
| predicted_AVG | 0.2180 | 0.2622 | 0.2360 | model_form_blend |
| predicted_BB | 0.1430 | 0.2340 | 0.1801 | model_form_blend |
| predicted_H | 0.2100 | 0.7970 | 0.4493 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0800 | 0.1720 | 0.1175 | model_form_blend |
| predicted_OBP | 0.2820 | 0.3088 | 0.2929 | model_form_blend |
| predicted_R | 0.3570 | 0.5200 | 0.4234 | model_form_blend |
| predicted_RBI | 0.2400 | 0.6560 | 0.4096 | model_form_blend |
| predicted_SLG | 0.4540 | 0.5109 | 0.4772 | model_form_blend |
| predicted_SO | 0.5540 | 0.5550 | 0.5544 | 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 | 160 |
| Season rows before report date | 160 |
| Report year | 2026 |
| Profile rows used | 56 |
| 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 | 2 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.242 |
| 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 | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-C |
| gameID | 20260818_LAD@COL |
| game_type | ph |
| mlbID | 664954 |
| note | Grounded into a forceout for Fulford in the 8th. |
| playerID | 664954 |
| playerName | Brett Sullivan |
| pos | C |
| started | False |
| startingPosition | PH |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 17.2 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.314 |
| sl_xwoba | 0.281 |
| sl_xba | 0.226 |
| sl_xslg | 0.361 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 31.9 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 18.3 |
| sl_swing_percent | 52.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.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 1.500 | 1.000 | 1.500 | 2.000 |
| predicted_AVG | 0.236 | 0.000 | 0.333 | Hitting_AVG | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_BB | 1.250 | 2.000 | 1.000 | Hitting_BB | 0.750 | 0.000 | 1.250 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.140 | 0.000 | 1.000 | Hitting_H | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_OBP | 0.312 | 0.400 | 0.500 | Hitting_OBP | 0.556 | 0.000 | -0.156 | 0.400 |
| predicted_R | 2.083 | 0.000 | 2.000 | Hitting_R | 1.250 | 0.000 | -1.250 | 0.000 |
| predicted_RBI | 0.130 | 0.000 | 0.000 | Hitting_RBI | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.480 | 0.000 | 0.333 | Hitting_SLG | 0.833 | 0.000 | -0.833 | 0.000 |
| predicted_SO | 1.250 | 1.000 | 1.000 | Hitting_SO | 0.750 | 1.000 | 0.250 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 1.2500 -> 2.0000 (boost 0.7500, better) |
| Biggest Deboost | predicted_R: 2.0830 -> 0.0000 (deboost -2.0830, 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 | 9 | 6 | 3 | 7 | 2 | predicted_AB: 2.5000 -> 2.6735 (boost 0.1735, better) | predicted_R: 2.0830 -> 1.8301 (deboost -0.2529, 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 | 4 | 1 | 3 | 1 | 3 | predicted_OBP: 0.3235 -> 0.3675 (boost 0.0440, better) | predicted_SLG: 0.4860 -> 0.2179 (deboost -0.2681, 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_AB: 2.6735 -> 3.0000 (boost 0.3265, better) | predicted_H: 0.2979 -> 0.0000 (deboost -0.2979, worse) | AB rounded to 3 (raw=2.67), rates preserved: AVG=0.111 HR/AB=0.032 |
| 5 | consistency_constraints | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1114 -> 0.3330 (boost 0.2216, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_R: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1114 (deboost -0.2216, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691182",
"player_name": "Adael Amador",
"position": "2B",
"team": "COL",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.236,
"predicted_BB": 1.25,
"predicted_H": 0.14,
"predicted_HR": 0.05,
"predicted_OBP": 0.312,
"predicted_R": 2.083,
"predicted_RBI": 0.13,
"predicted_SLG": 0.48,
"predicted_SO": 1.25
},
"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.0268,
"predicted_3B": 0.0023,
"predicted_AB": 2.6735,
"predicted_AVG": 0.2432,
"predicted_BB": 1.0932,
"predicted_H": 0.3056,
"predicted_HBP": 0.021,
"predicted_HR": 0.0869,
"predicted_OBP": 0.3235,
"predicted_R": 1.8301,
"predicted_RBI": 0.2857,
"predicted_SLG": 0.486,
"predicted_SO": 1.18
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0268,
"delta": 0.0268,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0023,
"delta": 0.0023,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6735,
"delta": 0.1735,
"percent_delta": 0.0694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2432,
"delta": 0.0072,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.25,
"after": 1.0932,
"delta": -0.1568,
"percent_delta": -0.1254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.14,
"after": 0.3056,
"delta": 0.1656,
"percent_delta": 1.1829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0869,
"delta": 0.0369,
"percent_delta": 0.738,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3235,
"delta": 0.0115,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 2.083,
"after": 1.8301,
"delta": -0.2529,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.2857,
"delta": 0.1557,
"percent_delta": 1.1977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.486,
"delta": 0.006,
"percent_delta": 0.0125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.25,
"after": 1.18,
"delta": -0.07,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6735,
"delta": 0.1735,
"percent_delta": 0.0694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 2.083,
"after": 1.8301,
"delta": -0.2529,
"percent_delta": -0.1214,
"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": 4,
"last_10": 4,
"season": 4
}
},
{
"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.0268,
"predicted_3B": 0.0023,
"predicted_AB": 2.6735,
"predicted_AVG": 0.1114,
"predicted_BB": 1.0826,
"predicted_H": 0.2979,
"predicted_HBP": 0.021,
"predicted_HR": 0.0844,
"predicted_OBP": 0.3675,
"predicted_R": 1.7454,
"predicted_RBI": 0.2725,
"predicted_SLG": 0.2179,
"predicted_SO": 1.1914
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0268,
"after": 0.0268,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6735,
"after": 2.6735,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2432,
"after": 0.1114,
"delta": -0.1318,
"percent_delta": -0.5419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0932,
"after": 1.0826,
"delta": -0.0106,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3056,
"after": 0.2979,
"delta": -0.0077,
"percent_delta": -0.0252,
"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.0869,
"after": 0.0844,
"delta": -0.0025,
"percent_delta": -0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3235,
"after": 0.3675,
"delta": 0.044,
"percent_delta": 0.136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.8301,
"after": 1.7454,
"delta": -0.0847,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2857,
"after": 0.2725,
"delta": -0.0132,
"percent_delta": -0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.2179,
"delta": -0.2681,
"percent_delta": -0.5516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.18,
"after": 1.1914,
"delta": 0.0114,
"percent_delta": 0.0097,
"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_OBP",
"before": 0.3235,
"after": 0.3675,
"delta": 0.044,
"percent_delta": 0.136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.2179,
"delta": -0.2681,
"percent_delta": -0.5516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.67), rates preserved: AVG=0.111 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0268,
"after": 0.0,
"delta": -0.0268,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0,
"delta": -0.0023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6735,
"after": 3.0,
"delta": 0.3265,
"percent_delta": 0.1221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0826,
"after": 1.0,
"delta": -0.0826,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.2979,
"after": 0.0,
"delta": -0.2979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0844,
"after": 0.0,
"delta": -0.0844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2725,
"after": 0.0,
"delta": -0.2725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1914,
"after": 1.0,
"delta": -0.1914,
"percent_delta": -0.1607,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6735,
"after": 3.0,
"delta": 0.3265,
"percent_delta": 0.1221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.2979,
"after": 0.0,
"delta": -0.2979,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 2.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.7454,
"after": 2.0,
"delta": 0.2546,
"percent_delta": 0.1459,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.333,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"predicted_R": 2.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1114,
"after": 0.333,
"delta": 0.2216,
"percent_delta": 1.9892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3675,
"after": 0.5,
"delta": 0.1325,
"percent_delta": 0.3605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 2.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.2179,
"after": 0.333,
"delta": 0.1151,
"percent_delta": 0.5282,
"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.1114,
"after": 0.333,
"delta": 0.2216,
"percent_delta": 1.9892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 2.0,
"predicted_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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"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.1114,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3675,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2179,
"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.333,
"after": 0.1114,
"delta": -0.2216,
"percent_delta": -0.6654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.5,
"after": 0.3675,
"delta": -0.1325,
"percent_delta": -0.2649,
"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.333,
"after": 0.2179,
"delta": -0.1151,
"percent_delta": -0.3456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1114,
"delta": -0.2216,
"percent_delta": -0.6654,
"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.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.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.1114,
"delta": -0.1246,
"percent_delta": -0.528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.25,
"after": 2.0,
"delta": 0.75,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3675,
"delta": 0.0555,
"percent_delta": 0.1779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 2.083,
"after": 0.0,
"delta": -2.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.2179,
"delta": -0.2621,
"percent_delta": -0.546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.25,
"after": 1.0,
"delta": -0.25,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.25,
"after": 2.0,
"delta": 0.75,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 2.083,
"after": 0.0,
"delta": -2.083,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 1.250 | - |
| predicted_H | 0.140 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 2.083 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.480 | - |
| predicted_SO | 1.250 | - |
Final model 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.027 | 0.027 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.674 | 0.174 |
| predicted_AVG | 0.243 | 0.007 |
| predicted_BB | 1.093 | -0.157 |
| predicted_H | 0.306 | 0.166 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.087 | 0.037 |
| predicted_OBP | 0.324 | 0.012 |
| predicted_R | 1.830 | -0.253 |
| predicted_RBI | 0.286 | 0.156 |
| predicted_SLG | 0.486 | 0.006 |
| predicted_SO | 1.180 | -0.070 |
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.027 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.674 | 0.000 |
| predicted_AVG | 0.111 | -0.132 |
| predicted_BB | 1.083 | -0.011 |
| predicted_H | 0.298 | -0.008 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.084 | -0.003 |
| predicted_OBP | 0.367 | 0.044 |
| predicted_R | 1.745 | -0.085 |
| predicted_RBI | 0.273 | -0.013 |
| predicted_SLG | 0.218 | -0.268 |
| predicted_SO | 1.191 | 0.011 |
AB rounded to 3 (raw=2.67), rates preserved: AVG=0.111 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.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 | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 2.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 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.027 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.326 |
| predicted_AVG | 0.333 | 0.222 |
| predicted_BB | 1.000 | -0.083 |
| predicted_H | 1.000 | 0.702 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.500 | 0.133 |
| predicted_R | 2.000 | 0.255 |
| predicted_RBI | 0.000 | -0.273 |
| predicted_SLG | 0.333 | 0.115 |
| predicted_SO | 1.000 | -0.191 |
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 | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -2.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 | 4 | - | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 3.000 | 3.000 | 0.3333 | 0.5556 | 0.8333 | 0.3333 | 0.1667 | 0.6667 | 0.5000 | 0.5000 |
| last_10 | 0.20 | 4 | - | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 3.000 | 3.000 | 0.3333 | 0.5556 | 0.8333 | 0.3333 | 0.1667 | 0.6667 | 0.5000 | 0.5000 |
| season | 0.60 | 4 | - | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 3.000 | 3.000 | 0.3333 | 0.5556 | 0.8333 | 0.3333 | 0.1667 | 0.6667 | 0.5000 | 0.5000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.2710 |
| predicted_AVG | 0.2678 |
| predicted_BB | 0.5530 |
| predicted_H | 0.8760 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.2140 |
| predicted_OBP | 0.3632 |
| predicted_R | 0.9590 |
| predicted_RBI | 0.8220 |
| predicted_SLG | 0.5066 |
| predicted_SO | 0.9390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1190 | 0.0268 | model_form_blend |
| predicted_3B | 0.0000 | 0.0100 | 0.0023 | model_form_blend |
| predicted_AB | 2.5000 | 3.2710 | 2.6735 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2678 | 0.2432 | model_form_blend |
| predicted_BB | 1.2500 | 0.5530 | 1.0932 | model_form_blend |
| predicted_H | 0.1400 | 0.8760 | 0.3056 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0500 | 0.2140 | 0.0869 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3632 | 0.3235 | model_form_blend |
| predicted_R | 2.0830 | 0.9590 | 1.8301 | model_form_blend |
| predicted_RBI | 0.1300 | 0.8220 | 0.2857 | model_form_blend |
| predicted_SLG | 0.4800 | 0.5066 | 0.4860 | model_form_blend |
| predicted_SO | 1.2500 | 0.9390 | 1.1800 | 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 | 4 |
| Season rows before report date | 4 |
| Report year | 2026 |
| Profile rows used | 4 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.333 |
| 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 | 1 |
| 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-2B |
| gameID | 20260818_LAD@COL |
| game_type | ph |
| mlbID | 691182 |
| note | Struck out for Beck in the 8th. |
| playerID | 691182 |
| playerName | Adael Amador |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 33.3 |
| sl_woba | 0.559 |
| sl_xwoba | 0.346 |
| sl_xba | 0.115 |
| sl_xslg | 0.302 |
| sl_sweet_spot_percent | 0.0 |
| sl_barrel_batted_rate | 33.3 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 81.2 |
| sl_launch_angle_avg | 6.9 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 40.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.210 | 1.000 | 0.000 | Hitting_2B | 0.234 | 1.000 | 0.766 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 4.080 | 5.000 | 4.000 | Hitting_AB | 3.736 | 5.000 | 1.264 | 0.000 |
| predicted_AVG | 0.276 | 0.200 | 0.250 | Hitting_AVG | 0.296 | 0.400 | -0.096 | -0.200 |
| predicted_BB | 0.387 | 0.000 | 0.000 | Hitting_BB | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.130 | 1.000 | 1.000 | Hitting_H | 1.105 | 2.000 | -0.105 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.364 | 0.200 | 0.250 | Hitting_OBP | 0.380 | 0.400 | -0.180 | -0.200 |
| predicted_R | 0.445 | 0.000 | 0.000 | Hitting_R | 0.486 | 1.000 | -0.486 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.537 | 1.000 | -0.537 | -1.000 |
| predicted_SLG | 0.365 | 0.400 | 0.250 | Hitting_SLG | 0.478 | 0.600 | -0.078 | -0.200 |
| predicted_SO | 0.588 | 1.000 | 1.000 | Hitting_SO | 0.589 | 1.000 | 0.411 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 4.0800 -> 5.0000 (boost 0.9200, better) |
| Biggest Deboost | predicted_R: 0.4450 -> 0.0000 (deboost -0.4450, 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_SLG: 0.3650 -> 0.3809 (boost 0.0159, better) | predicted_AB: 4.0800 -> 3.8990 (deboost -0.1810, 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.3689 -> 0.3379 (deboost -0.0310, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.6099 -> 1.0000 (boost 0.3901, worse) | predicted_RBI: 0.3969 -> 0.0000 (deboost -0.3969, worse) | AB rounded to 4 (raw=4.08), rates preserved: AVG=0.262 HR/AB=0.014 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4418 -> 0.0000 (deboost -0.4418, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3766 -> 0.2500 (deboost -0.1266, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3766 (boost 0.1266, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681198",
"player_name": "TJ Rumfield",
"position": "1B",
"team": "COL",
"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.21,
"predicted_3B": 0.017,
"predicted_AB": 4.08,
"predicted_AVG": 0.276,
"predicted_BB": 0.387,
"predicted_H": 1.13,
"predicted_HR": 0.05,
"predicted_OBP": 0.364,
"predicted_R": 0.445,
"predicted_RBI": 0.44,
"predicted_SLG": 0.365,
"predicted_SO": 0.588
},
"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.1996,
"predicted_3B": 0.014,
"predicted_AB": 3.899,
"predicted_AVG": 0.2812,
"predicted_BB": 0.3779,
"predicted_H": 1.0975,
"predicted_HBP": 0.151,
"predicted_HR": 0.0587,
"predicted_OBP": 0.3689,
"predicted_R": 0.4632,
"predicted_RBI": 0.4162,
"predicted_SLG": 0.3809,
"predicted_SO": 0.604
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.1996,
"delta": -0.0104,
"percent_delta": -0.0495,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.014,
"delta": -0.003,
"percent_delta": -0.1765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 3.899,
"delta": -0.181,
"percent_delta": -0.0444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2812,
"delta": 0.0052,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.3779,
"delta": -0.0091,
"percent_delta": -0.0235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0975,
"delta": -0.0325,
"percent_delta": -0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0587,
"delta": 0.0087,
"percent_delta": 0.174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3689,
"delta": 0.0049,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.445,
"after": 0.4632,
"delta": 0.0182,
"percent_delta": 0.0409,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4162,
"delta": -0.0238,
"percent_delta": -0.0541,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3809,
"delta": 0.0159,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.588,
"after": 0.604,
"delta": 0.016,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3809,
"delta": 0.0159,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.08,
"after": 3.899,
"delta": -0.181,
"percent_delta": -0.0444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 119
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1996,
"predicted_3B": 0.014,
"predicted_AB": 3.899,
"predicted_AVG": 0.2744,
"predicted_BB": 0.3742,
"predicted_H": 1.0697,
"predicted_HBP": 0.151,
"predicted_HR": 0.057,
"predicted_OBP": 0.3379,
"predicted_R": 0.4418,
"predicted_RBI": 0.3969,
"predicted_SLG": 0.3766,
"predicted_SO": 0.6099
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1996,
"after": 0.1996,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.899,
"after": 3.899,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2812,
"after": 0.2744,
"delta": -0.0068,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3779,
"after": 0.3742,
"delta": -0.0037,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0975,
"after": 1.0697,
"delta": -0.0278,
"percent_delta": -0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.151,
"after": 0.151,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0587,
"after": 0.057,
"delta": -0.0017,
"percent_delta": -0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3689,
"after": 0.3379,
"delta": -0.031,
"percent_delta": -0.084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4632,
"after": 0.4418,
"delta": -0.0214,
"percent_delta": -0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4162,
"after": 0.3969,
"delta": -0.0193,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3809,
"after": 0.3766,
"delta": -0.0043,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.604,
"after": 0.6099,
"delta": 0.0059,
"percent_delta": 0.0098,
"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.3689,
"after": 0.3379,
"delta": -0.031,
"percent_delta": -0.084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.08), rates preserved: AVG=0.262 HR/AB=0.014",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1996,
"after": 0.0,
"delta": -0.1996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.899,
"after": 4.0,
"delta": 0.101,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3742,
"after": 0.0,
"delta": -0.3742,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0697,
"after": 1.0,
"delta": -0.0697,
"percent_delta": -0.0652,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.057,
"after": 0.0,
"delta": -0.057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3969,
"after": 0.0,
"delta": -0.3969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6099,
"after": 1.0,
"delta": 0.3901,
"percent_delta": 0.6396,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6099,
"after": 1.0,
"delta": 0.3901,
"percent_delta": 0.6396,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3969,
"after": 0.0,
"delta": -0.3969,
"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=5.0, weight=0.057, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4418,
"after": 0.0,
"delta": -0.4418,
"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.4418,
"after": 0.0,
"delta": -0.4418,
"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": 4.0,
"predicted_AVG": 0.25,
"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.25,
"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.2744,
"after": 0.25,
"delta": -0.0244,
"percent_delta": -0.0889,
"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.3379,
"after": 0.25,
"delta": -0.0879,
"percent_delta": -0.2601,
"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.3766,
"after": 0.25,
"delta": -0.1266,
"percent_delta": -0.3362,
"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.3766,
"after": 0.25,
"delta": -0.1266,
"percent_delta": -0.3362,
"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": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 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": 5.0,
"predicted_AVG": 0.2744,
"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.3379,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3766,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2744,
"delta": 0.0244,
"percent_delta": 0.0974,
"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.25,
"after": 0.3379,
"delta": 0.0879,
"percent_delta": 0.3516,
"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.25,
"after": 0.3766,
"delta": 0.1266,
"percent_delta": 0.5065,
"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.25,
"after": 0.3766,
"delta": 0.1266,
"percent_delta": 0.5065,
"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.21,
"after": 1.0,
"delta": 0.79,
"percent_delta": 3.7619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 5.0,
"delta": 0.92,
"percent_delta": 0.2255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2744,
"delta": -0.0016,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0,
"delta": -0.13,
"percent_delta": -0.115,
"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.364,
"after": 0.3379,
"delta": -0.0261,
"percent_delta": -0.0717,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.445,
"after": 0.0,
"delta": -0.445,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3766,
"delta": 0.0116,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.588,
"after": 1.0,
"delta": 0.412,
"percent_delta": 0.7007,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.08,
"after": 5.0,
"delta": 0.92,
"percent_delta": 0.2255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.445,
"after": 0.0,
"delta": -0.445,
"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.210 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.387 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.364 | - |
| predicted_R | 0.445 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.365 | - |
| predicted_SO | 0.588 | - |
Final model 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.200 | -0.010 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.899 | -0.181 |
| predicted_AVG | 0.281 | 0.005 |
| predicted_BB | 0.378 | -0.009 |
| predicted_H | 1.097 | -0.032 |
| predicted_HBP | 0.151 | - |
| predicted_HR | 0.059 | 0.009 |
| predicted_OBP | 0.369 | 0.005 |
| predicted_R | 0.463 | 0.018 |
| predicted_RBI | 0.416 | -0.024 |
| predicted_SLG | 0.381 | 0.016 |
| predicted_SO | 0.604 | 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.200 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.899 | 0.000 |
| predicted_AVG | 0.274 | -0.007 |
| predicted_BB | 0.374 | -0.004 |
| predicted_H | 1.070 | -0.028 |
| predicted_HBP | 0.151 | 0.000 |
| predicted_HR | 0.057 | -0.002 |
| predicted_OBP | 0.338 | -0.031 |
| predicted_R | 0.442 | -0.021 |
| predicted_RBI | 0.397 | -0.019 |
| predicted_SLG | 0.377 | -0.004 |
| predicted_SO | 0.610 | 0.006 |
AB rounded to 4 (raw=4.08), rates preserved: AVG=0.262 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.200 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 4.000 | 0.101 |
| predicted_AVG | 0.250 | -0.024 |
| predicted_BB | 0.000 | -0.374 |
| predicted_H | 1.000 | -0.070 |
| predicted_HR | 0.000 | -0.057 |
| predicted_OBP | 0.250 | -0.088 |
| predicted_R | 0.000 | -0.442 |
| predicted_RBI | 0.000 | -0.397 |
| predicted_SLG | 0.250 | -0.127 |
| predicted_SO | 1.000 | 0.390 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.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 | - | 19.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 4.000 | 0.2632 | 0.3913 | 0.3158 | 0.2632 | 0.0000 | 0.0526 | 0.1053 | 0.2105 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 1.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 5.000 | 0.3056 | 0.3902 | 0.3333 | 0.3056 | 0.0000 | 0.0556 | 0.0833 | 0.1389 |
| season | 0.60 | 119 | - | 431.000 | 127.000 | 25.000 | 2.000 | 13.000 | 59.000 | 53.000 | 46.000 | 70.000 | 0.2947 | 0.3724 | 0.4524 | 0.2947 | 0.0302 | 0.1369 | 0.1067 | 0.1624 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.6620 |
| predicted_AVG | 0.2881 |
| predicted_BB | 0.3660 |
| predicted_H | 1.0550 |
| predicted_HBP | 0.1510 |
| predicted_HR | 0.0700 |
| predicted_OBP | 0.3754 |
| predicted_R | 0.4870 |
| predicted_RBI | 0.3850 |
| predicted_SLG | 0.4017 |
| predicted_SO | 0.6250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2100 | 0.1860 | 0.1996 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0140 | model_form_blend |
| predicted_AB | 4.0800 | 3.6620 | 3.8990 | model_form_blend |
| predicted_AVG | 0.2760 | 0.2881 | 0.2812 | model_form_blend |
| predicted_BB | 0.3870 | 0.3660 | 0.3779 | model_form_blend |
| predicted_H | 1.1300 | 1.0550 | 1.0975 | model_form_blend |
| predicted_HBP | - | 0.1510 | 0.1510 | form_only |
| predicted_HR | 0.0500 | 0.0700 | 0.0587 | model_form_blend |
| predicted_OBP | 0.3640 | 0.3754 | 0.3689 | model_form_blend |
| predicted_R | 0.4450 | 0.4870 | 0.4632 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3850 | 0.4162 | model_form_blend |
| predicted_SLG | 0.3650 | 0.4017 | 0.3809 | model_form_blend |
| predicted_SO | 0.5880 | 0.6250 | 0.6040 | 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 | 428 |
| Season rows before report date | 428 |
| Report year | 2026 |
| Profile rows used | 119 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.295 |
| 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 | 5 |
| Hitting_AVG | 0.4 |
| 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 | 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 | 1B |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 681198 |
| playerID | 681198 |
| playerName | TJ Rumfield |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 14.4 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.362 |
| sl_xwoba | 0.321 |
| sl_xba | 0.255 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 26.8 |
| sl_exit_velocity_avg | 83.8 |
| sl_launch_angle_avg | 16.0 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 50.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.177 | 0.000 | 0.000 | Hitting_2B | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.354 | 3.000 | 3.000 | Hitting_AB | 3.668 | 2.000 | -0.668 | 1.000 |
| predicted_AVG | 0.212 | 0.000 | 0.333 | Hitting_AVG | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_BB | 0.221 | 0.000 | 0.000 | Hitting_BB | 0.213 | 0.000 | -0.213 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.003 | 0.000 | -0.003 | 0.000 |
| predicted_H | 0.540 | 0.000 | 1.000 | Hitting_H | 0.771 | 0.000 | -0.771 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_OBP | 0.259 | 0.250 | 0.333 | Hitting_OBP | 0.252 | 0.000 | -0.002 | 0.250 |
| predicted_R | 0.363 | 0.000 | 0.000 | Hitting_R | 0.407 | 0.000 | -0.407 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.423 | 0.000 | -0.423 | 0.000 |
| predicted_SLG | 0.309 | 0.000 | 0.333 | Hitting_SLG | 0.350 | 0.000 | -0.350 | 0.000 |
| predicted_SO | 0.912 | 1.000 | 1.000 | Hitting_SO | 0.992 | 1.000 | 0.008 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.9120 -> 1.0000 (boost 0.0880, worse) |
| Biggest Deboost | predicted_H: 0.5400 -> 0.0000 (deboost -0.5400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 2 | 2 | predicted_OBP: 0.2590 -> 0.2651 (boost 0.0061, better) | predicted_AB: 3.3540 -> 3.2060 (deboost -0.1480, 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.3018 -> 0.2663 (deboost -0.0355, 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 | 0 | 6 | predicted_SO: 0.8682 -> 1.0000 (boost 0.1318, worse) | predicted_H: 0.5582 -> 0.0000 (deboost -0.5582, worse) | AB rounded to 3 (raw=3.35), rates preserved: AVG=0.166 HR/AB=0.014 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3314 -> 0.0000 (deboost -0.3314, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1741 -> 0.3330 (boost 0.1589, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1741 (deboost -0.1589, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678662",
"player_name": "Ezequiel Tovar",
"position": "SS",
"team": "COL",
"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.177,
"predicted_3B": 0.0,
"predicted_AB": 3.354,
"predicted_AVG": 0.212,
"predicted_BB": 0.221,
"predicted_H": 0.54,
"predicted_HR": 0.05,
"predicted_OBP": 0.259,
"predicted_R": 0.363,
"predicted_RBI": 0.24,
"predicted_SLG": 0.309,
"predicted_SO": 0.912
},
"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.1529,
"predicted_3B": 0.0004,
"predicted_AB": 3.206,
"predicted_AVG": 0.2088,
"predicted_BB": 0.2623,
"predicted_H": 0.5727,
"predicted_HBP": 0.011,
"predicted_HR": 0.0487,
"predicted_OBP": 0.2651,
"predicted_R": 0.3475,
"predicted_RBI": 0.252,
"predicted_SLG": 0.3018,
"predicted_SO": 0.8599
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.177,
"after": 0.1529,
"delta": -0.0241,
"percent_delta": -0.1362,
"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.354,
"after": 3.206,
"delta": -0.148,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2088,
"delta": -0.0032,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 0.2623,
"delta": 0.0413,
"percent_delta": 0.1869,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.5727,
"delta": 0.0327,
"percent_delta": 0.0606,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0487,
"delta": -0.0013,
"percent_delta": -0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2651,
"delta": 0.0061,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.363,
"after": 0.3475,
"delta": -0.0155,
"percent_delta": -0.0427,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.252,
"delta": 0.012,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.3018,
"delta": -0.0072,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.912,
"after": 0.8599,
"delta": -0.0521,
"percent_delta": -0.0571,
"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_OBP",
"before": 0.259,
"after": 0.2651,
"delta": 0.0061,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.354,
"after": 3.206,
"delta": -0.148,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 113
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1529,
"predicted_3B": 0.0004,
"predicted_AB": 3.206,
"predicted_AVG": 0.1741,
"predicted_BB": 0.2598,
"predicted_H": 0.5582,
"predicted_HBP": 0.011,
"predicted_HR": 0.0473,
"predicted_OBP": 0.236,
"predicted_R": 0.3314,
"predicted_RBI": 0.2403,
"predicted_SLG": 0.2663,
"predicted_SO": 0.8682
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1529,
"after": 0.1529,
"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.206,
"after": 3.206,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2088,
"after": 0.1741,
"delta": -0.0347,
"percent_delta": -0.1662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2623,
"after": 0.2598,
"delta": -0.0025,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5727,
"after": 0.5582,
"delta": -0.0145,
"percent_delta": -0.0253,
"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.0487,
"after": 0.0473,
"delta": -0.0014,
"percent_delta": -0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2651,
"after": 0.236,
"delta": -0.0291,
"percent_delta": -0.1098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3475,
"after": 0.3314,
"delta": -0.0161,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.252,
"after": 0.2403,
"delta": -0.0117,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3018,
"after": 0.2663,
"delta": -0.0355,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8599,
"after": 0.8682,
"delta": 0.0083,
"percent_delta": 0.0097,
"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.3018,
"after": 0.2663,
"delta": -0.0355,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.35), rates preserved: AVG=0.166 HR/AB=0.014",
"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.1529,
"after": 0.0,
"delta": -0.1529,
"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.206,
"after": 3.0,
"delta": -0.206,
"percent_delta": -0.0643,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2598,
"after": 0.0,
"delta": -0.2598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5582,
"after": 0.0,
"delta": -0.5582,
"percent_delta": -1.0,
"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.0473,
"after": 0.0,
"delta": -0.0473,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2403,
"after": 0.0,
"delta": -0.2403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8682,
"after": 1.0,
"delta": 0.1318,
"percent_delta": 0.1518,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8682,
"after": 1.0,
"delta": 0.1318,
"percent_delta": 0.1518,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5582,
"after": 0.0,
"delta": -0.5582,
"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.3314,
"after": 0.0,
"delta": -0.3314,
"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.3314,
"after": 0.0,
"delta": -0.3314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"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.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1741,
"after": 0.333,
"delta": 0.1589,
"percent_delta": 0.9127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.236,
"after": 0.333,
"delta": 0.097,
"percent_delta": 0.411,
"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.2663,
"after": 0.333,
"delta": 0.0667,
"percent_delta": 0.2505,
"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.1741,
"after": 0.333,
"delta": 0.1589,
"percent_delta": 0.9127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"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.1741,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.236,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2663,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1741,
"delta": -0.1589,
"percent_delta": -0.4771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 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.333,
"after": 0.236,
"delta": -0.097,
"percent_delta": -0.2912,
"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.333,
"after": 0.2663,
"delta": -0.0667,
"percent_delta": -0.2002,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1741,
"delta": -0.1589,
"percent_delta": -0.4771,
"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.177,
"after": 0.0,
"delta": -0.177,
"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.354,
"after": 3.0,
"delta": -0.354,
"percent_delta": -0.1055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.1741,
"delta": -0.0379,
"percent_delta": -0.1788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 0.0,
"delta": -0.221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.236,
"delta": -0.023,
"percent_delta": -0.0888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.363,
"after": 0.0,
"delta": -0.363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.2663,
"delta": -0.0427,
"percent_delta": -0.1382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.912,
"after": 1.0,
"delta": 0.088,
"percent_delta": 0.0965,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.912,
"after": 1.0,
"delta": 0.088,
"percent_delta": 0.0965,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.177 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.354 | - |
| predicted_AVG | 0.212 | - |
| predicted_BB | 0.221 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.259 | - |
| predicted_R | 0.363 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.309 | - |
| predicted_SO | 0.912 | - |
Final model 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.153 | -0.024 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.206 | -0.148 |
| predicted_AVG | 0.209 | -0.003 |
| predicted_BB | 0.262 | 0.041 |
| predicted_H | 0.573 | 0.033 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.049 | -0.001 |
| predicted_OBP | 0.265 | 0.006 |
| predicted_R | 0.347 | -0.016 |
| predicted_RBI | 0.252 | 0.012 |
| predicted_SLG | 0.302 | -0.007 |
| predicted_SO | 0.860 | -0.052 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.206 | 0.000 |
| predicted_AVG | 0.174 | -0.035 |
| predicted_BB | 0.260 | -0.003 |
| predicted_H | 0.558 | -0.014 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.047 | -0.001 |
| predicted_OBP | 0.236 | -0.029 |
| predicted_R | 0.331 | -0.016 |
| predicted_RBI | 0.240 | -0.012 |
| predicted_SLG | 0.266 | -0.036 |
| predicted_SO | 0.868 | 0.008 |
AB rounded to 3 (raw=3.35), rates preserved: AVG=0.166 HR/AB=0.014
| 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 |
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.153 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.206 |
| predicted_AVG | 0.333 | 0.159 |
| predicted_BB | 0.000 | -0.260 |
| predicted_H | 1.000 | 0.442 |
| predicted_HR | 0.000 | -0.047 |
| predicted_OBP | 0.333 | 0.097 |
| predicted_R | 0.000 | -0.331 |
| predicted_RBI | 0.000 | -0.240 |
| predicted_SLG | 0.333 | 0.067 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 3.000 | 0.1818 | 0.2857 | 0.1818 | 0.1818 | 0.0000 | 0.0909 | 0.1818 | 0.2727 |
| last_10 | 0.20 | 10 | - | 25.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 6.000 | 0.2000 | 0.3000 | 0.2400 | 0.2000 | 0.0000 | 0.0400 | 0.1600 | 0.2400 |
| season | 0.60 | 113 | - | 379.000 | 79.000 | 20.000 | 0.000 | 9.000 | 38.000 | 41.000 | 25.000 | 103.000 | 0.2084 | 0.2560 | 0.3325 | 0.2084 | 0.0238 | 0.1003 | 0.0660 | 0.2718 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1210 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.0100 |
| predicted_AVG | 0.2046 |
| predicted_BB | 0.3170 |
| predicted_H | 0.6160 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0470 |
| predicted_OBP | 0.2731 |
| predicted_R | 0.3270 |
| predicted_RBI | 0.2680 |
| predicted_SLG | 0.2923 |
| predicted_SO | 0.7910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1770 | 0.1210 | 0.1529 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3540 | 3.0100 | 3.2060 | model_form_blend |
| predicted_AVG | 0.2120 | 0.2046 | 0.2088 | model_form_blend |
| predicted_BB | 0.2210 | 0.3170 | 0.2623 | model_form_blend |
| predicted_H | 0.5400 | 0.6160 | 0.5727 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0500 | 0.0470 | 0.0487 | model_form_blend |
| predicted_OBP | 0.2590 | 0.2731 | 0.2651 | model_form_blend |
| predicted_R | 0.3630 | 0.3270 | 0.3475 | model_form_blend |
| predicted_RBI | 0.2400 | 0.2680 | 0.2520 | model_form_blend |
| predicted_SLG | 0.3090 | 0.2923 | 0.3018 | model_form_blend |
| predicted_SO | 0.9120 | 0.7910 | 0.8599 | 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 | 376 |
| Season rows before report date | 376 |
| 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.208 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20260818_LAD@COL |
| game_type | full |
| mlbID | 678662 |
| playerID | 678662 |
| playerName | Ezequiel Tovar |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.256 |
| sl_xwoba | 0.273 |
| sl_xba | 0.219 |
| sl_xslg | 0.357 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 33.1 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 17.6 |
| sl_whiff_percent | 29.2 |
| sl_swing_percent | 62.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 1.174 | 1.000 | 2.826 | 3.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 3.652 | 1.000 | -0.652 | 2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 6.391 | 4.000 | -0.391 | 2.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 5.104 | 8.000 | -0.904 | -3.800 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 4.261 | 2.000 | -1.261 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 3 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 3.0000 -> 6.0000 (boost 3.0000, worse) |
| Biggest Deboost | predicted_IP: 5.6667 -> 4.2000 (deboost -1.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 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 4.2000 (deboost -1.4667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | starter_quality_floor | 2 | 2 | 0 | 0 | 2 | predicted_H: 3.0000 -> 6.0000 (boost 3.0000, worse) | - | Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows. |
| 4 | 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": "607536",
"player_name": "Kyle Freeland",
"position": "Starter",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 4.2,
"delta": -1.4667,
"percent_delta": -0.2588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 4.2,
"delta": -1.4667,
"percent_delta": -0.2588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "starter_quality_floor",
"description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"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_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 3.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"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_IP",
"before": 5.6667,
"after": 4.2,
"delta": -1.4667,
"percent_delta": -0.2588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 4.2,
"delta": -1.4667,
"percent_delta": -0.2588,
"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 | 4.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 3.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | -1.467 |
| predicted_SO | 3.000 | 0.000 |
Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | 0.000 |
| predicted_ER | 3.000 | 1.000 |
| predicted_H | 6.000 | 3.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | 0.000 |
| predicted_SO | 3.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 32.200 | 12.000 | 27.000 | 9.000 | 19.000 | 4.000 | 3.3061 | 1.1020 | 0.3674 | 0.8265 | 0.2755 | 0.5816 | 0.1225 |
| last_10 | 0.35 | 10 | 62.000 | 32.000 | 63.000 | 11.000 | 49.000 | 8.000 | 4.6452 | 1.1935 | 0.5161 | 1.0161 | 0.1774 | 0.7903 | 0.1290 |
| season | 0.20 | 22 | 120.200 | 84.000 | 147.000 | 27.000 | 98.000 | 22.000 | 6.2652 | 1.4420 | 0.6961 | 1.2182 | 0.2238 | 0.8122 | 0.1823 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5770 |
| predicted_ER | 3.0080 |
| predicted_ERA | 4.3882 |
| predicted_H | 5.9910 |
| predicted_HR | 0.8560 |
| predicted_IP | 6.1000 |
| predicted_SO | 4.6120 |
| predicted_WHIP | 1.2267 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 1.5770 | 2.6146 | model_form_blend |
| predicted_ER | 2.0000 | 3.0080 | 2.5763 | model_form_blend |
| predicted_ERA | - | 4.3882 | 4.3882 | form_only |
| predicted_H | 3.0000 | 5.9910 | 4.7101 | model_form_blend |
| predicted_HR | 0.0000 | 0.8560 | 0.4894 | model_form_blend |
| predicted_IP | 5.2000 | 6.1000 | 6.0000 | model_form_blend |
| predicted_SO | 3.0000 | 4.6120 | 3.9217 | model_form_blend |
| predicted_WHIP | - | 1.2267 | 1.2267 | 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 | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 22 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 4 |
| SO | 3 |
| HR | 0 |
| BF | 25 |
| Pitches | 105 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 1 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 27 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.27 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 13 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 8.0 |
| Pitching_Pitches | 95 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 66 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260814_COL@SF |
| game_type | full |
| mlbID | 607536 |
| playerID | 607536 |
| playerName | Kyle Freeland |
| pos | P |
| started | True |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-14 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.368 |
| sl_xwoba | 0.349 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 42.7 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 50.9 |
| sl_avg_best_speed | 79.20619255 |
| sl_avg_hyper_speed | 95.091951375 |
| 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 | 0.241 | 0.000 | 1.759 | 2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.276 | 1.000 | 0.724 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.828 | 3.000 | 0.172 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.709 | 1.000 | 0.391 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.638 | 0.000 | -0.638 | 0.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: 1.0000 -> 1.1000 (boost 0.1000, 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: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "657514",
"player_name": "Brennan Bernardino",
"position": "Middle Reliever",
"team": "COL",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 0.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 0.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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 | 2.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 3.000 | 7.000 | 1.000 | 3.000 | 2.000 | 5.7857 | 1.7143 | 0.6429 | 1.5000 | 0.2143 | 0.6429 | 0.4286 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 9.000 | 2.000 | 6.000 | 2.000 | 3.0000 | 1.2222 | 0.3333 | 1.0000 | 0.2222 | 0.6667 | 0.2222 |
| season | 0.20 | 58 | 50.200 | 16.000 | 48.000 | 14.000 | 37.000 | 4.000 | 2.8421 | 1.2237 | 0.3158 | 0.9474 | 0.2763 | 0.7303 | 0.0790 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2740 |
| predicted_ER | 0.4790 |
| predicted_ERA | 4.3083 |
| predicted_H | 1.1340 |
| predicted_HR | 0.2410 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7630 |
| predicted_WHIP | 1.4080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.2740 | 1.1190 | model_form_blend |
| predicted_ER | 1.0000 | 0.4790 | 0.7341 | model_form_blend |
| predicted_ERA | - | 4.3083 | 4.3083 | form_only |
| predicted_H | 1.0000 | 1.1340 | 1.0684 | model_form_blend |
| predicted_HR | 0.0000 | 0.2410 | 0.1230 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7630 | 0.3894 | model_form_blend |
| predicted_WHIP | - | 1.4080 | 1.4080 | 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 | 58 |
| Season rows before report date | 58 |
| Report year | 2026 |
| Profile rows used | 58 |
| 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 | 2 |
| SO | 0 |
| HR | 0 |
| BF | 7 |
| Pitches | 28 |
| 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 | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.84 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260814_COL@SF |
| game_type | full |
| mlbID | 657514 |
| playerID | 657514 |
| playerName | Brennan Bernardino |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-14 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.305 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 32.1 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 46.5 |
| sl_avg_best_speed | 76.235963974 |
| sl_avg_hyper_speed | 92.965298065 |
| 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.526 | 0.000 | -0.526 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.632 | 0.000 | -0.632 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.026 | 0.000 | -1.026 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.837 | 1.000 | 0.163 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.947 | 1.000 | 0.053 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "623474",
"player_name": "Jimmy Herget",
"position": "Middle Reliever",
"team": "COL",
"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 | 4.000 | 2.000 | 0.000 | 1.9286 | 1.2857 | 0.2143 | 0.4286 | 0.8571 | 0.4286 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 7.000 | 8.000 | 8.000 | 8.000 | 1.000 | 7.2692 | 1.8462 | 0.8077 | 0.9231 | 0.9231 | 0.9231 | 0.1154 |
| season | 0.20 | 37 | 36.000 | 24.000 | 38.000 | 19.000 | 36.000 | 6.000 | 6.0000 | 1.5833 | 0.6667 | 1.0556 | 0.5278 | 1.0000 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6300 |
| predicted_ER | 0.5070 |
| predicted_ERA | 4.5593 |
| predicted_H | 0.8270 |
| predicted_HR | 0.1040 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8130 |
| predicted_WHIP | 1.4568 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6300 | 0.3004 | model_form_blend |
| predicted_ER | 0.0000 | 0.5070 | 0.2418 | model_form_blend |
| predicted_ERA | - | 4.5593 | 4.5593 | form_only |
| predicted_H | 0.0000 | 0.8270 | 0.3944 | model_form_blend |
| predicted_HR | 0.0000 | 0.1040 | 0.0496 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8130 | 0.9108 | model_form_blend |
| predicted_WHIP | - | 1.4568 | 1.4568 | 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 | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 37 |
| 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 | 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 | 6.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 623474 |
| playerID | 623474 |
| playerName | Jimmy Herget |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.373 |
| sl_xwoba | 0.321 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 37.4 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 46.5 |
| sl_avg_best_speed | 76.860830962 |
| sl_avg_hyper_speed | 94.245275192 |
| 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.538 | 0.000 | -0.538 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.308 | 0.000 | 0.692 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.923 | 1.000 | 0.077 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.938 | 1.000 | 0.162 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.077 | 0.000 | -0.077 | 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: 1.0000 -> 1.1000 (boost 0.1000, 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: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "605447",
"player_name": "Jordan Romano",
"position": "Middle Reliever",
"team": "COL",
"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": 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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"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 | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 6.000 | 3.000 | 4.000 | 0.000 | 5.4000 | 1.8000 | 0.6000 | 1.2000 | 0.6000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 9.000 | 6.000 | 9.000 | 0.000 | 3.7241 | 1.5517 | 0.4138 | 0.9310 | 0.6207 | 0.9310 | 0.0000 |
| season | 0.20 | 23 | 20.200 | 10.000 | 20.000 | 11.000 | 26.000 | 0.000 | 4.3548 | 1.5000 | 0.4839 | 0.9677 | 0.5323 | 1.2581 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4680 |
| predicted_ER | 0.5040 |
| predicted_ERA | 4.5381 |
| predicted_H | 1.0110 |
| predicted_HR | 0.0810 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9460 |
| predicted_WHIP | 1.4790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4680 | 0.1960 | model_form_blend |
| predicted_ER | 1.0000 | 0.5040 | 0.7923 | model_form_blend |
| predicted_ERA | - | 4.5381 | 4.5381 | form_only |
| predicted_H | 1.0000 | 1.0110 | 1.0046 | model_form_blend |
| predicted_HR | 0.0000 | 0.0810 | 0.0339 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9460 | 0.9774 | model_form_blend |
| predicted_WHIP | - | 1.4790 | 1.4790 | 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 | 13 |
| Season rows before report date | 13 |
| Report year | 2026 |
| Profile rows used | 23 |
| 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 | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.66 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 605447 |
| playerID | 605447 |
| playerName | Jordan Romano |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.329 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 32.2 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 43.3 |
| sl_avg_best_speed | 76.045662 |
| sl_avg_hyper_speed | 92.860156441 |
| 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.612 | 0.000 | -0.612 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.694 | 3.000 | -0.694 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.163 | 5.000 | -1.163 | -5.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.920 | 1.000 | 0.280 | 0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.020 | 0.000 | -1.020 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.3333 -> 1.2000 (boost 0.8667, better) |
| Biggest Deboost | predicted_H: 3.0000 -> 0.0000 (deboost -3.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 | 1 | 1 | 2 | 0 | predicted_IP: 0.3333 -> 1.2000 (boost 0.8667, better) | predicted_H: 3.0000 -> 0.0000 (deboost -3.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "675848",
"player_name": "Juan Mejia",
"position": "Middle Reliever",
"team": "COL",
"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": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 0.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"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_IP",
"before": 0.3333,
"after": 1.2,
"delta": 0.8667,
"percent_delta": 2.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 1.2,
"delta": 0.8667,
"percent_delta": 2.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"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": 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": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"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_IP",
"before": 0.3333,
"after": 1.2,
"delta": 0.8667,
"percent_delta": 2.6004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 1.2,
"delta": 0.8667,
"percent_delta": 2.6004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 5.000 | 7.000 | 4.000 | 1.000 | 1.000 | 11.2500 | 2.7500 | 1.2500 | 1.7500 | 1.0000 | 0.2500 | 0.2500 |
| last_10 | 0.35 | 10 | 9.100 | 7.000 | 12.000 | 7.000 | 6.000 | 1.000 | 6.7500 | 2.0357 | 0.7500 | 1.2857 | 0.7500 | 0.6429 | 0.1071 |
| season | 0.20 | 49 | 52.100 | 34.000 | 57.000 | 30.000 | 50.000 | 5.000 | 5.8471 | 1.6624 | 0.6497 | 1.0892 | 0.5733 | 0.9554 | 0.0955 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4630 |
| predicted_ER | 0.5510 |
| predicted_ERA | 7.2653 |
| predicted_H | 0.8870 |
| predicted_HR | 0.1110 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.4550 |
| predicted_WHIP | 1.9762 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4630 | 0.2377 | model_form_blend |
| predicted_ER | 0.0000 | 0.5510 | 0.2829 | model_form_blend |
| predicted_ERA | - | 7.2653 | 7.2653 | form_only |
| predicted_H | 3.0000 | 0.8870 | 1.9152 | model_form_blend |
| predicted_HR | 0.0000 | 0.1110 | 0.0570 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.4550 | 0.2336 | model_form_blend |
| predicted_WHIP | - | 1.9762 | 1.9762 | 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 | 49 |
| Season rows before report date | 49 |
| Report year | 2026 |
| Profile rows used | 49 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 25 |
| 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 | 8 |
| Pitching_ER | 3 |
| Pitching_ERA | 5.85 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 33 |
| Pitching_R | 3 |
| Pitching_SO | 0 |
| Pitching_Strikes | 22 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260817_LAD@COL |
| game_type | full |
| mlbID | 675848 |
| playerID | 675848 |
| playerName | Juan Mejia |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-17 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.341 |
| sl_xwoba | 0.336 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 38.0 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 77.836197922 |
| sl_avg_hyper_speed | 94.278360455 |
| 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.781 | 0.000 | 0.219 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.375 | 0.000 | -1.375 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 2.438 | 0.000 | -0.438 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 2.159 | 1.000 | -1.159 | 0.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.438 | 1.000 | 1.562 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | predicted_ER: 1.0000 -> 0.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 | 1 | 1 | 2 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | predicted_ER: 1.0000 -> 0.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "688642",
"player_name": "Zach Agnos",
"position": "Middle Reliever",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 10.000 | 0.000 | 4.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.5000 | 0.0000 | 0.4000 | 0.1000 | 0.7000 | 0.0000 |
| last_10 | 0.35 | 10 | 20.100 | 2.000 | 15.000 | 2.000 | 11.000 | 0.000 | 0.8852 | 0.8361 | 0.0984 | 0.7377 | 0.0984 | 0.5410 | 0.0000 |
| season | 0.20 | 32 | 71.200 | 44.000 | 78.000 | 25.000 | 46.000 | 8.000 | 5.5256 | 1.4372 | 0.6139 | 1.0884 | 0.3488 | 0.6419 | 0.1116 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3320 |
| predicted_ER | 0.3970 |
| predicted_ERA | 2.2084 |
| predicted_H | 1.1930 |
| predicted_HR | 0.0890 |
| predicted_IP | 1.2000 |
| predicted_SO | 1.1580 |
| predicted_WHIP | 0.9421 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3320 | 0.6388 | model_form_blend |
| predicted_ER | 1.0000 | 0.3970 | 0.6739 | model_form_blend |
| predicted_ERA | - | 2.2084 | 2.2084 | form_only |
| predicted_H | 2.0000 | 1.1930 | 1.5636 | model_form_blend |
| predicted_HR | 0.0000 | 0.0890 | 0.0481 | model_form_blend |
| predicted_IP | 0.1000 | 1.2000 | 1.1000 | model_form_blend |
| predicted_SO | 3.0000 | 1.1580 | 2.0040 | model_form_blend |
| predicted_WHIP | - | 0.9421 | 0.9421 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 3 |
| HR | 0 |
| BF | 6 |
| Pitches | 28 |
| 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 | 5.53 |
| Pitching_Flyouts | 0 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 688642 |
| playerID | 688642 |
| playerName | Zach Agnos |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-08-18 |
| sl_k_percent | 14.6 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.343 |
| sl_xwoba | 0.354 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 41.4 |
| sl_whiff_percent | 21.2 |
| sl_swing_percent | 50.7 |
| sl_avg_best_speed | 77.866765169 |
| sl_avg_hyper_speed | 94.236636695 |