Player-by-player trace from JSON pipeline. Metric-by-metric comparison without wide horizontal table dependency.
Windows shown explicitly: Team recent form = latest 10 games from enhanced analysis. Player historical helpers = 75 games; balancing rates = 162 games (as implemented in services).
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 | BAL 4 - 5 BOS | BOS | 0.546 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | BAL 3 - 5 BOS | BOS | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| 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.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5459 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.506 | 6.421 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 5 | 0.5459 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 4 | 5 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 4 | 5 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4673454545454546,
"base_low_score_probability": 0.42424242424242425,
"low_score_signal_threshold": 0.5042424242424243,
"low_score_signal_strength": 0.043103030303030365,
"confidence": 0.6508,
"factors": {
"environmental": 1.1016000000000001,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.1016000000000001
},
"prediction": "normal_scoring",
"expected_total_runs": 9,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 8,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 46,
"near_bucket_sample_size": 14,
"medium_bucket_sample_size": 46,
"wide_bucket_sample_size": 107,
"global_sample_size": 107,
"bucket_scope": "pooled_0.08",
"sparse_bucket": false,
"empirical_hit_rate": 0.5,
"bayesian_hit_rate": 0.5,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7188,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.5459,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "BOS",
"games": 60,
"wins": 26,
"losses": 34,
"win_pct": 0.43333333333333335,
"runs_scored": 241,
"runs_allowed": 241,
"run_differential": 0,
"run_differential_per_game": 0.0,
"available": true
},
"away": {
"team": "BAL",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.46774193548387094,
"runs_scored": 280,
"runs_allowed": 323,
"run_differential": -43,
"run_differential_per_game": -0.6935483870967742,
"available": true
},
"run_differential_edge_per_game": 0.6935,
"win_pct_edge": -0.0344,
"quality_edge": 0.6419,
"margin_adjustment": 0.2696,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 3.087,
"home_runs": 4.878,
"home_win_probability": 0.6522
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "BOS",
"guardrail_predicted_team": "BOS",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "BOS",
"output_opponent_team": "BAL",
"final_score_winner": "BOS",
"pre_simulation_winner": "BOS",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "BAL 4 - 5 BOS",
"winner": "BOS"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "BAL 3 - 5 BOS",
"winner": "BOS"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "BOS",
"games": 60,
"wins": 26,
"losses": 34,
"win_pct": 0.43333333333333335,
"runs_scored": 241,
"runs_allowed": 241,
"run_differential": 0,
"run_differential_per_game": 0.0,
"available": true
},
"away": {
"team": "BAL",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.46774193548387094,
"runs_scored": 280,
"runs_allowed": 323,
"run_differential": -43,
"run_differential_per_game": -0.6935483870967742,
"available": true
}
}
}{
"applied": true,
"raw_margin": 1.7906,
"final_margin": 1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.6419,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 3.233,
"home_runs": 4.733
}
}{
"applied": false,
"raw_confidence": 0.5459,
"final_confidence": 0.5459,
"confidence_cap": 0.63,
"score_gap": 1.5,
"calibration_sample_size": 46,
"calibration_empirical_hit_rate": 0.5,
"calibration_bayesian_hit_rate": 0.5,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6419,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"local calibration sample has at least 30 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "BAL 4 - 5 BOS",
"winner": "BOS"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "BAL 3 - 5 BOS",
"winner": "BOS"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 4,
"home_runs": 5,
"confidence": 0.5459,
"home_win_probability": 0.5459,
"away_win_probability": 0.45409999999999995,
"predicted_score_text": "BAL 4 - 5 BOS",
"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": "BAL",
"original_runs": 3,
"run_delta": 0.587,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 58.0,
"quality": 0.274441679905375,
"contact": 0.2906394340765689,
"power": 0.3512966696897616,
"discipline": 0.16367435803038327,
"xwoba": 0.33315517241379317,
"recent_xwoba": 0.33315517241379317,
"barrel": 8.837931034482759,
"ab_hard_contact": 0.2454867599692699,
"ab_bat_speed": 71.14184371690646,
"ab_strikeout_rate": 0.24317454787380738,
"available_players": 9,
"top_players": [
{
"player_id": "624413",
"player_name": "Pete Alonso",
"position": "1B",
"weight": 8.0,
"quality": 1.1857737528746586,
"contact": 1.2428202727211484,
"power": 1.5350475190556547,
"discipline": 0.03173653285790954,
"xwoba": 0.36600000000000005,
"recent_xwoba": 0.366,
"barrel": 12.4,
"ab_hard_contact": 1.0792360953987916,
"ab_bat_speed": 73.31301087595531,
"ab_strikeout_rate": 0.24369488536155204,
"available": 1.0
},
{
"player_id": "668939",
"player_name": "Adley Rutschman",
"position": "DH",
"weight": 7.0,
"quality": 0.6616356874087593,
"contact": 1.1974158165302633,
"power": 0.7490479206954272,
"discipline": 0.8750272998153432,
"xwoba": 0.373,
"recent_xwoba": 0.373,
"barrel": 9.4,
"ab_hard_contact": 0.09981555676566979,
"ab_bat_speed": 70.20796203346204,
"ab_strikeout_rate": 0.13626126126126126,
"available": 1.0
},
{
"player_id": "694212",
"player_name": "Samuel Basallo",
"position": "C",
"weight": 6.0,
"quality": 0.4469638270002528,
"contact": 0.6916637439985478,
"power": 1.0128030717349685,
"discipline": -0.28175905797101464,
"xwoba": 0.353,
"recent_xwoba": 0.353,
"barrel": 11.7,
"ab_hard_contact": -0.16374808911017188,
"ab_bat_speed": 73.77122354497354,
"ab_strikeout_rate": 0.25476190476190474,
"available": 1.0
},
{
"player_id": "665750",
"player_name": "Leody Taveras",
"position": "CF",
"weight": 6.0,
"quality": -0.2886425480365051,
"contact": -0.30066748642385344,
"power": -0.6876972875669759,
"discipline": 0.34692255886176504,
"xwoba": 0.316,
"recent_xwoba": 0.316,
"barrel": 4.3,
"ab_hard_contact": -0.5688028941966847,
"ab_bat_speed": 68.59897286821705,
"ab_strikeout_rate": 0.25329457364341085,
"available": 1.0
},
{
"player_id": "621493",
"player_name": "Taylor Ward",
"position": "LF",
"weight": 8.0,
"quality": 0.19288061768776824,
"contact": 0.3724342396987144,
"power": -0.39684295287645605,
"discipline": 1.5182265664674401,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 4.2,
"ab_hard_contact": 0.16904570437562288,
"ab_bat_speed": 65.58632936507937,
"ab_strikeout_rate": 0.20849056603773586,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "678394",
"player_name": "Brayan Bello",
"quality": -0.6597898256831161,
"contact": -1.093715105401678,
"command": -0.39961904761904776,
"movement": -0.143034052906659,
"xwoba": 0.376,
"whiff": 25.7,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
},
"home": {
"team": "BOS",
"original_runs": 5,
"run_delta": 0.1895,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 58.0,
"quality": 0.04487993504979422,
"contact": -0.051260849760019676,
"power": -0.025497077877449512,
"discipline": -0.17256695749537462,
"xwoba": 0.31436206896551727,
"recent_xwoba": 0.31436206896551727,
"barrel": 8.108620689655172,
"ab_hard_contact": -0.10731429974933565,
"ab_bat_speed": 70.10566169322881,
"ab_strikeout_rate": 0.23080748901532885,
"available_players": 9,
"top_players": [
{
"player_id": "575929",
"player_name": "Willson Contreras",
"position": "1B",
"weight": 7.0,
"quality": 0.9258561187917415,
"contact": 1.0396661285523696,
"power": 1.2636605236701028,
"discipline": -0.10647427739211628,
"xwoba": 0.396,
"recent_xwoba": 0.396,
"barrel": 13.9,
"ab_hard_contact": 1.2023533305448921,
"ab_bat_speed": 74.61826416122005,
"ab_strikeout_rate": 0.25947712418300656,
"available": 1.0
},
{
"player_id": "702332",
"player_name": "Caleb Durbin",
"position": "3B",
"weight": 6.0,
"quality": -0.5946011253606605,
"contact": -0.7895600508106799,
"power": -1.2796802191381174,
"discipline": 0.18502769151138704,
"xwoba": 0.27,
"recent_xwoba": 0.27,
"barrel": 2.1,
"ab_hard_contact": -0.9219853351433199,
"ab_bat_speed": 66.0515579710145,
"ab_strikeout_rate": 0.1532608695652174,
"available": 1.0
},
{
"player_id": "677800",
"player_name": "Wilyer Abreu",
"position": "RF",
"weight": 8.0,
"quality": 0.6669178850572827,
"contact": 0.7230863527779082,
"power": 0.8056217974785957,
"discipline": 0.2271259375366224,
"xwoba": 0.353,
"recent_xwoba": 0.353,
"barrel": 11.5,
"ab_hard_contact": 0.5181502352861965,
"ab_bat_speed": 72.98060871518419,
"ab_strikeout_rate": 0.18459119496855345,
"available": 1.0
},
{
"player_id": "657136",
"player_name": "Connor Wong",
"position": "DH",
"weight": 5.0,
"quality": -0.1899521526471972,
"contact": -0.6292630760694804,
"power": -0.7187979292993688,
"discipline": -0.21740191511387158,
"xwoba": 0.286,
"recent_xwoba": 0.286,
"barrel": 3.9,
"ab_hard_contact": -0.8369109669397589,
"ab_bat_speed": 70.82565972222223,
"ab_strikeout_rate": 0.2833333333333333,
"available": 1.0
},
{
"player_id": "678882",
"player_name": "Ceddanne Rafaela",
"position": "CF",
"weight": 7.0,
"quality": -0.309872608709147,
"contact": -0.2682732632123363,
"power": -0.327664440395306,
"discipline": -0.3180685817805383,
"xwoba": 0.301,
"recent_xwoba": 0.301,
"barrel": 7.1,
"ab_hard_contact": -0.1414792840966207,
"ab_bat_speed": 68.28380111111112,
"ab_strikeout_rate": 0.20600000000000002,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669432",
"player_name": "Trevor Rogers",
"quality": -0.2914161749137863,
"contact": -0.5105337299136624,
"command": -0.420047619047619,
"movement": -0.2943289752251398,
"xwoba": 0.337,
"whiff": 23.1,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 5,
"predicted_score_text": "BAL 4 - 5 BOS",
"confidence": 0.5459,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "BAL 4 - 5 BOS",
"winner": "BOS"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "BAL 3 - 5 BOS",
"winner": "BOS"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 BAL | True | 1.0289 | 1.0289 | 1 | 9 | 0 |
| Home BOS | True | 1.0107 | 1.0107 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Adley Rutschman | 74 | 1.0681 | 0.9076 | neutral | 0.3730 | 0.2870 | 0.4800 | 9.40 | 46.80 | 90.20 | 16.80 | 14.80 | 14 | 10.80 | 0.5143 |
| 1B | Pete Alonso | 81 | 1.1090 | 1.4530 | positive_batter_regression | 0.3660 | 0.2690 | 0.5120 | 12.40 | 55.40 | 95 | 14.50 | 27.40 | 22.90 | 10.20 | 0.8857 |
| LF | Taylor Ward | 88 | 1.0289 | 0.3856 | neutral | 0.3470 | 0.2460 | 0.3580 | 4.20 | 38.90 | 89 | 13.80 | 18.30 | 20.40 | 19.60 | 0 |
| SS | Gunnar Henderson | 139 | 1.0053 | 0.0708 | neutral | 0.3000 | 0.2340 | 0.4000 | 9.60 | 43.60 | 89.20 | 12.40 | 25.10 | 26.10 | 6.10 | -0.1429 |
| C | Samuel Basallo | 71 | 1.0523 | 0.6969 | neutral | 0.3530 | 0.2720 | 0.4850 | 11.70 | 47.10 | 92 | 13.70 | 30.70 | 25.40 | 9.20 | -0.2857 |
| CF | Leody Taveras | 121 | 0.9889 | -0.1478 | neutral | 0.3160 | 0.2460 | 0.3550 | 4.30 | 28.40 | 87.40 | 16.40 | 24.80 | 22 | 11.90 | -0.8286 |
| RF | Colton Cowser | 234 | 0.9914 | -0.1153 | neutral | 0.3010 | 0.2030 | 0.3880 | 10.50 | 28.90 | 85.20 | 7.50 | 33.70 | 30 | 11.50 | 0 |
| 3B | Coby Mayo | 497 | 1.0143 | 0.1913 | neutral | 0.3050 | 0.2290 | 0.3930 | 10 | 48 | 91.80 | 19.50 | 28.30 | 30.30 | 7.90 | 0.4571 |
| 2B | Jackson Holliday | 212 | 1.0019 | 0.0251 | neutral | 0.3150 | 0.2200 | 0.3790 | 7.40 | 37 | 88.80 | 19.10 | 35.10 | 25.60 | 11.60 | -0.2571 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Wilyer Abreu | 22 | 1.0718 | 0.9579 | neutral | 0.3530 | 0.2760 | 0.4780 | 11.50 | 42.40 | 89.60 | 17.50 | 21.90 | 19.10 | 9 | 0.2857 |
| CF | Ceddanne Rafaela | 18 | 0.9818 | -0.2429 | negative_batter_regression | 0.3010 | 0.2440 | 0.3660 | 7.10 | 36.90 | 86.90 | 10.30 | 24.90 | 20.40 | 5.90 | -1.4000 |
| 1B | Willson Contreras | 29 | 1.1046 | 1.3948 | neutral | 0.3960 | 0.2770 | 0.5200 | 13.90 | 43.20 | 90.30 | 16 | 30.20 | 24.90 | 10.40 | 0.0571 |
| LF | Jarren Duran | 110 | 1.0112 | 0.1489 | neutral | 0.3040 | 0.2340 | 0.3970 | 11.80 | 40 | 90.40 | 15.10 | 34.90 | 28.70 | 7.30 | -0.0286 |
| SS | Isiah Kiner-Falefa | 158 | 1.0005 | 0.0063 | neutral | 0.3190 | 0.2780 | 0.3680 | 4.50 | 29.40 | 84.80 | 10.80 | 17.60 | 15.60 | 8.90 | -0.3429 |
| C | Carlos Narváez | 280 | 0.9965 | -0.0462 | neutral | 0.2910 | 0.2290 | 0.3430 | 6.80 | 38.40 | 91.60 | 14.50 | 28.70 | 30.30 | 8.20 | 0.2286 |
| 3B | Caleb Durbin | 144 | 0.9578 | -0.5632 | neutral | 0.2700 | 0.2290 | 0.2950 | 2.10 | 28.80 | 85 | 8.20 | 15.60 | 14.80 | 5.80 | 0.5143 |
| 2B | Andruw Monasterio | 307 | 0.9931 | -0.0915 | neutral | 0.2870 | 0.2480 | 0.3550 | 5.70 | 38.60 | 87.70 | 20 | 18 | 22.40 | 6.10 | -0.1143 |
| DH | Connor Wong | 147 | 0.9791 | -0.2792 | negative_batter_regression | 0.2860 | 0.2170 | 0.3300 | 3.90 | 37.30 | 87.60 | 12.60 | 25.50 | 22.40 | 7.90 | -1.0857 |
{
"home": {
"applied": true,
"offense_factor": 1.0107,
"raw_average_factor": 1.0107,
"team_espn_average_rank": 135.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "677800",
"player_name": "Wilyer Abreu",
"offense_factor": 1.0718,
"quality_score": 0.9579,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677800",
"espn_id": 4990055,
"player_name": "Wilyer Abreu",
"team": "BOS",
"role": "batter",
"espn_rank": 22,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 22,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 230.0,
"ab_rank": 27,
"r_value": 27.0,
"r_rank": 92,
"h_value": 65.0,
"h_rank": 17,
"avg_value": 0.2826086,
"avg_rank": 36.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 28.0,
"rbi_rank": 80,
"tb_value": 100.0,
"tb_rank": 402,
"bb_value": 23.0,
"bb_rank": 74,
"so_value": 49.0,
"so_rank": 89,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.345098,
"obp_rank": "65",
"slg_value": 0.4347826,
"slg_rank": "71",
"ops_value": 0.7798806,
"ops_rank": 70.0,
"war_value": 2.43,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 19.1,
"bb_percent": 9.0,
"woba": 0.343,
"xwoba": 0.353,
"xba": 0.276,
"xslg": 0.478,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 42.4,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 17.5,
"whiff_percent": 21.9,
"swing_percent": 48.5
},
"components": {
"expected_quality": 1.0674,
"regression_edge": 0.2857,
"xwoba_edge": 1.3571,
"xba_edge": 1.1143,
"xslg_edge": 1.4571,
"barrel_edge": 1.0222,
"hard_hit_edge": 0.5571,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "678882",
"player_name": "Ceddanne Rafaela",
"offense_factor": 0.9818,
"quality_score": -0.2429,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "678882",
"espn_id": 4987382,
"player_name": "Ceddanne Rafaela",
"team": "BOS",
"role": "batter",
"espn_rank": 18,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 18,
"gp_value": 57.0,
"gp_rank": 108,
"ab_value": 202.0,
"ab_rank": 111,
"r_value": 23.0,
"r_rank": 134,
"h_value": 58.0,
"h_rank": 54,
"avg_value": 0.2871287,
"avg_rank": 29.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 24.0,
"rbi_rank": 125,
"tb_value": 89.0,
"tb_rank": 544,
"bb_value": 13.0,
"bb_rank": 202,
"so_value": 45.0,
"so_rank": 118,
"sb_value": 6.0,
"sb_rank": 61,
"obp_value": 0.3484162,
"obp_rank": "59",
"slg_value": 0.440594,
"slg_rank": "67",
"ops_value": 0.7890102,
"ops_rank": 66.0,
"war_value": 2.52,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 195.0,
"k_percent": 20.4,
"bb_percent": 5.9,
"woba": 0.35,
"xwoba": 0.301,
"xba": 0.244,
"xslg": 0.366,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 36.9,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 10.3,
"whiff_percent": 24.9,
"swing_percent": 50.1
},
"components": {
"expected_quality": -0.0907,
"regression_edge": -1.4,
"xwoba_edge": -0.1286,
"xba_edge": 0.2,
"xslg_edge": -0.1429,
"barrel_edge": 0.0444,
"hard_hit_edge": -0.2286,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": 0.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "575929",
"player_name": "Willson Contreras",
"offense_factor": 1.1046,
"quality_score": 1.3948,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "575929",
"espn_id": 32532,
"player_name": "Willson Contreras",
"team": "BOS",
"role": "batter",
"espn_rank": 29,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 29,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 203.0,
"ab_rank": 108,
"r_value": 27.0,
"r_rank": 92,
"h_value": 59.0,
"h_rank": 46,
"avg_value": 0.2906403,
"avg_rank": 19.0,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 11.0,
"hr_rank": 38,
"rbi_value": 33.0,
"rbi_rank": 42,
"tb_value": 104.0,
"tb_rank": 330,
"bb_value": 25.0,
"bb_rank": 62,
"so_value": 60.0,
"so_rank": 43,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3900414,
"obp_rank": "13",
"slg_value": 0.5123152,
"slg_rank": "22",
"ops_value": 0.9023566,
"ops_rank": 15.0,
"war_value": 2.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 24.9,
"bb_percent": 10.4,
"woba": 0.394,
"xwoba": 0.396,
"xba": 0.277,
"xslg": 0.52,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 13.9,
"hard_hit_percent": 43.2,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 16.0,
"whiff_percent": 30.2,
"swing_percent": 47.5
},
"components": {
"expected_quality": 1.6426,
"regression_edge": 0.0571,
"xwoba_edge": 2.5,
"xba_edge": 1.1429,
"xslg_edge": 2.0571,
"barrel_edge": 1.5556,
"hard_hit_edge": 0.6714,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "680776",
"player_name": "Jarren Duran",
"offense_factor": 1.0112,
"quality_score": 0.1489,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680776",
"espn_id": 41610,
"player_name": "Jarren Duran",
"team": "BOS",
"role": "batter",
"espn_rank": 110,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 110,
"gp_value": 55.0,
"gp_rank": 140,
"ab_value": 224.0,
"ab_rank": 47,
"r_value": 31.0,
"r_rank": 58,
"h_value": 49.0,
"h_rank": 105,
"avg_value": 0.21875,
"avg_rank": 143.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 10.0,
"hr_rank": 42,
"rbi_value": 33.0,
"rbi_rank": 42,
"tb_value": 92.0,
"tb_rank": 366,
"bb_value": 18.0,
"bb_rank": 137,
"so_value": 71.0,
"so_rank": 20,
"sb_value": 10.0,
"sb_rank": 20,
"obp_value": 0.2834008,
"obp_rank": "153",
"slg_value": 0.4107142,
"slg_rank": "93",
"ops_value": 0.694115,
"ops_rank": 122.0,
"war_value": 1.04,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 28.7,
"bb_percent": 7.3,
"woba": 0.305,
"xwoba": 0.304,
"xba": 0.234,
"xslg": 0.397,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 15.1,
"whiff_percent": 34.9,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.1818,
"regression_edge": -0.0286,
"xwoba_edge": -0.0429,
"xba_edge": -0.0857,
"xslg_edge": 0.3,
"barrel_edge": 1.0889,
"hard_hit_edge": 0.2143,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "643396",
"player_name": "Isiah Kiner-Falefa",
"offense_factor": 1.0005,
"quality_score": 0.0063,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643396",
"espn_id": 33572,
"player_name": "Isiah Kiner-Falefa",
"team": "BOS",
"role": "batter",
"espn_rank": 158,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 158,
"gp_value": 35.0,
"gp_rank": 298,
"ab_value": 81.0,
"ab_rank": 331,
"r_value": 13.0,
"r_rank": 268,
"h_value": 24.0,
"h_rank": 268,
"avg_value": 0.2962962,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 12.0,
"rbi_rank": 265,
"tb_value": 30.0,
"tb_rank": 1892,
"bb_value": 8.0,
"bb_rank": 286,
"so_value": 14.0,
"so_rank": 381,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.3595505,
"obp_rank": "-",
"slg_value": 0.3703703,
"slg_rank": "-",
"ops_value": 0.7299208,
"ops_rank": null,
"war_value": 0.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 65.0,
"k_percent": 15.6,
"bb_percent": 8.9,
"woba": 0.331,
"xwoba": 0.319,
"xba": 0.278,
"xslg": 0.368,
"sweet_spot_percent": 41.2,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 29.4,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 10.8,
"whiff_percent": 17.6,
"swing_percent": 50.8
},
"components": {
"expected_quality": 0.0721,
"regression_edge": -0.3429,
"xwoba_edge": 0.3857,
"xba_edge": 1.1714,
"xslg_edge": -0.1143,
"barrel_edge": -0.5333,
"hard_hit_edge": -1.3,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": 1.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "665966",
"player_name": "Carlos Narváez",
"offense_factor": 0.9965,
"quality_score": -0.0462,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665966",
"espn_id": 5012120,
"player_name": "Carlos Narvaez",
"team": "BOS",
"role": "batter",
"espn_rank": 280,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 280,
"gp_value": 37.0,
"gp_rank": 287,
"ab_value": 109.0,
"ab_rank": 275,
"r_value": 14.0,
"r_rank": 255,
"h_value": 24.0,
"h_rank": 268,
"avg_value": 0.2201834,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 3.0,
"rbi_rank": 422,
"tb_value": 35.0,
"tb_rank": 1629,
"bb_value": 10.0,
"bb_rank": 253,
"so_value": 37.0,
"so_rank": 170,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.2975206,
"obp_rank": "-",
"slg_value": 0.3211009,
"slg_rank": "-",
"ops_value": 0.6186215,
"ops_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 30.3,
"bb_percent": 8.2,
"woba": 0.283,
"xwoba": 0.291,
"xba": 0.229,
"xslg": 0.343,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 38.4,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 14.5,
"whiff_percent": 28.7,
"swing_percent": 53.0
},
"components": {
"expected_quality": -0.1417,
"regression_edge": 0.2286,
"xwoba_edge": -0.4143,
"xba_edge": -0.2286,
"xslg_edge": -0.4714,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.0143,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": 1.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "702332",
"player_name": "Caleb Durbin",
"offense_factor": 0.9578,
"quality_score": -0.5632,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702332",
"espn_id": 5007615,
"player_name": "Caleb Durbin",
"team": "BOS",
"role": "batter",
"espn_rank": 144,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 144,
"gp_value": 54.0,
"gp_rank": 150,
"ab_value": 171.0,
"ab_rank": 160,
"r_value": 17.0,
"r_rank": 207,
"h_value": 33.0,
"h_rank": 205,
"avg_value": 0.1929824,
"avg_rank": 168.0,
"2b_value": 13.0,
"2b_rank": 28,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 23.0,
"rbi_rank": 134,
"tb_value": 51.0,
"tb_rank": 1320,
"bb_value": 11.0,
"bb_rank": 238,
"so_value": 28.0,
"so_rank": 239,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.2566844,
"obp_rank": "173",
"slg_value": 0.2982456,
"slg_rank": "169",
"ops_value": 0.55493,
"ops_rank": 172.0,
"war_value": 0.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 164.0,
"k_percent": 14.8,
"bb_percent": 5.8,
"woba": 0.252,
"xwoba": 0.27,
"xba": 0.229,
"xslg": 0.295,
"sweet_spot_percent": 24.7,
"barrel_batted_rate": 2.1,
"hard_hit_percent": 28.8,
"exit_velocity_avg": 85.0,
"launch_angle_avg": 8.2,
"whiff_percent": 15.6,
"swing_percent": 44.8
},
"components": {
"expected_quality": -0.9622,
"regression_edge": 0.5143,
"xwoba_edge": -1.0143,
"xba_edge": -0.2286,
"xslg_edge": -1.1571,
"barrel_edge": -1.0667,
"hard_hit_edge": -1.3857,
"exit_velocity_edge": -1.52,
"sweet_spot_edge": -1.4333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "655316",
"player_name": "Andruw Monasterio",
"offense_factor": 0.9931,
"quality_score": -0.0915,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "655316",
"espn_id": 36950,
"player_name": "Andruw Monasterio",
"team": "BOS",
"role": "batter",
"espn_rank": 307,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 307,
"gp_value": 31.0,
"gp_rank": 324,
"ab_value": 92.0,
"ab_rank": 300,
"r_value": 10.0,
"r_rank": 310,
"h_value": 22.0,
"h_rank": 291,
"avg_value": 0.2391304,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 10.0,
"rbi_rank": 289,
"tb_value": 34.0,
"tb_rank": 1719,
"bb_value": 6.0,
"bb_rank": 322,
"so_value": 22.0,
"so_rank": 303,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.2857142,
"obp_rank": "-",
"slg_value": 0.3695652,
"slg_rank": "-",
"ops_value": 0.6552794,
"ops_rank": null,
"war_value": 0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 95.0,
"k_percent": 22.4,
"bb_percent": 6.1,
"woba": 0.291,
"xwoba": 0.287,
"xba": 0.248,
"xslg": 0.355,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 38.6,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 20.0,
"whiff_percent": 18.0,
"swing_percent": 47.1
},
"components": {
"expected_quality": -0.2179,
"regression_edge": -0.1143,
"xwoba_edge": -0.5286,
"xba_edge": 0.3143,
"xslg_edge": -0.3,
"barrel_edge": -0.2667,
"hard_hit_edge": 0.0143,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.8833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "657136",
"player_name": "Connor Wong",
"offense_factor": 0.9791,
"quality_score": -0.2792,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "657136",
"espn_id": 40086,
"player_name": "Connor Wong",
"team": "BOS",
"role": "batter",
"espn_rank": 147,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 147,
"gp_value": 24.0,
"gp_rank": 363,
"ab_value": 66.0,
"ab_rank": 361,
"r_value": 8.0,
"r_rank": 345,
"h_value": 17.0,
"h_rank": 330,
"avg_value": 0.2575757,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 10.0,
"rbi_rank": 289,
"tb_value": 25.0,
"tb_rank": 2039,
"bb_value": 6.0,
"bb_rank": 322,
"so_value": 17.0,
"so_rank": 353,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3378378,
"obp_rank": "-",
"slg_value": 0.3787878,
"slg_rank": "-",
"ops_value": 0.7166256,
"ops_rank": null,
"war_value": 0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 65.0,
"k_percent": 22.4,
"bb_percent": 7.9,
"woba": 0.324,
"xwoba": 0.286,
"xba": 0.217,
"xslg": 0.33,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 37.3,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 12.6,
"whiff_percent": 25.5,
"swing_percent": 49.3
},
"components": {
"expected_quality": -0.5447,
"regression_edge": -1.0857,
"xwoba_edge": -0.5571,
"xba_edge": -0.5714,
"xslg_edge": -0.6571,
"barrel_edge": -0.6667,
"hard_hit_edge": -0.1714,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": -0.9667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0289,
"raw_average_factor": 1.0289,
"team_espn_average_rank": 168.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "668939",
"player_name": "Adley Rutschman",
"offense_factor": 1.0681,
"quality_score": 0.9076,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668939",
"espn_id": 42178,
"player_name": "Adley Rutschman",
"team": "BAL",
"role": "batter",
"espn_rank": 74,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 74,
"gp_value": 44.0,
"gp_rank": 228,
"ab_value": 163.0,
"ab_rank": 175,
"r_value": 21.0,
"r_rank": 168,
"h_value": 42.0,
"h_rank": 151,
"avg_value": 0.2576687,
"avg_rank": 68.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 30.0,
"rbi_rank": 63,
"tb_value": 77.0,
"tb_rank": 536,
"bb_value": 20.0,
"bb_rank": 108,
"so_value": 26.0,
"so_rank": 262,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3387096,
"obp_rank": "73",
"slg_value": 0.4723926,
"slg_rank": "40",
"ops_value": 0.8111022,
"ops_rank": 54.0,
"war_value": 1.39,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 158.0,
"k_percent": 14.0,
"bb_percent": 10.8,
"woba": 0.355,
"xwoba": 0.373,
"xba": 0.287,
"xslg": 0.48,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 46.8,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 16.8,
"whiff_percent": 14.8,
"swing_percent": 40.5
},
"components": {
"expected_quality": 1.3858,
"regression_edge": 0.5143,
"xwoba_edge": 1.9286,
"xba_edge": 1.4286,
"xslg_edge": 1.4857,
"barrel_edge": 0.5556,
"hard_hit_edge": 1.1857,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 0.9167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "624413",
"player_name": "Pete Alonso",
"offense_factor": 1.109,
"quality_score": 1.453,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "624413",
"espn_id": 37498,
"player_name": "Pete Alonso",
"team": "BAL",
"role": "batter",
"espn_rank": 81,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 81,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 236.0,
"ab_rank": 17,
"r_value": 35.0,
"r_rank": 45,
"h_value": 57.0,
"h_rank": 59,
"avg_value": 0.2415254,
"avg_rank": 102.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 12.0,
"hr_rank": 31,
"rbi_value": 38.0,
"rbi_rank": 21,
"tb_value": 105.0,
"tb_rank": 525,
"bb_value": 27.0,
"bb_rank": 46,
"so_value": 61.0,
"so_rank": 37,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.3195488,
"obp_rank": "103",
"slg_value": 0.4449152,
"slg_rank": "64",
"ops_value": 0.764464,
"ops_rank": 78.0,
"war_value": 1.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 240.0,
"k_percent": 22.9,
"bb_percent": 10.2,
"woba": 0.335,
"xwoba": 0.366,
"xba": 0.269,
"xslg": 0.512,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 12.4,
"hard_hit_percent": 55.4,
"exit_velocity_avg": 95.0,
"launch_angle_avg": 14.5,
"whiff_percent": 27.4,
"swing_percent": 45.1
},
"components": {
"expected_quality": 1.5453,
"regression_edge": 0.8857,
"xwoba_edge": 1.7286,
"xba_edge": 0.9143,
"xslg_edge": 1.9429,
"barrel_edge": 1.2222,
"hard_hit_edge": 2.4143,
"exit_velocity_edge": 2.48,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "621493",
"player_name": "Taylor Ward",
"offense_factor": 1.0289,
"quality_score": 0.3856,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621493",
"espn_id": 34923,
"player_name": "Taylor Ward",
"team": "BAL",
"role": "batter",
"espn_rank": 88,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 88,
"gp_value": 61.0,
"gp_rank": 28,
"ab_value": 222.0,
"ab_rank": 54,
"r_value": 37.0,
"r_rank": 33,
"h_value": 56.0,
"h_rank": 66,
"avg_value": 0.2522522,
"avg_rank": 81.0,
"2b_value": 15.0,
"2b_rank": 12,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 17.0,
"rbi_rank": 202,
"tb_value": 77.0,
"tb_rank": 1204,
"bb_value": 55.0,
"bb_rank": 3,
"so_value": 57.0,
"so_rank": 55,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.4,
"obp_rank": "8",
"slg_value": 0.3468468,
"slg_rank": "139",
"ops_value": 0.7468468,
"ops_rank": 86.0,
"war_value": 1.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 249.0,
"k_percent": 20.4,
"bb_percent": 19.6,
"woba": 0.347,
"xwoba": 0.347,
"xba": 0.246,
"xslg": 0.358,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 38.9,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 13.8,
"whiff_percent": 18.3,
"swing_percent": 31.1
},
"components": {
"expected_quality": 0.4483,
"regression_edge": 0.0,
"xwoba_edge": 1.1857,
"xba_edge": 0.2571,
"xslg_edge": -0.2571,
"barrel_edge": -0.6,
"hard_hit_edge": 0.0571,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "683002",
"player_name": "Gunnar Henderson",
"offense_factor": 1.0053,
"quality_score": 0.0708,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683002",
"espn_id": 42507,
"player_name": "Gunnar Henderson",
"team": "BAL",
"role": "batter",
"espn_rank": 139,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 139,
"gp_value": 61.0,
"gp_rank": 28,
"ab_value": 260.0,
"ab_rank": 1,
"r_value": 31.0,
"r_rank": 58,
"h_value": 57.0,
"h_rank": 59,
"avg_value": 0.2192307,
"avg_rank": 143.0,
"2b_value": 13.0,
"2b_rank": 28,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 13.0,
"hr_rank": 22,
"rbi_value": 32.0,
"rbi_rank": 48,
"tb_value": 111.0,
"tb_rank": 259,
"bb_value": 17.0,
"bb_rank": 146,
"so_value": 73.0,
"so_rank": 16,
"sb_value": 6.0,
"sb_rank": 61,
"obp_value": 0.2714285,
"obp_rank": "165",
"slg_value": 0.426923,
"slg_rank": "79",
"ops_value": 0.6983515,
"ops_rank": 119.0,
"war_value": 0.8,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 251.0,
"k_percent": 26.1,
"bb_percent": 6.1,
"woba": 0.305,
"xwoba": 0.3,
"xba": 0.234,
"xslg": 0.4,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 43.6,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 12.4,
"whiff_percent": 25.1,
"swing_percent": 49.5
},
"components": {
"expected_quality": 0.1056,
"regression_edge": -0.1429,
"xwoba_edge": -0.1571,
"xba_edge": -0.0857,
"xslg_edge": 0.3429,
"barrel_edge": 0.6,
"hard_hit_edge": 0.7286,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": -0.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "694212",
"player_name": "Samuel Basallo",
"offense_factor": 1.0523,
"quality_score": 0.6969,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694212",
"espn_id": 4917646,
"player_name": "Samuel Basallo",
"team": "BAL",
"role": "batter",
"espn_rank": 71,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 71,
"gp_value": 50.0,
"gp_rank": 184,
"ab_value": 166.0,
"ab_rank": 171,
"r_value": 23.0,
"r_rank": 134,
"h_value": 46.0,
"h_rank": 128,
"avg_value": 0.2771084,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 9.0,
"hr_rank": 53,
"rbi_value": 25.0,
"rbi_rank": 115,
"tb_value": 83.0,
"tb_rank": 541,
"bb_value": 17.0,
"bb_rank": 146,
"so_value": 47.0,
"so_rank": 101,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3405405,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.8405405,
"ops_rank": null,
"war_value": 1.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 158.0,
"k_percent": 25.4,
"bb_percent": 9.2,
"woba": 0.363,
"xwoba": 0.353,
"xba": 0.272,
"xslg": 0.485,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 11.7,
"hard_hit_percent": 47.1,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 13.7,
"whiff_percent": 30.7,
"swing_percent": 51.0
},
"components": {
"expected_quality": 1.1748,
"regression_edge": -0.2857,
"xwoba_edge": 1.3571,
"xba_edge": 1.0,
"xslg_edge": 1.5571,
"barrel_edge": 1.0667,
"hard_hit_edge": 1.2286,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "665750",
"player_name": "Leody Taveras",
"offense_factor": 0.9889,
"quality_score": -0.1478,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665750",
"espn_id": 34951,
"player_name": "Leody Taveras",
"team": "BAL",
"role": "batter",
"espn_rank": 121,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 121,
"gp_value": 51.0,
"gp_rank": 177,
"ab_value": 149.0,
"ab_rank": 202,
"r_value": 22.0,
"r_rank": 150,
"h_value": 41.0,
"h_rank": 158,
"avg_value": 0.2751677,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 22.0,
"rbi_rank": 147,
"tb_value": 59.0,
"tb_rank": 1120,
"bb_value": 21.0,
"bb_rank": 96,
"so_value": 39.0,
"so_rank": 154,
"sb_value": 6.0,
"sb_rank": 61,
"obp_value": 0.368421,
"obp_rank": "-",
"slg_value": 0.3959731,
"slg_rank": "-",
"ops_value": 0.7643941,
"ops_rank": null,
"war_value": 0.92,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 22.0,
"bb_percent": 11.9,
"woba": 0.345,
"xwoba": 0.316,
"xba": 0.246,
"xslg": 0.355,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 28.4,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 16.4,
"whiff_percent": 24.8,
"swing_percent": 46.3
},
"components": {
"expected_quality": -0.1059,
"regression_edge": -0.8286,
"xwoba_edge": 0.3,
"xba_edge": 0.2571,
"xslg_edge": -0.3,
"barrel_edge": -0.5778,
"hard_hit_edge": -1.4429,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "681297",
"player_name": "Colton Cowser",
"offense_factor": 0.9914,
"quality_score": -0.1153,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681297",
"espn_id": 4416990,
"player_name": "Colton Cowser",
"team": "BAL",
"role": "batter",
"espn_rank": 234,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 234,
"gp_value": 52.0,
"gp_rank": 169,
"ab_value": 113.0,
"ab_rank": 263,
"r_value": 17.0,
"r_rank": 207,
"h_value": 25.0,
"h_rank": 258,
"avg_value": 0.2212389,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 4.0,
"hr_rank": 173,
"rbi_value": 18.0,
"rbi_rank": 194,
"tb_value": 40.0,
"tb_rank": 1420,
"bb_value": 15.0,
"bb_rank": 173,
"so_value": 39.0,
"so_rank": 154,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3100775,
"obp_rank": "-",
"slg_value": 0.3539823,
"slg_rank": "-",
"ops_value": 0.6640598,
"ops_rank": null,
"war_value": 0.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 109.0,
"k_percent": 30.0,
"bb_percent": 11.5,
"woba": 0.301,
"xwoba": 0.301,
"xba": 0.203,
"xslg": 0.388,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 10.5,
"hard_hit_percent": 28.9,
"exit_velocity_avg": 85.2,
"launch_angle_avg": 7.5,
"whiff_percent": 33.7,
"swing_percent": 44.8
},
"components": {
"expected_quality": -0.2706,
"regression_edge": 0.0,
"xwoba_edge": -0.1286,
"xba_edge": -0.9714,
"xslg_edge": 0.1714,
"barrel_edge": 0.8,
"hard_hit_edge": -1.3714,
"exit_velocity_edge": -1.44,
"sweet_spot_edge": -0.95,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691723",
"player_name": "Coby Mayo",
"offense_factor": 1.0143,
"quality_score": 0.1913,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691723",
"espn_id": 4683371,
"player_name": "Coby Mayo",
"team": "BAL",
"role": "batter",
"espn_rank": 497,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 497,
"gp_value": 49.0,
"gp_rank": 188,
"ab_value": 149.0,
"ab_rank": 202,
"r_value": 19.0,
"r_rank": 185,
"h_value": 30.0,
"h_rank": 228,
"avg_value": 0.2013422,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 20.0,
"rbi_rank": 166,
"tb_value": 56.0,
"tb_rank": 1037,
"bb_value": 13.0,
"bb_rank": 202,
"so_value": 50.0,
"so_rank": 85,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.2727272,
"obp_rank": "-",
"slg_value": 0.3758389,
"slg_rank": "-",
"ops_value": 0.6485661,
"ops_rank": null,
"war_value": -0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 150.0,
"k_percent": 30.3,
"bb_percent": 7.9,
"woba": 0.289,
"xwoba": 0.305,
"xba": 0.229,
"xslg": 0.393,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 48.0,
"exit_velocity_avg": 91.8,
"launch_angle_avg": 19.5,
"whiff_percent": 28.3,
"swing_percent": 45.0
},
"components": {
"expected_quality": 0.2518,
"regression_edge": 0.4571,
"xwoba_edge": -0.0143,
"xba_edge": -0.2286,
"xslg_edge": 0.2429,
"barrel_edge": 0.6889,
"hard_hit_edge": 1.3571,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": -0.7167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "702616",
"player_name": "Jackson Holliday",
"offense_factor": 1.0019,
"quality_score": 0.0251,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702616",
"espn_id": 5080633,
"player_name": "Jackson Holliday",
"team": "BAL",
"role": "batter",
"espn_rank": 212,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 212,
"gp_value": 13.0,
"gp_rank": 426,
"ab_value": 37.0,
"ab_rank": 415,
"r_value": 7.0,
"r_rank": 361,
"h_value": 9.0,
"h_rank": 394,
"avg_value": 0.2432432,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 6.0,
"rbi_rank": 354,
"tb_value": 15.0,
"tb_rank": 1980,
"bb_value": 5.0,
"bb_rank": 351,
"so_value": 11.0,
"so_rank": 404,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.3255813,
"obp_rank": "-",
"slg_value": 0.4054054,
"slg_rank": "-",
"ops_value": 0.7309867,
"ops_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 25.0,
"k_percent": 25.6,
"bb_percent": 11.6,
"woba": 0.324,
"xwoba": 0.315,
"xba": 0.22,
"xslg": 0.379,
"sweet_spot_percent": 40.7,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 37.0,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 19.1,
"whiff_percent": 35.1,
"swing_percent": 42.5
},
"components": {
"expected_quality": 0.1068,
"regression_edge": -0.2571,
"xwoba_edge": 0.2714,
"xba_edge": -0.4857,
"xslg_edge": 0.0429,
"barrel_edge": 0.1111,
"hard_hit_edge": -0.2143,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": 1.2333,
"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 BAL | True | 658 | -0.2753 | 0.7800 | 1.0234 | 0.9648 | 0.9844 | 1.0240 | positive_pitcher_regression | 0.3370 | 0.3710 | 17.30 | 8.20 | 23.10 | 8 | 38 | |
| Home BOS | True | 665 | -0.7220 | 0.9240 | 1.0614 | 0.9630 | 0.9815 | 1.1116 | neutral | 0.3760 | 0.3700 | 15.60 | 8.20 | 25.70 | 9.70 | 42.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away BAL | True | None | 81 | 88.94 | 2130 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0424 | |
| Home BOS | True | None | 87 | 90.52 | 2083 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0460 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0567 |
| home_runs_vs_away_pitcher | 1.0183 |
| home_pitcher_quality_edge | -0.4467 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "678394",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 231.0,
"k_percent": 15.6,
"bb_percent": 8.2,
"woba": 0.37,
"xwoba": 0.376,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 42.6,
"avg_best_speed": 78.9353,
"avg_hyper_speed": 95.1985,
"whiff_percent": 25.7,
"swing_percent": 49.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -1.1862,
"command_and_miss": -0.3986,
"regression_edge": -0.1714,
"xwoba_edge": -1.7429,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.6,
"whiff_edge": -0.0143,
"bb_edge": 0.25,
"pitch_design_score": 0.046
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678394",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 90.5215666649257,
"release_spin_rate": 2083.0996448530395,
"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": 87,
"pitch_usage": 0.0,
"release_speed": 90.5215666649257,
"release_spin_rate": 2083.0996448530395,
"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.5216,
"release_spin_rate": 2083.0996,
"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.046,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3285,
"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.722,
"sample_weight": 0.924,
"run_prevention_factor": 1.0614,
"strikeout_factor": 0.963,
"walk_factor": 0.9815,
"homer_factor": 1.1116,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678394",
"espn_id": 4720856,
"player_name": "Brayan Bello",
"team": "BOS",
"role": "pitcher",
"espn_rank": 665,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 665,
"gp_value": 11.0,
"gp_rank": 322,
"gs_value": 7.0,
"gs_rank": 132,
"qs_value": 1.0,
"qs_rank": 127,
"era_value": 5.625,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 5.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 56.0,
"ip_rank": 97,
"h_value": 71.0,
"h_rank": 9,
"er_value": 35.0,
"er_rank": 15,
"hr_value": 10.0,
"hr_rank": 32,
"bb_value": 21.0,
"bb_rank": 62,
"k_value": 40.0,
"k_rank": 127,
"k_per_9_value": 6.428571,
"k_per_9_rank": 35,
"whip_value": 1.6428,
"whip_rank": null,
"war_value": -1.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "669432",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 195.0,
"k_percent": 17.3,
"bb_percent": 8.2,
"woba": 0.371,
"xwoba": 0.337,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 38.0,
"avg_best_speed": 78.33,
"avg_hyper_speed": 94.1147,
"whiff_percent": 23.1,
"swing_percent": 50.3
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.603,
"command_and_miss": -0.4193,
"regression_edge": 0.9714,
"xwoba_edge": -0.6286,
"barrel_edge": -0.1778,
"hard_hit_edge": 0.0571,
"whiff_edge": -0.3857,
"bb_edge": 0.25,
"pitch_design_score": -0.0424
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669432",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 81,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 88.94235728807082,
"release_spin_rate": 2130.4436402410693,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 88.94235728807082,
"release_spin_rate": 2130.4436402410693,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9424,
"release_spin_rate": 2130.4436,
"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.0424,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3032,
"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.2753,
"sample_weight": 0.78,
"run_prevention_factor": 1.0234,
"strikeout_factor": 0.9648,
"walk_factor": 0.9844,
"homer_factor": 1.024,
"woba_minus_xwoba": 0.034,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "669432",
"espn_id": 39640,
"player_name": "Trevor Rogers",
"team": "BAL",
"role": "pitcher",
"espn_rank": 658,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 658,
"gp_value": 10.0,
"gp_rank": 359,
"gs_value": 10.0,
"gs_rank": 90,
"qs_value": 3.0,
"qs_rank": 85,
"era_value": 6.8424,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 6.0,
"l_rank": 8,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 48.2,
"ip_rank": 121,
"h_value": 58.0,
"h_rank": 60,
"er_value": 37.0,
"er_rank": 12,
"hr_value": 8.0,
"hr_rank": 54,
"bb_value": 18.0,
"bb_rank": 99,
"k_value": 38.0,
"k_rank": 135,
"k_per_9_value": 7.0273976,
"k_per_9_rank": 30,
"whip_value": 1.5616,
"whip_rank": null,
"war_value": -0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0567,
"home_runs_vs_away_pitcher": 1.0183,
"home_pitcher_quality_edge": -0.4467
},
"score_before": {
"away_runs": 3.0363,
"home_runs": 4.6448
},
"score_after": {
"away_runs": 3.2086,
"home_runs": 4.7296,
"home_win_probability": 0.6212
},
"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 BAL | 11-47 | 0.190 | 1.20 | 3.80 | -151 | cold | average | |
| Home BOS | 12-42 | 0.222 | 1.30 | 3.30 | -106 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away BAL | 29-33 | 0.468 | -43 | -0.694 | True |
| Home BOS | 26-34 | 0.433 | 0 | 0 | True |
| Signal | - | - | 0.694 | 0.642 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target BAL | - | - | 4 | - | - | - | - |
| Game target BOS | - | - | 5 | - | - | - | - |
| Player finalized BAL | 58 | 14 | 9 | 0 | 9 | 8 | 15 |
| Player finalized BOS | 58 | 13 | 9 | 0 | 8 | 5 | 16 |
| Player model fractional BAL | 57.50 | 13.82 | 8.03 | 2.13 | 8.01 | 7.19 | 14.71 |
| Player model fractional BOS | 58.33 | 13.65 | 7.17 | 1.46 | 7.01 | 5.39 | 15.10 |
| Simulation box BAL | 34 | 7 | 3 | 1 | 3 | 4 | 11 |
| Simulation box BOS | 32 | 8 | 5 | 1 | 5 | 2 | 11 |
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 BAL | Starter | Trevor Rogers | 4 | 4 | 6 | 7 | 1 | 7.49 | 1.61 | True |
| Away BAL | Middle Reliever | Rico Garcia | 1.20 | 0 | 2 | 0 | 0 | 2.37 | 1.04 | True |
| Away BAL | Middle Reliever | Andrew Kittredge | 1 | 0 | 0 | 0 | 1 | 3.65 | 1.19 | True |
| Away BAL | Middle Reliever | Yennier Cano | 1.10 | 1 | 3 | 1 | 0 | 4.55 | 1.14 | True |
| Home BOS | Starter | Brayan Bello | 4.10 | 3 | 8 | 6 | 2 | 4.22 | 1.37 | True |
| Home BOS | Middle Reliever | Jovani Morán | 1.10 | 0 | 1 | 0 | 0 | 4.34 | 1.07 | True |
| Home BOS | Middle Reliever | Aroldis Chapman | 1.10 | 0 | 0 | 0 | 1 | 2.54 | 1.11 | True |
| Home BOS | Middle Reliever | Greg Weissert | 1 | 0 | 1 | 0 | 0 | 3.53 | 1.16 | True |
| Home BOS | Middle Reliever | Justin Slaten | 1 | 0 | 1 | 1 | 1 | 4.70 | 1.37 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | BOS | batter | DH | Connor Wong | boosted | 10 | 6 | 4 | 5 | 5 | predicted_RBI | 1.8400 | boost | better |
| home | BOS | batter | C | Carlos Narváez | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.7800 | boost | better |
| home | BOS | batter | 1B | Willson Contreras | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | -1.7700 | deboost | worse |
| away | BAL | batter | SS | Gunnar Henderson | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.7090 | boost | worse |
| away | BAL | batter | 2B | Jackson Holliday | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 1.5900 | boost | better |
| home | BOS | batter | 3B | Caleb Durbin | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.4450 | boost | worse |
| away | BAL | batter | DH | Adley Rutschman | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 1.3230 | boost | worse |
| away | BAL | batter | 3B | Coby Mayo | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 1.3200 | boost | better |
| home | BOS | batter | RF | Wilyer Abreu | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -1.3100 | deboost | worse |
| away | BAL | batter | RF | Colton Cowser | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 1.1900 | boost | better |
| away | BAL | batter | CF | Leody Taveras | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.1890 | boost | worse |
| away | BAL | batter | LF | Taylor Ward | better | 9 | 6 | 3 | 5 | 4 | predicted_SO | 1.0980 | boost | worse |
| home | BOS | batter | LF | Jarren Duran | worse | 10 | 1 | 9 | 0 | 10 | predicted_H | -1.0600 | deboost | worse |
| home | BOS | pitcher | Starter | Brayan Bello | worse | 3 | 2 | 1 | 0 | 3 | predicted_ER | 1.0000 | boost | worse |
| home | BOS | pitcher | Middle Reliever | Greg Weissert | better | 1 | 0 | 1 | 1 | 0 | predicted_H | -1.0000 | deboost | better |
| home | BOS | pitcher | Middle Reliever | Justin Slaten | better | 1 | 0 | 1 | 1 | 0 | predicted_ER | -1.0000 | deboost | better |
| away | BAL | batter | C | Samuel Basallo | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -0.9200 | deboost | worse |
| home | BOS | batter | CF | Ceddanne Rafaela | worse | 8 | 4 | 4 | 3 | 5 | predicted_2B | 0.8030 | boost | better |
| home | BOS | batter | 2B | Andruw Monasterio | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | 0.7100 | boost | better |
| away | BAL | pitcher | Starter | Trevor Rogers | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.6667 | deboost | worse |
| away | BAL | batter | 1B | Pete Alonso | worse | 8 | 2 | 6 | 2 | 6 | predicted_RBI | -0.6500 | deboost | worse |
| home | BOS | batter | SS | Isiah Kiner-Falefa | better | 9 | 4 | 5 | 5 | 4 | predicted_RBI | 0.6100 | boost | better |
| away | BAL | pitcher | Middle Reliever | Yennier Cano | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.4333 | boost | better |
| away | BAL | pitcher | Middle Reliever | Andrew Kittredge | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
| home | BOS | pitcher | Middle Reliever | Jovani Morán | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | BAL | pitcher | Middle Reliever | Rico Garcia | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| home | BOS | pitcher | Middle Reliever | Aroldis Chapman | 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 | Trevor Rogers |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2753 |
| ESPN Rank | 658 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0424 |
| Avg Velo | 88.9424 |
| Avg Spin | 2130.4436 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4 |
| Pre ER | 4 |
| Pre H | 7 |
| Pre BB | 1 |
| Pre SO | 6 |
| Season ERA | 6.8425 |
| Season WHIP | 1.5616 |
| Role Avg IP | 4.8670 |
| Recent Avg IP | 4 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 71,
"wins": 34,
"losses": 37,
"win_pct": 0.4789,
"runs_scored": 313.0,
"runs_allowed": 344.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4366,
"avg_runs_scored": 4.4085,
"avg_runs_allowed": 4.8451,
"offense_index": 0.9877,
"defense_index": 0.9212,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.2,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.0367
},
"opponent": {
"team": "BOS",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 264.0,
"runs_allowed": 279.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2206,
"avg_runs_scored": 3.8824,
"avg_runs_allowed": 4.1029,
"offense_index": 0.8698,
"defense_index": 1.0879,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 4.1,
"run_differential": 13.0
},
"available": true,
"quality_score": -0.1372
},
"edges": {
"quality_edge": 0.1005,
"offense_edge": -0.0123,
"opponent_offense_edge": -0.1302,
"defense_strength": -0.0788,
"opponent_defense_weakness": -0.0879,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0069,
"run_prevention": 0.982,
"strikeout": 1.0134
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669432",
"profile": {
"available": true,
"pitcher_id": "669432",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 195.0,
"k_percent": 17.3,
"bb_percent": 8.2,
"woba": 0.371,
"xwoba": 0.337,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 38.0,
"avg_best_speed": 78.33,
"avg_hyper_speed": 94.1147,
"whiff_percent": 23.1,
"swing_percent": 50.3
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.603,
"command_and_miss": -0.4193,
"regression_edge": 0.9714,
"xwoba_edge": -0.6286,
"barrel_edge": -0.1778,
"hard_hit_edge": 0.0571,
"whiff_edge": -0.3857,
"bb_edge": 0.25,
"pitch_design_score": -0.0424
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669432",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 81,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 88.94235728807082,
"release_spin_rate": 2130.4436402410693,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 88.94235728807082,
"release_spin_rate": 2130.4436402410693,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9424,
"release_spin_rate": 2130.4436,
"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.0424,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3032,
"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.2753,
"sample_weight": 0.78,
"run_prevention_factor": 1.0234,
"strikeout_factor": 0.9648,
"walk_factor": 0.9844,
"homer_factor": 1.024,
"woba_minus_xwoba": 0.034,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "669432",
"espn_id": 39640,
"player_name": "Trevor Rogers",
"team": "BAL",
"role": "pitcher",
"espn_rank": 658,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 658,
"gp_value": 10.0,
"gp_rank": 359,
"gs_value": 10.0,
"gs_rank": 90,
"qs_value": 3.0,
"qs_rank": 85,
"era_value": 6.8424,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 6.0,
"l_rank": 8,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 48.2,
"ip_rank": 121,
"h_value": 58.0,
"h_rank": 60,
"er_value": 37.0,
"er_rank": 12,
"hr_value": 8.0,
"hr_rank": 54,
"bb_value": 18.0,
"bb_rank": 99,
"k_value": 38.0,
"k_rank": 135,
"k_per_9_value": 7.0273976,
"k_per_9_rank": 30,
"whip_value": 1.5616,
"whip_rank": null,
"war_value": -0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 5.0,
"factor": 1.0183,
"adjusted": 5
},
"predicted_H": {
"original": 6.0,
"factor": 1.0183,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9878,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0187,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9725,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 48.2,
"ER": 37,
"H": 58,
"BB": 18,
"SO": 38,
"HR": 8,
"ERA": 6.842465753424657,
"WHIP": 1.5616438356164382,
"K9": 7.027397260273972,
"HR9": 1.4794520547945205,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "669432",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 81,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 88.94235728807082,
"release_spin_rate": 2130.4436402410693,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 88.94235728807082,
"release_spin_rate": 2130.4436402410693,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9424,
"release_spin_rate": 2130.4436,
"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.0424,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3032,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.5625,
"last_10": 0.43749999999999994
},
"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": "669432",
"report_date": "20260604_B",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 20.0,
"ER": 24.0,
"R": 25.0,
"H": 28.0,
"BB": 10.0,
"SO": 13.0,
"HR": 5.0,
"BF": 98.0,
"Pitches": 397.0
},
"per_game": {
"IP": 4.0,
"ER": 4.8,
"R": 5.0,
"H": 5.6,
"BB": 2.0,
"SO": 2.6,
"HR": 1.0,
"BF": 19.6,
"Pitches": 79.4
},
"rates": {
"ERA": 10.8,
"WHIP": 1.9,
"ER_per_IP": 1.2,
"H_per_IP": 1.4,
"BB_per_IP": 0.5,
"SO_per_IP": 0.65,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 48.2,
"ER": 37.0,
"R": 39.0,
"H": 58.0,
"BB": 18.0,
"SO": 38.0,
"HR": 8.0,
"BF": 220.0,
"Pitches": 871.0
},
"per_game": {
"IP": 5.0,
"ER": 3.7,
"R": 3.9,
"H": 5.8,
"BB": 1.8,
"SO": 3.8,
"HR": 0.8,
"BF": 22.0,
"Pitches": 87.1
},
"rates": {
"ERA": 6.8425,
"WHIP": 1.5616,
"ER_per_IP": 0.76027,
"H_per_IP": 1.19178,
"BB_per_IP": 0.36986,
"SO_per_IP": 0.78082,
"HR_per_IP": 0.16438
}
},
"season": {
"games": 10,
"totals": {
"IP": 48.2,
"ER": 37.0,
"R": 39.0,
"H": 58.0,
"BB": 18.0,
"SO": 38.0,
"HR": 8.0,
"BF": 220.0,
"Pitches": 871.0
},
"per_game": {
"IP": 5.0,
"ER": 3.7,
"R": 3.9,
"H": 5.8,
"BB": 1.8,
"SO": 3.8,
"HR": 0.8,
"BF": 22.0,
"Pitches": 87.1
},
"rates": {
"ERA": 6.8425,
"WHIP": 1.5616,
"ER_per_IP": 0.76027,
"H_per_IP": 1.19178,
"BB_per_IP": 0.36986,
"SO_per_IP": 0.78082,
"HR_per_IP": 0.16438
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 3.758,
"predicted_H": 5.377,
"predicted_BB": 1.885,
"predicted_SO": 3.544,
"predicted_HR": 0.846,
"predicted_ERA": 7.4934,
"predicted_WHIP": 1.6089
}
}{
"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": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 3.758,
"final": 3.8768,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.377,
"final": 6.1736,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.885,
"final": 1.4506,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 3.544,
"final": 4.7495,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.846,
"final": 0.4308,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.4934,
"final": 7.4934,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6089,
"final": 1.6089,
"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 | Rico Garcia |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5449 |
| ESPN Rank | 25 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0040 |
| Avg Velo | 89.7716 |
| Avg Spin | 2460.9712 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 0.6835 |
| Season WHIP | 0.6076 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 71,
"wins": 34,
"losses": 37,
"win_pct": 0.4789,
"runs_scored": 313.0,
"runs_allowed": 344.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4366,
"avg_runs_scored": 4.4085,
"avg_runs_allowed": 4.8451,
"offense_index": 0.9877,
"defense_index": 0.9212,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.2,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.0367
},
"opponent": {
"team": "BOS",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 264.0,
"runs_allowed": 279.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2206,
"avg_runs_scored": 3.8824,
"avg_runs_allowed": 4.1029,
"offense_index": 0.8698,
"defense_index": 1.0879,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 4.1,
"run_differential": 13.0
},
"available": true,
"quality_score": -0.1372
},
"edges": {
"quality_edge": 0.1005,
"offense_edge": -0.0123,
"opponent_offense_edge": -0.1302,
"defense_strength": -0.0788,
"opponent_defense_weakness": -0.0879,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0069,
"run_prevention": 0.982,
"strikeout": 1.0134
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670329",
"profile": {
"available": true,
"pitcher_id": "670329",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 80.0,
"k_percent": 32.3,
"bb_percent": 9.7,
"woba": 0.154,
"xwoba": 0.231,
"sweet_spot_percent": 22.2,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 31.5,
"avg_best_speed": 72.9806,
"avg_hyper_speed": 92.7089,
"whiff_percent": 40.2,
"swing_percent": 48.2
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.9039,
"command_and_miss": 1.325,
"regression_edge": -2.0,
"xwoba_edge": 2.4,
"barrel_edge": 0.7778,
"hard_hit_edge": 0.9857,
"whiff_edge": 2.0571,
"bb_edge": -0.125,
"pitch_design_score": 0.004
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670329",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 89.7716231277967,
"release_spin_rate": 2460.9711946740804,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 89.7716231277967,
"release_spin_rate": 2460.9711946740804,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7716,
"release_spin_rate": 2460.9712,
"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.004,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0285,
"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.5449,
"sample_weight": 0.45,
"run_prevention_factor": 0.9537,
"strikeout_factor": 1.0622,
"walk_factor": 1.0045,
"homer_factor": 0.9219,
"woba_minus_xwoba": -0.077,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "670329",
"espn_id": 41382,
"player_name": "Rico Garcia",
"team": "BAL",
"role": "pitcher",
"espn_rank": 25,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 25,
"gp_value": 28.0,
"gp_rank": 21,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 0.6835,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 4.0,
"sv_rank": 27,
"hld_value": 8.0,
"hld_rank": 29,
"ip_value": 26.1,
"ip_rank": 234,
"h_value": 7.0,
"h_rank": 498,
"er_value": 2.0,
"er_rank": 551,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 30.0,
"k_rank": 192,
"k_per_9_value": 10.253164,
"k_per_9_rank": 22,
"whip_value": 0.6075,
"whip_rank": null,
"war_value": 1.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9792,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9792,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9649,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.028,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 1,
"H": 6,
"BB": 3,
"SO": 11,
"HR": 0,
"ERA": 0.9642857142857144,
"WHIP": 0.9642857142857144,
"K9": 10.607142857142858,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "670329",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 89.7716231277967,
"release_spin_rate": 2460.9711946740804,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 89.7716231277967,
"release_spin_rate": 2460.9711946740804,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7716,
"release_spin_rate": 2460.9712,
"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.004,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0285,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.197,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5097,
"prior_weight": 0.4903
},
"role": "pitcher",
"player_id": "670329",
"report_date": "20260604_B",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7059,
"ER_per_IP": 0.0,
"H_per_IP": 0.35294,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.88235,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 3.0,
"SO": 11.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 136.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.3,
"SO": 1.1,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.6
},
"rates": {
"ERA": 0.9643,
"WHIP": 0.9643,
"ER_per_IP": 0.10714,
"H_per_IP": 0.64286,
"BB_per_IP": 0.32143,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.0
}
},
"season": {
"games": 28,
"totals": {
"IP": 26.1,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 9.0,
"SO": 30.0,
"HR": 1.0,
"BF": 93.0,
"Pitches": 361.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0714,
"R": 0.0714,
"H": 0.25,
"BB": 0.3214,
"SO": 1.0714,
"HR": 0.0357,
"BF": 3.3214,
"Pitches": 12.8929
},
"rates": {
"ERA": 0.6835,
"WHIP": 0.6076,
"ER_per_IP": 0.07595,
"H_per_IP": 0.26582,
"BB_per_IP": 0.34177,
"SO_per_IP": 1.13924,
"HR_per_IP": 0.03797
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.263,
"predicted_H": 0.691,
"predicted_BB": 0.353,
"predicted_SO": 0.99,
"predicted_HR": 0.071,
"predicted_ERA": 2.3709,
"predicted_WHIP": 1.0444
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5572,
"form_weight": 0.4428,
"form_reliability": 0.5097,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.197,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5097,
"prior_weight": 0.4903
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.263,
"final": 0.1165,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.691,
"final": 0.306,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.353,
"final": 0.1563,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.99,
"final": 1.5527,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.071,
"final": 0.0314,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3709,
"final": 2.3709,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0444,
"final": 1.0444,
"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 | Andrew Kittredge |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2100 |
| ESPN Rank | 588 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1338 |
| Avg Velo | 92.0902 |
| Avg Spin | 2474.2387 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 6.9429 |
| Season WHIP | 1.6286 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 71,
"wins": 34,
"losses": 37,
"win_pct": 0.4789,
"runs_scored": 313.0,
"runs_allowed": 344.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4366,
"avg_runs_scored": 4.4085,
"avg_runs_allowed": 4.8451,
"offense_index": 0.9877,
"defense_index": 0.9212,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.2,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.0367
},
"opponent": {
"team": "BOS",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 264.0,
"runs_allowed": 279.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2206,
"avg_runs_scored": 3.8824,
"avg_runs_allowed": 4.1029,
"offense_index": 0.8698,
"defense_index": 1.0879,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 4.1,
"run_differential": 13.0
},
"available": true,
"quality_score": -0.1372
},
"edges": {
"quality_edge": 0.1005,
"offense_edge": -0.0123,
"opponent_offense_edge": -0.1302,
"defense_strength": -0.0788,
"opponent_defense_weakness": -0.0879,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0069,
"run_prevention": 0.982,
"strikeout": 1.0134
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "552640",
"profile": {
"available": true,
"pitcher_id": "552640",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 51.0,
"k_percent": 23.2,
"bb_percent": 8.9,
"woba": 0.352,
"xwoba": 0.276,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 28.9,
"avg_best_speed": 75.7159,
"avg_hyper_speed": 92.7613,
"whiff_percent": 24.5,
"swing_percent": 52.2
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.4596,
"command_and_miss": -0.005,
"regression_edge": 2.0,
"xwoba_edge": 1.1143,
"barrel_edge": 0.4222,
"hard_hit_edge": 1.3571,
"whiff_edge": -0.1857,
"bb_edge": 0.075,
"pitch_design_score": 0.1338
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "552640",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 92.09022359992947,
"release_spin_rate": 2474.2386868033927,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 92.09022359992947,
"release_spin_rate": 2474.2386868033927,
"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.0902,
"release_spin_rate": 2474.2387,
"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.1338,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.956,
"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.21,
"sample_weight": 0.45,
"run_prevention_factor": 0.9821,
"strikeout_factor": 0.9985,
"walk_factor": 0.9973,
"homer_factor": 0.9453,
"woba_minus_xwoba": 0.076,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "552640",
"espn_id": 35872,
"player_name": "Andrew Kittredge",
"team": "BAL",
"role": "pitcher",
"espn_rank": 588,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 588,
"gp_value": 14.0,
"gp_rank": 214,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 6.9428,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 11.2,
"ip_rank": 434,
"h_value": 15.0,
"h_rank": 362,
"er_value": 9.0,
"er_rank": 297,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 4.0,
"bb_rank": 462,
"k_value": 13.0,
"k_rank": 403,
"k_per_9_value": 10.028572,
"k_per_9_rank": 25,
"whip_value": 1.6285,
"whip_rank": null,
"war_value": -0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9919,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9919,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9988,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9754,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9993,
"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": 2,
"H": 6,
"BB": 3,
"SO": 9,
"HR": 1,
"ERA": 2.1599999999999997,
"WHIP": 1.0799999999999998,
"K9": 9.719999999999999,
"HR9": 1.0799999999999998,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "552640",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 92.09022359992947,
"release_spin_rate": 2474.2386868033927,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 92.09022359992947,
"release_spin_rate": 2474.2386868033927,
"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.0902,
"release_spin_rate": 2474.2387,
"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.1338,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.956,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 2.303,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3153,
"prior_weight": 0.6847
},
"role": "pitcher",
"player_id": "552640",
"report_date": "20260604_B",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 56.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.0,
"Pitches": 11.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4615,
"ER_per_IP": 0.0,
"H_per_IP": 0.23077,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 2.0,
"R": 4.0,
"H": 6.0,
"BB": 3.0,
"SO": 9.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 127.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.4,
"H": 0.6,
"BB": 0.3,
"SO": 0.9,
"HR": 0.1,
"BF": 3.5,
"Pitches": 12.7
},
"rates": {
"ERA": 2.16,
"WHIP": 1.08,
"ER_per_IP": 0.24,
"H_per_IP": 0.72,
"BB_per_IP": 0.36,
"SO_per_IP": 1.08,
"HR_per_IP": 0.12
}
},
"season": {
"games": 14,
"totals": {
"IP": 11.2,
"ER": 9.0,
"R": 11.0,
"H": 15.0,
"BB": 4.0,
"SO": 13.0,
"HR": 2.0,
"BF": 55.0,
"Pitches": 203.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6429,
"R": 0.7857,
"H": 1.0714,
"BB": 0.2857,
"SO": 0.9286,
"HR": 0.1429,
"BF": 3.9286,
"Pitches": 14.5
},
"rates": {
"ERA": 6.9429,
"WHIP": 1.6286,
"ER_per_IP": 0.77143,
"H_per_IP": 1.28571,
"BB_per_IP": 0.34286,
"SO_per_IP": 1.11429,
"HR_per_IP": 0.17143
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.29,
"predicted_H": 0.605,
"predicted_BB": 0.246,
"predicted_SO": 0.736,
"predicted_HR": 0.084,
"predicted_ERA": 3.6496,
"predicted_WHIP": 1.193
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6393,
"form_weight": 0.3607,
"form_reliability": 0.3153,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.303,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3153,
"prior_weight": 0.6847
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.29,
"final": 0.1046,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.605,
"final": 0.2182,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.246,
"final": 0.728,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.736,
"final": 0.2655,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.084,
"final": 0.0303,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6496,
"final": 3.6496,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.193,
"final": 1.193,
"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 | Yennier Cano |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0120 |
| ESPN Rank | 172 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1264 |
| Avg Velo | 91.9570 |
| Avg Spin | 1937.1984 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 2.2881 |
| Season WHIP | 0.6610 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 71,
"wins": 34,
"losses": 37,
"win_pct": 0.4789,
"runs_scored": 313.0,
"runs_allowed": 344.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4366,
"avg_runs_scored": 4.4085,
"avg_runs_allowed": 4.8451,
"offense_index": 0.9877,
"defense_index": 0.9212,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.2,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.0367
},
"opponent": {
"team": "BOS",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 264.0,
"runs_allowed": 279.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2206,
"avg_runs_scored": 3.8824,
"avg_runs_allowed": 4.1029,
"offense_index": 0.8698,
"defense_index": 1.0879,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 4.1,
"run_differential": 13.0
},
"available": true,
"quality_score": -0.1372
},
"edges": {
"quality_edge": 0.1005,
"offense_edge": -0.0123,
"opponent_offense_edge": -0.1302,
"defense_strength": -0.0788,
"opponent_defense_weakness": -0.0879,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0069,
"run_prevention": 0.982,
"strikeout": 1.0134
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666974",
"profile": {
"available": true,
"pitcher_id": "666974",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 70.0,
"k_percent": 21.6,
"bb_percent": 4.1,
"woba": 0.227,
"xwoba": 0.312,
"sweet_spot_percent": 25.9,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 44.4,
"avg_best_speed": 76.4694,
"avg_hyper_speed": 94.3836,
"whiff_percent": 26.0,
"swing_percent": 46.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2904,
"command_and_miss": 0.2071,
"regression_edge": -2.0,
"xwoba_edge": 0.0857,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.8571,
"whiff_edge": 0.0286,
"bb_edge": 1.275,
"pitch_design_score": 0.1264
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666974",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.95700676070165,
"release_spin_rate": 1937.1983588091362,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.95700676070165,
"release_spin_rate": 1937.1983588091362,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.957,
"release_spin_rate": 1937.1984,
"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.1264,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9027,
"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.012,
"sample_weight": 0.45,
"run_prevention_factor": 0.999,
"strikeout_factor": 0.9982,
"walk_factor": 0.9541,
"homer_factor": 1.0455,
"woba_minus_xwoba": -0.085,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "666974",
"espn_id": 35536,
"player_name": "Yennier Cano",
"team": "BAL",
"role": "pitcher",
"espn_rank": 172,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 172,
"gp_value": 26.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.7457,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 4.0,
"hld_rank": 99,
"ip_value": 19.2,
"ip_rank": 341,
"h_value": 13.0,
"h_rank": 395,
"er_value": 6.0,
"er_rank": 404,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 4.0,
"bb_rank": 462,
"k_value": 16.0,
"k_rank": 357,
"k_per_9_value": 7.322034,
"k_per_9_rank": 28,
"whip_value": 0.8644,
"whip_rank": null,
"war_value": 0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9793,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0205,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9992,
"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": 3,
"H": 5,
"BB": 2,
"SO": 5,
"HR": 0,
"ERA": 3.2400000000000007,
"WHIP": 0.8400000000000001,
"K9": 5.4,
"HR9": 0.0,
"games_pitched": 9,
"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-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "666974",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.95700676070165,
"release_spin_rate": 1937.1983588091362,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.95700676070165,
"release_spin_rate": 1937.1983588091362,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.957,
"release_spin_rate": 1937.1984,
"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.1264,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9027,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.882,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.437,
"prior_weight": 0.563
},
"role": "pitcher",
"player_id": "666974",
"report_date": "20260604_B",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 3.0,
"R": 3.0,
"H": 3.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 61.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 0.6,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 3.0,
"Pitches": 12.2
},
"rates": {
"ERA": 7.3636,
"WHIP": 1.0909,
"ER_per_IP": 0.81818,
"H_per_IP": 0.81818,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 33.0,
"Pitches": 121.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.2,
"SO": 0.5,
"HR": 0.0,
"BF": 3.3,
"Pitches": 12.1
},
"rates": {
"ERA": 3.0,
"WHIP": 0.7778,
"ER_per_IP": 0.33333,
"H_per_IP": 0.55556,
"BB_per_IP": 0.22222,
"SO_per_IP": 0.55556,
"HR_per_IP": 0.0
}
},
"season": {
"games": 25,
"totals": {
"IP": 19.2,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 3.0,
"SO": 16.0,
"HR": 1.0,
"BF": 71.0,
"Pitches": 265.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.12,
"SO": 0.64,
"HR": 0.04,
"BF": 2.84,
"Pitches": 10.6
},
"rates": {
"ERA": 2.2881,
"WHIP": 0.661,
"ER_per_IP": 0.25424,
"H_per_IP": 0.50847,
"BB_per_IP": 0.15254,
"SO_per_IP": 0.81356,
"HR_per_IP": 0.05085
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.363,
"predicted_H": 0.595,
"predicted_BB": 0.221,
"predicted_SO": 0.685,
"predicted_HR": 0.059,
"predicted_ERA": 4.5518,
"predicted_WHIP": 1.136
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5879,
"form_weight": 0.4121,
"form_reliability": 0.437,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.882,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.437,
"prior_weight": 0.563
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.363,
"final": 0.7375,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.595,
"final": 0.8331,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.221,
"final": 0.0911,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 0.685,
"final": 2.0459,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.059,
"final": 0.6122,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5518,
"final": 4.5518,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.136,
"final": 1.136,
"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.323 | 0.000 | 0.000 | Hitting_2B | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.006 | 1.000 | -0.006 | -1.000 |
| predicted_AB | 4.150 | 3.000 | 7.000 | Hitting_AB | 3.896 | 5.000 | -0.896 | -2.000 |
| predicted_AVG | 0.233 | 0.000 | 0.286 | Hitting_AVG | 0.266 | 0.400 | -0.266 | -0.400 |
| predicted_BB | 0.409 | 1.000 | 1.000 | Hitting_BB | 0.409 | 0.000 | 0.591 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.006 | 1.000 | -0.006 | -1.000 |
| predicted_H | 0.970 | 0.000 | 2.000 | Hitting_H | 1.037 | 2.000 | -1.037 | -2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_OBP | 0.332 | 0.250 | 0.375 | Hitting_OBP | 0.338 | 0.400 | -0.088 | -0.150 |
| predicted_R | 0.530 | 0.000 | 1.000 | Hitting_R | 0.530 | 0.000 | -0.530 | 0.000 |
| predicted_RBI | 0.640 | 0.000 | 1.000 | Hitting_RBI | 0.689 | 1.000 | -0.689 | -1.000 |
| predicted_SLG | 0.417 | 0.000 | 0.286 | Hitting_SLG | 0.498 | 0.800 | -0.498 | -0.800 |
| predicted_SO | 0.677 | 2.000 | 1.000 | Hitting_SO | 0.677 | 0.000 | 1.323 | 2.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_SO: 0.6770 -> 2.0000 (boost 1.3230, worse) |
| Biggest Deboost | predicted_AB: 4.1500 -> 3.0000 (deboost -1.1500, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.1500 -> 7.1883 (boost 3.0383, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_H: 1.7440 -> 2.0000 (boost 0.2560, better) | predicted_2B: 0.4777 -> 0.0000 (deboost -0.4777, worse) | AB rounded to 7 (raw=7.19), rates preserved: AVG=0.243 HR/AB=0.032 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9193 -> 1.0000 (boost 0.0807, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2426 -> 0.2860 (boost 0.0434, better) | predicted_SLG: 0.4268 -> 0.2860 (deboost -0.1408, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4268 (boost 0.1408, better) | predicted_AVG: 0.2860 -> 0.2426 (deboost -0.0434, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668939",
"player_name": "Adley Rutschman",
"position": "DH",
"team": "BAL",
"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.323,
"predicted_3B": 0.006,
"predicted_AB": 4.15,
"predicted_AVG": 0.233,
"predicted_BB": 0.409,
"predicted_H": 0.97,
"predicted_HR": 0.12,
"predicted_OBP": 0.332,
"predicted_R": 0.53,
"predicted_RBI": 0.64,
"predicted_SLG": 0.417,
"predicted_SO": 0.677
},
"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.4777,
"predicted_3B": 0.0827,
"predicted_AB": 7.1883,
"predicted_AVG": 0.2388,
"predicted_BB": 0.9586,
"predicted_H": 1.7409,
"predicted_HBP": 0.061,
"predicted_HR": 0.2282,
"predicted_OBP": 0.3361,
"predicted_R": 0.9143,
"predicted_RBI": 1.2421,
"predicted_SLG": 0.4268,
"predicted_SO": 1.1231
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.323,
"after": 0.4777,
"delta": 0.1547,
"percent_delta": 0.4789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0827,
"delta": 0.0767,
"percent_delta": 12.7833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 7.1883,
"delta": 3.0383,
"percent_delta": 0.7321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2388,
"delta": 0.0058,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.9586,
"delta": 0.5496,
"percent_delta": 1.3438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.7409,
"delta": 0.7709,
"percent_delta": 0.7947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2282,
"delta": 0.1082,
"percent_delta": 0.9017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3361,
"delta": 0.0041,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.53,
"after": 0.9143,
"delta": 0.3843,
"percent_delta": 0.7251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 1.2421,
"delta": 0.6021,
"percent_delta": 0.9408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4268,
"delta": 0.0098,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.677,
"after": 1.1231,
"delta": 0.4461,
"percent_delta": 0.6589,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 7.1883,
"delta": 3.0383,
"percent_delta": 0.7321,
"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": 43
}
},
{
"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.4777,
"predicted_3B": 0.0827,
"predicted_AB": 7.1883,
"predicted_AVG": 0.2426,
"predicted_BB": 0.961,
"predicted_H": 1.744,
"predicted_HBP": 0.061,
"predicted_HR": 0.227,
"predicted_OBP": 0.3319,
"predicted_R": 0.9193,
"predicted_RBI": 1.2489,
"predicted_SLG": 0.4268,
"predicted_SO": 1.1203
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4777,
"after": 0.4777,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0827,
"after": 0.0827,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1883,
"after": 7.1883,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2388,
"after": 0.2426,
"delta": 0.0038,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.9586,
"after": 0.961,
"delta": 0.0024,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7409,
"after": 1.744,
"delta": 0.0031,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.061,
"after": 0.061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2282,
"after": 0.227,
"delta": -0.0012,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3361,
"after": 0.3319,
"delta": -0.0042,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9143,
"after": 0.9193,
"delta": 0.005,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2421,
"after": 1.2489,
"delta": 0.0068,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4268,
"after": 0.4268,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1231,
"after": 1.1203,
"delta": -0.0028,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.19), rates preserved: AVG=0.243 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.4777,
"after": 0.0,
"delta": -0.4777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0827,
"after": 0.0,
"delta": -0.0827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.1883,
"after": 7.0,
"delta": -0.1883,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.961,
"after": 1.0,
"delta": 0.039,
"percent_delta": 0.0406,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.744,
"after": 2.0,
"delta": 0.256,
"percent_delta": 0.1468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.061,
"after": 0.0,
"delta": -0.061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.227,
"after": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2489,
"after": 1.0,
"delta": -0.2489,
"percent_delta": -0.1993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1203,
"after": 1.0,
"delta": -0.1203,
"percent_delta": -0.1074,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.744,
"after": 2.0,
"delta": 0.256,
"percent_delta": 0.1468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4777,
"after": 0.0,
"delta": -0.4777,
"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=18.0, weight=0.150, BvP AVG=0.222)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.85,
"bvp": 0.15
},
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.9193,
"after": 1.0,
"delta": 0.0807,
"percent_delta": 0.0878,
"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.9193,
"after": 1.0,
"delta": 0.0807,
"percent_delta": 0.0878,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2426,
"after": 0.286,
"delta": 0.0434,
"percent_delta": 0.1789,
"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": 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.3319,
"after": 0.375,
"delta": 0.0431,
"percent_delta": 0.1299,
"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.4268,
"after": 0.286,
"delta": -0.1408,
"percent_delta": -0.3299,
"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.2426,
"after": 0.286,
"delta": 0.0434,
"percent_delta": 0.1789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4268,
"after": 0.286,
"delta": -0.1408,
"percent_delta": -0.3299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2426,
"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.3319,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4268,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2426,
"delta": -0.0434,
"percent_delta": -0.1517,
"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.375,
"after": 0.3319,
"delta": -0.0431,
"percent_delta": -0.1148,
"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.286,
"after": 0.4268,
"delta": 0.1408,
"percent_delta": 0.4924,
"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.286,
"after": 0.4268,
"delta": 0.1408,
"percent_delta": 0.4924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2426,
"delta": -0.0434,
"percent_delta": -0.1517,
"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.323,
"after": 0.0,
"delta": -0.323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 3.0,
"delta": -1.15,
"percent_delta": -0.2771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2426,
"delta": 0.0096,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 1.0,
"delta": 0.591,
"percent_delta": 1.445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3319,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4268,
"delta": 0.0098,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.677,
"after": 2.0,
"delta": 1.323,
"percent_delta": 1.9542,
"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_SO",
"before": 0.677,
"after": 2.0,
"delta": 1.323,
"percent_delta": 1.9542,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 3.0,
"delta": -1.15,
"percent_delta": -0.2771,
"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.323 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 4.150 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.409 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.530 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 0.677 | - |
Final model 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.478 | 0.155 |
| predicted_3B | 0.083 | 0.077 |
| predicted_AB | 7.188 | 3.038 |
| predicted_AVG | 0.239 | 0.006 |
| predicted_BB | 0.959 | 0.550 |
| predicted_H | 1.741 | 0.771 |
| predicted_HBP | 0.061 | - |
| predicted_HR | 0.228 | 0.108 |
| predicted_OBP | 0.336 | 0.004 |
| predicted_R | 0.914 | 0.384 |
| predicted_RBI | 1.242 | 0.602 |
| predicted_SLG | 0.427 | 0.010 |
| predicted_SO | 1.123 | 0.446 |
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.478 | 0.000 |
| predicted_3B | 0.083 | 0.000 |
| predicted_AB | 7.188 | 0.000 |
| predicted_AVG | 0.243 | 0.004 |
| predicted_BB | 0.961 | 0.002 |
| predicted_H | 1.744 | 0.003 |
| predicted_HBP | 0.061 | 0.000 |
| predicted_HR | 0.227 | -0.001 |
| predicted_OBP | 0.332 | -0.004 |
| predicted_R | 0.919 | 0.005 |
| predicted_RBI | 1.249 | 0.007 |
| predicted_SLG | 0.427 | 0.000 |
| predicted_SO | 1.120 | -0.003 |
AB rounded to 7 (raw=7.19), rates preserved: AVG=0.243 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.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=18.0, weight=0.150, BvP AVG=0.222)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 7.000 | 0.000 |
| BB | 1.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.478 |
| predicted_3B | 0.000 | -0.083 |
| predicted_AB | 7.000 | -0.188 |
| predicted_AVG | 0.286 | 0.043 |
| predicted_BB | 1.000 | 0.039 |
| predicted_H | 2.000 | 0.256 |
| predicted_HR | 0.000 | -0.227 |
| predicted_OBP | 0.375 | 0.043 |
| predicted_R | 1.000 | 0.081 |
| predicted_RBI | 1.000 | -0.249 |
| predicted_SLG | 0.286 | -0.141 |
| predicted_SO | 1.000 | -0.120 |
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 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 17.000 | 3.000 | 0.000 | 1.000 | 0.000 | 4.000 | 2.000 | 5.000 | 2.000 | 0.1765 | 0.3478 | 0.2941 | 0.1765 | 0.0000 | 0.2353 | 0.2941 | 0.1177 |
| last_10 | 0.20 | 7 | - | 37.000 | 10.000 | 2.000 | 1.000 | 0.000 | 4.000 | 3.000 | 6.000 | 2.000 | 0.2703 | 0.3636 | 0.3784 | 0.2703 | 0.0000 | 0.1081 | 0.1622 | 0.0541 |
| season | 0.60 | 43 | - | 639.000 | 170.000 | 53.000 | 1.000 | 31.000 | 113.000 | 87.000 | 67.000 | 111.000 | 0.2660 | 0.3380 | 0.4977 | 0.2660 | 0.0485 | 0.1768 | 0.1048 | 0.1737 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6760 |
| predicted_3B | 0.1810 |
| predicted_AB | 11.0830 |
| predicted_AVG | 0.2462 |
| predicted_BB | 1.6630 |
| predicted_H | 2.7290 |
| predicted_HBP | 0.0610 |
| predicted_HR | 0.3670 |
| predicted_OBP | 0.3414 |
| predicted_R | 1.4070 |
| predicted_RBI | 2.0140 |
| predicted_SLG | 0.4393 |
| predicted_SO | 1.6950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3230 | 0.6760 | 0.4777 | model_form_blend |
| predicted_3B | 0.0060 | 0.1810 | 0.0827 | model_form_blend |
| predicted_AB | 4.1500 | 11.0830 | 7.1883 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2462 | 0.2388 | model_form_blend |
| predicted_BB | 0.4090 | 1.6630 | 0.9586 | model_form_blend |
| predicted_H | 0.9700 | 2.7290 | 1.7409 | model_form_blend |
| predicted_HBP | - | 0.0610 | 0.0610 | form_only |
| predicted_HR | 0.1200 | 0.3670 | 0.2282 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3414 | 0.3361 | model_form_blend |
| predicted_R | 0.5300 | 1.4070 | 0.9143 | model_form_blend |
| predicted_RBI | 0.6400 | 2.0140 | 1.2421 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4393 | 0.4268 | model_form_blend |
| predicted_SO | 0.6770 | 1.6950 | 1.1231 | 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 | 164 |
| Season rows before report date | 164 |
| Report year | 2026 |
| Profile rows used | 164 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.266 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| 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 | 1 |
| 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 | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 668939 |
| playerID | 668939 |
| playerName | Adley Rutschman |
| pos | C |
| started | True |
| startingPosition | C |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-03 |
| sl_k_percent | 14.0 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.355 |
| sl_xwoba | 0.373 |
| sl_xba | 0.287 |
| sl_xslg | 0.48 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 46.8 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 14.8 |
| sl_swing_percent | 40.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.226 | 0.000 | 0.000 | Hitting_2B | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.130 | 4.000 | 8.000 | Hitting_AB | 3.835 | 4.000 | 0.165 | 0.000 |
| predicted_AVG | 0.245 | 0.250 | 0.250 | Hitting_AVG | 0.243 | 0.250 | 0.007 | 0.000 |
| predicted_BB | 0.460 | 0.000 | 1.000 | Hitting_BB | 0.460 | 0.000 | -0.460 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.010 | 1.000 | 2.000 | Hitting_H | 0.931 | 1.000 | 0.069 | 0.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_OBP | 0.332 | 0.250 | 0.333 | Hitting_OBP | 0.324 | 0.250 | -0.074 | 0.000 |
| predicted_R | 0.548 | 0.000 | 1.000 | Hitting_R | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_RBI | 0.650 | 0.000 | 1.000 | Hitting_RBI | 0.613 | 0.000 | -0.613 | 0.000 |
| predicted_SLG | 0.462 | 0.250 | 0.250 | Hitting_SLG | 0.434 | 0.250 | -0.184 | 0.000 |
| predicted_SO | 1.028 | 1.000 | 2.000 | Hitting_SO | 1.028 | 1.000 | -0.028 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AVG: 0.2450 -> 0.2636 (boost 0.0186, better) |
| Biggest Deboost | predicted_RBI: 0.6500 -> 0.0000 (deboost -0.6500, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.1300 -> 7.6191 (boost 3.4891, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2566 -> 0.2636 (boost 0.0070, 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 | 2 | 4 | predicted_AB: 7.6191 -> 8.0000 (boost 0.3809, better) | predicted_HR: 0.4106 -> 0.0000 (deboost -0.4106, worse) | AB rounded to 8 (raw=7.62), rates preserved: AVG=0.264 HR/AB=0.054 |
| 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: 1.1272 -> 1.0000 (deboost -0.1272, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4701 -> 0.2500 (deboost -0.2201, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4701 (boost 0.2201, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624413",
"player_name": "Pete Alonso",
"position": "1B",
"team": "BAL",
"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.226,
"predicted_3B": 0.0,
"predicted_AB": 4.13,
"predicted_AVG": 0.245,
"predicted_BB": 0.46,
"predicted_H": 1.01,
"predicted_HR": 0.2,
"predicted_OBP": 0.332,
"predicted_R": 0.548,
"predicted_RBI": 0.65,
"predicted_SLG": 0.462,
"predicted_SO": 1.028
},
"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.3409,
"predicted_3B": 0.0004,
"predicted_AB": 7.6191,
"predicted_AVG": 0.2566,
"predicted_BB": 0.7606,
"predicted_H": 2.0047,
"predicted_HBP": 0.045,
"predicted_HR": 0.4127,
"predicted_OBP": 0.3334,
"predicted_R": 1.121,
"predicted_RBI": 1.2964,
"predicted_SLG": 0.4707,
"predicted_SO": 1.9233
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.3409,
"delta": 0.1149,
"percent_delta": 0.5084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.13,
"after": 7.6191,
"delta": 3.4891,
"percent_delta": 0.8448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2566,
"delta": 0.0116,
"percent_delta": 0.0473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.46,
"after": 0.7606,
"delta": 0.3006,
"percent_delta": 0.6535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 2.0047,
"delta": 0.9947,
"percent_delta": 0.9849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.4127,
"delta": 0.2127,
"percent_delta": 1.0635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3334,
"delta": 0.0014,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.548,
"after": 1.121,
"delta": 0.573,
"percent_delta": 1.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 1.2964,
"delta": 0.6464,
"percent_delta": 0.9945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4707,
"delta": 0.0087,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.028,
"after": 1.9233,
"delta": 0.8953,
"percent_delta": 0.8709,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.13,
"after": 7.6191,
"delta": 3.4891,
"percent_delta": 0.8448,
"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": 60
}
},
{
"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.3409,
"predicted_3B": 0.0004,
"predicted_AB": 7.6191,
"predicted_AVG": 0.2636,
"predicted_BB": 0.7625,
"predicted_H": 2.0083,
"predicted_HBP": 0.045,
"predicted_HR": 0.4106,
"predicted_OBP": 0.3306,
"predicted_R": 1.1272,
"predicted_RBI": 1.3035,
"predicted_SLG": 0.4701,
"predicted_SO": 1.9185
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3409,
"after": 0.3409,
"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": 7.6191,
"after": 7.6191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2566,
"after": 0.2636,
"delta": 0.007,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7606,
"after": 0.7625,
"delta": 0.0019,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0047,
"after": 2.0083,
"delta": 0.0036,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.045,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4127,
"after": 0.4106,
"delta": -0.0021,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3334,
"after": 0.3306,
"delta": -0.0028,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.121,
"after": 1.1272,
"delta": 0.0062,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2964,
"after": 1.3035,
"delta": 0.0071,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4707,
"after": 0.4701,
"delta": -0.0006,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.9233,
"after": 1.9185,
"delta": -0.0048,
"percent_delta": -0.0025,
"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_AVG",
"before": 0.2566,
"after": 0.2636,
"delta": 0.007,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.62), rates preserved: AVG=0.264 HR/AB=0.054",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3409,
"after": 0.0,
"delta": -0.3409,
"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": 7.6191,
"after": 8.0,
"delta": 0.3809,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7625,
"after": 1.0,
"delta": 0.2375,
"percent_delta": 0.3115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0083,
"after": 2.0,
"delta": -0.0083,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4106,
"after": 0.0,
"delta": -0.4106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3035,
"after": 1.0,
"delta": -0.3035,
"percent_delta": -0.2328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9185,
"after": 2.0,
"delta": 0.0815,
"percent_delta": 0.0425,
"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": 7.6191,
"after": 8.0,
"delta": 0.3809,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4106,
"after": 0.0,
"delta": -0.4106,
"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": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 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": 8.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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": 1.1272,
"after": 1.0,
"delta": -0.1272,
"percent_delta": -0.1128,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.1272,
"after": 1.0,
"delta": -0.1272,
"percent_delta": -0.1128,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2636,
"after": 0.25,
"delta": -0.0136,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3306,
"after": 0.333,
"delta": 0.0024,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4701,
"after": 0.25,
"delta": -0.2201,
"percent_delta": -0.4682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4701,
"after": 0.25,
"delta": -0.2201,
"percent_delta": -0.4682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2636,
"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.3306,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4701,
"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.2636,
"delta": 0.0136,
"percent_delta": 0.0544,
"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.333,
"after": 0.3306,
"delta": -0.0024,
"percent_delta": -0.0073,
"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.4701,
"delta": 0.2201,
"percent_delta": 0.8804,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4701,
"delta": 0.2201,
"percent_delta": 0.8804,
"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.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 4.0,
"delta": -0.13,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2636,
"delta": 0.0186,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0,
"delta": -0.01,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3306,
"delta": -0.0014,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.548,
"after": 0.0,
"delta": -0.548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4701,
"delta": 0.0081,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.028,
"after": 1.0,
"delta": -0.028,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2636,
"delta": 0.0186,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"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.226 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.130 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.460 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.548 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.462 | - |
| predicted_SO | 1.028 | - |
Final model 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.341 | 0.115 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.619 | 3.489 |
| predicted_AVG | 0.257 | 0.012 |
| predicted_BB | 0.761 | 0.301 |
| predicted_H | 2.005 | 0.995 |
| predicted_HBP | 0.045 | - |
| predicted_HR | 0.413 | 0.213 |
| predicted_OBP | 0.333 | 0.001 |
| predicted_R | 1.121 | 0.573 |
| predicted_RBI | 1.296 | 0.646 |
| predicted_SLG | 0.471 | 0.009 |
| predicted_SO | 1.923 | 0.895 |
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.341 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.619 | 0.000 |
| predicted_AVG | 0.264 | 0.007 |
| predicted_BB | 0.762 | 0.002 |
| predicted_H | 2.008 | 0.004 |
| predicted_HBP | 0.045 | 0.000 |
| predicted_HR | 0.411 | -0.002 |
| predicted_OBP | 0.331 | -0.003 |
| predicted_R | 1.127 | 0.006 |
| predicted_RBI | 1.304 | 0.007 |
| predicted_SLG | 0.470 | -0.001 |
| predicted_SO | 1.919 | -0.005 |
AB rounded to 8 (raw=7.62), rates preserved: AVG=0.264 HR/AB=0.054
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 2.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.341 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.381 |
| predicted_AVG | 0.250 | -0.014 |
| predicted_BB | 1.000 | 0.238 |
| predicted_H | 2.000 | -0.008 |
| predicted_HR | 0.000 | -0.411 |
| predicted_OBP | 0.333 | 0.002 |
| predicted_R | 1.000 | -0.127 |
| predicted_RBI | 1.000 | -0.304 |
| predicted_SLG | 0.250 | -0.220 |
| predicted_SO | 2.000 | 0.081 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 1.000 | 4.000 | 0.3500 | 0.3810 | 0.6500 | 0.3500 | 0.1000 | 0.2500 | 0.0500 | 0.2000 |
| last_10 | 0.20 | 7 | - | 41.000 | 12.000 | 0.000 | 0.000 | 2.000 | 5.000 | 5.000 | 1.000 | 12.000 | 0.2927 | 0.3095 | 0.4390 | 0.2927 | 0.0488 | 0.1220 | 0.0244 | 0.2927 |
| season | 0.60 | 60 | - | 951.000 | 231.000 | 56.000 | 0.000 | 42.000 | 152.000 | 136.000 | 114.000 | 255.000 | 0.2429 | 0.3241 | 0.4343 | 0.2429 | 0.0442 | 0.1598 | 0.1199 | 0.2681 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4860 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.0220 |
| predicted_AVG | 0.2712 |
| predicted_BB | 1.1400 |
| predicted_H | 3.2600 |
| predicted_HBP | 0.0450 |
| predicted_HR | 0.6810 |
| predicted_OBP | 0.3351 |
| predicted_R | 1.8440 |
| predicted_RBI | 2.1120 |
| predicted_SLG | 0.4817 |
| predicted_SO | 3.0530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2260 | 0.4860 | 0.3409 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1300 | 12.0220 | 7.6191 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2712 | 0.2566 | model_form_blend |
| predicted_BB | 0.4600 | 1.1400 | 0.7606 | model_form_blend |
| predicted_H | 1.0100 | 3.2600 | 2.0047 | model_form_blend |
| predicted_HBP | - | 0.0450 | 0.0450 | form_only |
| predicted_HR | 0.2000 | 0.6810 | 0.4127 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3351 | 0.3334 | model_form_blend |
| predicted_R | 0.5480 | 1.8440 | 1.1210 | model_form_blend |
| predicted_RBI | 0.6500 | 2.1120 | 1.2964 | model_form_blend |
| predicted_SLG | 0.4620 | 0.4817 | 0.4707 | model_form_blend |
| predicted_SO | 1.0280 | 3.0530 | 1.9233 | 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 | 248 |
| Season rows before report date | 248 |
| Report year | 2026 |
| Profile rows used | 248 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.243 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 624413 |
| playerID | 624413 |
| playerName | Pete Alonso |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.335 |
| sl_xwoba | 0.366 |
| sl_xba | 0.269 |
| sl_xslg | 0.512 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 12.4 |
| sl_hard_hit_percent | 55.4 |
| sl_exit_velocity_avg | 95.0 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 45.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.281 | 1.000 | 0.000 | Hitting_2B | 0.281 | 0.000 | 0.719 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.230 | 4.000 | 8.000 | Hitting_AB | 3.664 | 4.000 | 0.336 | 0.000 |
| predicted_AVG | 0.229 | 0.250 | 0.250 | Hitting_AVG | 0.262 | 0.750 | -0.012 | -0.500 |
| predicted_BB | 0.906 | 1.000 | 2.000 | Hitting_BB | 0.906 | 1.000 | 0.094 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.970 | 1.000 | 2.000 | Hitting_H | 0.961 | 3.000 | 0.039 | -2.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_OBP | 0.363 | 0.400 | 0.400 | Hitting_OBP | 0.408 | 0.800 | -0.008 | -0.400 |
| predicted_R | 0.586 | 1.000 | 1.000 | Hitting_R | 0.586 | 1.000 | 0.414 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 1.000 | Hitting_RBI | 0.285 | 0.000 | -0.285 | 0.000 |
| predicted_SLG | 0.341 | 0.500 | 0.250 | Hitting_SLG | 0.368 | 0.750 | 0.132 | -0.250 |
| predicted_SO | 0.902 | 2.000 | 2.000 | Hitting_SO | 0.902 | 0.000 | 1.098 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_SO: 0.9020 -> 2.0000 (boost 1.0980, worse) |
| Biggest Deboost | predicted_RBI: 0.3500 -> 0.0000 (deboost -0.3500, 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 | 9 | 0 | 8 | 1 | predicted_AB: 4.2300 -> 7.6496 (boost 3.4196, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.3851 -> 0.3998 (boost 0.0147, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 5 | 2 | 4 | 3 | predicted_RBI: 0.5643 -> 1.0000 (boost 0.4357, better) | predicted_2B: 0.4333 -> 0.0000 (deboost -0.4333, worse) | AB rounded to 8 (raw=7.65), rates preserved: AVG=0.251 HR/AB=0.010 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2268 -> 1.0000 (deboost -0.2268, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3379 -> 0.2500 (deboost -0.0879, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 1 | 4 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.2500 -> 0.3379 (boost 0.0879, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621493",
"player_name": "Taylor Ward",
"position": "LF",
"team": "BAL",
"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.281,
"predicted_3B": 0.0,
"predicted_AB": 4.23,
"predicted_AVG": 0.229,
"predicted_BB": 0.906,
"predicted_H": 0.97,
"predicted_HR": 0.07,
"predicted_OBP": 0.363,
"predicted_R": 0.586,
"predicted_RBI": 0.35,
"predicted_SLG": 0.341,
"predicted_SO": 0.902
},
"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.4333,
"predicted_3B": 0.0004,
"predicted_AB": 7.6496,
"predicted_AVG": 0.2428,
"predicted_BB": 1.8898,
"predicted_H": 1.9175,
"predicted_HBP": 0.045,
"predicted_HR": 0.0771,
"predicted_OBP": 0.3851,
"predicted_R": 1.2201,
"predicted_RBI": 0.5612,
"predicted_SLG": 0.338,
"predicted_SO": 1.8008
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.281,
"after": 0.4333,
"delta": 0.1523,
"percent_delta": 0.542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.23,
"after": 7.6496,
"delta": 3.4196,
"percent_delta": 0.8084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2428,
"delta": 0.0138,
"percent_delta": 0.0603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.906,
"after": 1.8898,
"delta": 0.9838,
"percent_delta": 1.0859,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.9175,
"delta": 0.9475,
"percent_delta": 0.9768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0771,
"delta": 0.0071,
"percent_delta": 0.1014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3851,
"delta": 0.0221,
"percent_delta": 0.0609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.586,
"after": 1.2201,
"delta": 0.6341,
"percent_delta": 1.0821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.5612,
"delta": 0.2112,
"percent_delta": 0.6034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.338,
"delta": -0.003,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.902,
"after": 1.8008,
"delta": 0.8988,
"percent_delta": 0.9965,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.23,
"after": 7.6496,
"delta": 3.4196,
"percent_delta": 0.8084,
"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": 59
}
},
{
"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.4333,
"predicted_3B": 0.0004,
"predicted_AB": 7.6496,
"predicted_AVG": 0.2511,
"predicted_BB": 1.8945,
"predicted_H": 1.921,
"predicted_HBP": 0.045,
"predicted_HR": 0.0767,
"predicted_OBP": 0.3998,
"predicted_R": 1.2268,
"predicted_RBI": 0.5643,
"predicted_SLG": 0.3379,
"predicted_SO": 1.7963
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4333,
"after": 0.4333,
"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": 7.6496,
"after": 7.6496,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2428,
"after": 0.2511,
"delta": 0.0083,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.8898,
"after": 1.8945,
"delta": 0.0047,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9175,
"after": 1.921,
"delta": 0.0035,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.045,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0771,
"after": 0.0767,
"delta": -0.0004,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3851,
"after": 0.3998,
"delta": 0.0147,
"percent_delta": 0.0382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2201,
"after": 1.2268,
"delta": 0.0067,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5612,
"after": 0.5643,
"delta": 0.0031,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3379,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.8008,
"after": 1.7963,
"delta": -0.0045,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3851,
"after": 0.3998,
"delta": 0.0147,
"percent_delta": 0.0382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.65), rates preserved: AVG=0.251 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4333,
"after": 0.0,
"delta": -0.4333,
"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": 7.6496,
"after": 8.0,
"delta": 0.3504,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.8945,
"after": 2.0,
"delta": 0.1055,
"percent_delta": 0.0557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.921,
"after": 2.0,
"delta": 0.079,
"percent_delta": 0.0411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0767,
"after": 0.0,
"delta": -0.0767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5643,
"after": 1.0,
"delta": 0.4357,
"percent_delta": 0.7721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7963,
"after": 2.0,
"delta": 0.2037,
"percent_delta": 0.1134,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5643,
"after": 1.0,
"delta": 0.4357,
"percent_delta": 0.7721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4333,
"after": 0.0,
"delta": -0.4333,
"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=10.0, weight=0.100, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9,
"bvp": 0.1
},
"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": 8.0,
"predicted_BB": 2.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_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": 1.2268,
"after": 1.0,
"delta": -0.2268,
"percent_delta": -0.1849,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.2268,
"after": 1.0,
"delta": -0.2268,
"percent_delta": -0.1849,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2511,
"after": 0.25,
"delta": -0.0011,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_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.3998,
"after": 0.4,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3379,
"after": 0.25,
"delta": -0.0879,
"percent_delta": -0.2601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3379,
"after": 0.25,
"delta": -0.0879,
"percent_delta": -0.2601,
"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": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2511,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3998,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3379,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2511,
"delta": 0.0011,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.4,
"after": 0.3998,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3379,
"delta": 0.0879,
"percent_delta": 0.3518,
"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_SLG",
"before": 0.25,
"after": 0.3379,
"delta": 0.0879,
"percent_delta": 0.3518,
"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.281,
"after": 1.0,
"delta": 0.719,
"percent_delta": 2.5587,
"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.23,
"after": 4.0,
"delta": -0.23,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2511,
"delta": 0.0221,
"percent_delta": 0.0965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.906,
"after": 1.0,
"delta": 0.094,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0,
"delta": 0.03,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3998,
"delta": 0.0368,
"percent_delta": 0.1014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.586,
"after": 1.0,
"delta": 0.414,
"percent_delta": 0.7065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3379,
"delta": -0.0031,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.902,
"after": 2.0,
"delta": 1.098,
"percent_delta": 1.2173,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.902,
"after": 2.0,
"delta": 1.098,
"percent_delta": 1.2173,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"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.281 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.230 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.906 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.363 | - |
| predicted_R | 0.586 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.341 | - |
| predicted_SO | 0.902 | - |
Final model 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.433 | 0.152 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.650 | 3.420 |
| predicted_AVG | 0.243 | 0.014 |
| predicted_BB | 1.890 | 0.984 |
| predicted_H | 1.917 | 0.948 |
| predicted_HBP | 0.045 | - |
| predicted_HR | 0.077 | 0.007 |
| predicted_OBP | 0.385 | 0.022 |
| predicted_R | 1.220 | 0.634 |
| predicted_RBI | 0.561 | 0.211 |
| predicted_SLG | 0.338 | -0.003 |
| predicted_SO | 1.801 | 0.899 |
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.433 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.650 | 0.000 |
| predicted_AVG | 0.251 | 0.008 |
| predicted_BB | 1.895 | 0.005 |
| predicted_H | 1.921 | 0.004 |
| predicted_HBP | 0.045 | 0.000 |
| predicted_HR | 0.077 | -0.000 |
| predicted_OBP | 0.400 | 0.015 |
| predicted_R | 1.227 | 0.007 |
| predicted_RBI | 0.564 | 0.003 |
| predicted_SLG | 0.338 | -0.000 |
| predicted_SO | 1.796 | -0.004 |
AB rounded to 8 (raw=7.65), rates preserved: AVG=0.251 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 2.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 2.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 2.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 | 2.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.433 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.350 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 2.000 | 0.105 |
| predicted_H | 2.000 | 0.079 |
| predicted_HR | 0.000 | -0.077 |
| predicted_OBP | 0.400 | 0.000 |
| predicted_R | 1.000 | -0.227 |
| predicted_RBI | 1.000 | 0.436 |
| predicted_SLG | 0.250 | -0.088 |
| predicted_SO | 2.000 | 0.204 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -4.000 |
| BB | 1.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.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 | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 6.000 | 5.000 | 0.2105 | 0.4000 | 0.2105 | 0.2105 | 0.0000 | 0.0526 | 0.3158 | 0.2632 |
| last_10 | 0.20 | 7 | - | 35.000 | 13.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 10.000 | 7.000 | 0.3714 | 0.5111 | 0.3714 | 0.3714 | 0.0000 | 0.0286 | 0.2857 | 0.2000 |
| season | 0.60 | 59 | - | 938.000 | 246.000 | 72.000 | 0.000 | 9.000 | 73.000 | 150.000 | 232.000 | 231.000 | 0.2623 | 0.4079 | 0.3678 | 0.2623 | 0.0096 | 0.0778 | 0.2473 | 0.2463 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6250 |
| predicted_3B | 0.0010 |
| predicted_AB | 11.9530 |
| predicted_AVG | 0.2602 |
| predicted_BB | 3.1280 |
| predicted_H | 3.1100 |
| predicted_HBP | 0.0450 |
| predicted_HR | 0.0860 |
| predicted_OBP | 0.4130 |
| predicted_R | 2.0180 |
| predicted_RBI | 0.8270 |
| predicted_SLG | 0.3343 |
| predicted_SO | 2.9320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2810 | 0.6250 | 0.4333 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2300 | 11.9530 | 7.6496 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2602 | 0.2428 | model_form_blend |
| predicted_BB | 0.9060 | 3.1280 | 1.8898 | model_form_blend |
| predicted_H | 0.9700 | 3.1100 | 1.9175 | model_form_blend |
| predicted_HBP | - | 0.0450 | 0.0450 | form_only |
| predicted_HR | 0.0700 | 0.0860 | 0.0771 | model_form_blend |
| predicted_OBP | 0.3630 | 0.4130 | 0.3851 | model_form_blend |
| predicted_R | 0.5860 | 2.0180 | 1.2201 | model_form_blend |
| predicted_RBI | 0.3500 | 0.8270 | 0.5612 | model_form_blend |
| predicted_SLG | 0.3410 | 0.3343 | 0.3380 | model_form_blend |
| predicted_SO | 0.9020 | 2.9320 | 1.8008 | 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 | 256 |
| Season rows before report date | 256 |
| Report year | 2026 |
| Profile rows used | 256 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.262 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 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 | LF |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 621493 |
| playerID | 621493 |
| playerName | Taylor Ward |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 19.6 |
| sl_woba | 0.347 |
| sl_xwoba | 0.347 |
| sl_xba | 0.246 |
| sl_xslg | 0.358 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 38.9 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 18.3 |
| sl_swing_percent | 31.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.217 | 0.000 | 1.000 | Hitting_2B | 0.217 | 1.000 | -0.217 | -1.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.820 | 5.000 | 9.000 | Hitting_AB | 4.279 | 5.000 | 0.721 | 0.000 |
| predicted_AVG | 0.211 | 0.000 | 0.222 | Hitting_AVG | 0.211 | 0.200 | -0.211 | -0.200 |
| predicted_BB | 0.279 | 0.000 | 1.000 | Hitting_BB | 0.279 | 0.000 | -0.279 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 1.020 | 0.000 | 2.000 | Hitting_H | 0.903 | 1.000 | -0.903 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_OBP | 0.280 | 0.000 | 0.300 | Hitting_OBP | 0.265 | 0.200 | -0.265 | -0.200 |
| predicted_R | 0.512 | 0.000 | 1.000 | Hitting_R | 0.512 | 0.000 | -0.512 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.531 | 0.000 | -0.531 | 0.000 |
| predicted_SLG | 0.396 | 0.000 | 0.333 | Hitting_SLG | 0.418 | 0.400 | -0.418 | -0.400 |
| predicted_SO | 1.291 | 3.000 | 2.000 | Hitting_SO | 1.291 | 1.000 | 1.709 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.2910 -> 3.0000 (boost 1.7090, worse) |
| Biggest Deboost | predicted_H: 1.0200 -> 0.0000 (deboost -1.0200, 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 | 8 | 1 | 7 | 2 | predicted_AB: 4.8200 -> 8.9058 (boost 4.0858, better) | predicted_OBP: 0.2800 -> 0.2742 (deboost -0.0058, 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.2742 -> 0.2610 (deboost -0.0132, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 5 | 3 | predicted_2B: 0.5655 -> 1.0000 (boost 0.4345, better) | predicted_HR: 0.3213 -> 0.0000 (deboost -0.3213, worse) | AB rounded to 9 (raw=8.91), rates preserved: AVG=0.212 HR/AB=0.036 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.318) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9067 -> 1.0000 (boost 0.0933, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2610 -> 0.3000 (boost 0.0390, better) | predicted_SLG: 0.3905 -> 0.3330 (deboost -0.0575, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 1 | 6 | 0 | 7 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_AB: 9.0000 -> 5.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3905 (boost 0.0575, better) | predicted_OBP: 0.3000 -> 0.2610 (deboost -0.0390, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683002",
"player_name": "Gunnar Henderson",
"position": "SS",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.217,
"predicted_3B": 0.019,
"predicted_AB": 4.82,
"predicted_AVG": 0.211,
"predicted_BB": 0.279,
"predicted_H": 1.02,
"predicted_HR": 0.16,
"predicted_OBP": 0.28,
"predicted_R": 0.512,
"predicted_RBI": 0.56,
"predicted_SLG": 0.396,
"predicted_SO": 1.291
},
"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.5655,
"predicted_3B": 0.0301,
"predicted_AB": 8.9058,
"predicted_AVG": 0.2113,
"predicted_BB": 0.5885,
"predicted_H": 1.8848,
"predicted_HBP": 0.096,
"predicted_HR": 0.323,
"predicted_OBP": 0.2742,
"predicted_R": 0.9017,
"predicted_RBI": 1.1122,
"predicted_SLG": 0.3987,
"predicted_SO": 2.2182
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.5655,
"delta": 0.3485,
"percent_delta": 1.606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0301,
"delta": 0.0111,
"percent_delta": 0.5842,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.82,
"after": 8.9058,
"delta": 4.0858,
"percent_delta": 0.8477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2113,
"delta": 0.0003,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.279,
"after": 0.5885,
"delta": 0.3095,
"percent_delta": 1.1093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.8848,
"delta": 0.8648,
"percent_delta": 0.8478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.323,
"delta": 0.163,
"percent_delta": 1.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2742,
"delta": -0.0058,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.512,
"after": 0.9017,
"delta": 0.3897,
"percent_delta": 0.7611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 1.1122,
"delta": 0.5522,
"percent_delta": 0.9861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3987,
"delta": 0.0027,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.291,
"after": 2.2182,
"delta": 0.9272,
"percent_delta": 0.7182,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.82,
"after": 8.9058,
"delta": 4.0858,
"percent_delta": 0.8477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2742,
"delta": -0.0058,
"percent_delta": -0.0207,
"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": 7,
"season": 59
}
},
{
"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.5655,
"predicted_3B": 0.0301,
"predicted_AB": 8.9058,
"predicted_AVG": 0.212,
"predicted_BB": 0.59,
"predicted_H": 1.8882,
"predicted_HBP": 0.096,
"predicted_HR": 0.3213,
"predicted_OBP": 0.261,
"predicted_R": 0.9067,
"predicted_RBI": 1.1183,
"predicted_SLG": 0.3905,
"predicted_SO": 2.2127
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5655,
"after": 0.5655,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0301,
"after": 0.0301,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.9058,
"after": 8.9058,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2113,
"after": 0.212,
"delta": 0.0007,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5885,
"after": 0.59,
"delta": 0.0015,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8848,
"after": 1.8882,
"delta": 0.0034,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.096,
"after": 0.096,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.323,
"after": 0.3213,
"delta": -0.0017,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2742,
"after": 0.261,
"delta": -0.0132,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9017,
"after": 0.9067,
"delta": 0.005,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1122,
"after": 1.1183,
"delta": 0.0061,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3987,
"after": 0.3905,
"delta": -0.0082,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2182,
"after": 2.2127,
"delta": -0.0055,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2742,
"after": 0.261,
"delta": -0.0132,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.91), rates preserved: AVG=0.212 HR/AB=0.036",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5655,
"after": 1.0,
"delta": 0.4345,
"percent_delta": 0.7683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0301,
"after": 0.0,
"delta": -0.0301,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.9058,
"after": 9.0,
"delta": 0.0942,
"percent_delta": 0.0106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8882,
"after": 2.0,
"delta": 0.1118,
"percent_delta": 0.0592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.096,
"after": 0.0,
"delta": -0.096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3213,
"after": 0.0,
"delta": -0.3213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1183,
"after": 1.0,
"delta": -0.1183,
"percent_delta": -0.1058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2127,
"after": 2.0,
"delta": -0.2127,
"percent_delta": -0.0961,
"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_2B",
"before": 0.5655,
"after": 1.0,
"delta": 0.4345,
"percent_delta": 0.7683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3213,
"after": 0.0,
"delta": -0.3213,
"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=22.0, weight=0.169, BvP AVG=0.318)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8308,
"bvp": 0.1692
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.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": 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": 9.0,
"after": 9.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": 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.9067,
"after": 1.0,
"delta": 0.0933,
"percent_delta": 0.1029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.9067,
"after": 1.0,
"delta": 0.0933,
"percent_delta": 0.1029,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.222,
"delta": 0.01,
"percent_delta": 0.0472,
"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": 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.261,
"after": 0.3,
"delta": 0.039,
"percent_delta": 0.1494,
"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.3905,
"after": 0.333,
"delta": -0.0575,
"percent_delta": -0.1472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.3,
"delta": 0.039,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3905,
"after": 0.333,
"delta": -0.0575,
"percent_delta": -0.1472,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 5.0,
"delta": -4.0,
"percent_delta": -0.4444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 9.0,
"after": 5.0,
"delta": -4.0,
"percent_delta": -0.4444,
"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.212,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.261,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3905,
"predicted_SO": 3.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": 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.222,
"after": 0.212,
"delta": -0.01,
"percent_delta": -0.045,
"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.3,
"after": 0.261,
"delta": -0.039,
"percent_delta": -0.1301,
"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.3905,
"delta": 0.0575,
"percent_delta": 0.1727,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3905,
"delta": 0.0575,
"percent_delta": 0.1727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.261,
"delta": -0.039,
"percent_delta": -0.1301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.0,
"delta": -0.217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.82,
"after": 5.0,
"delta": 0.18,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.212,
"delta": 0.001,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.279,
"after": 0.0,
"delta": -0.279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.261,
"delta": -0.019,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.512,
"after": 0.0,
"delta": -0.512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3905,
"delta": -0.0055,
"percent_delta": -0.0139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.291,
"after": 3.0,
"delta": 1.709,
"percent_delta": 1.3238,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.291,
"after": 3.0,
"delta": 1.709,
"percent_delta": 1.3238,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.820 | - |
| predicted_AVG | 0.211 | - |
| predicted_BB | 0.279 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.512 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 1.291 | - |
Final model 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.566 | 0.349 |
| predicted_3B | 0.030 | 0.011 |
| predicted_AB | 8.906 | 4.086 |
| predicted_AVG | 0.211 | 0.000 |
| predicted_BB | 0.589 | 0.309 |
| predicted_H | 1.885 | 0.865 |
| predicted_HBP | 0.096 | - |
| predicted_HR | 0.323 | 0.163 |
| predicted_OBP | 0.274 | -0.006 |
| predicted_R | 0.902 | 0.390 |
| predicted_RBI | 1.112 | 0.552 |
| predicted_SLG | 0.399 | 0.003 |
| predicted_SO | 2.218 | 0.927 |
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.566 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 8.906 | 0.000 |
| predicted_AVG | 0.212 | 0.001 |
| predicted_BB | 0.590 | 0.001 |
| predicted_H | 1.888 | 0.003 |
| predicted_HBP | 0.096 | 0.000 |
| predicted_HR | 0.321 | -0.002 |
| predicted_OBP | 0.261 | -0.013 |
| predicted_R | 0.907 | 0.005 |
| predicted_RBI | 1.118 | 0.006 |
| predicted_SLG | 0.391 | -0.008 |
| predicted_SO | 2.213 | -0.006 |
AB rounded to 9 (raw=8.91), rates preserved: AVG=0.212 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.318)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 1.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 | 2.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 | 1.000 | 0.434 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 9.000 | 0.094 |
| predicted_AVG | 0.222 | 0.010 |
| predicted_BB | 1.000 | 0.410 |
| predicted_H | 2.000 | 0.112 |
| predicted_HR | 0.000 | -0.321 |
| predicted_OBP | 0.300 | 0.039 |
| predicted_R | 1.000 | 0.093 |
| predicted_RBI | 1.000 | -0.118 |
| predicted_SLG | 0.333 | -0.057 |
| predicted_SO | 2.000 | -0.213 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 5.000 | 3.000 | 0.000 | 0.000 | 3.000 | 1.000 | 2.000 | 2.000 | 0.2273 | 0.2917 | 0.3636 | 0.2273 | 0.0000 | 0.1364 | 0.0909 | 0.0909 |
| last_10 | 0.20 | 7 | - | 42.000 | 7.000 | 3.000 | 0.000 | 2.000 | 6.000 | 3.000 | 2.000 | 7.000 | 0.1667 | 0.2045 | 0.3810 | 0.1667 | 0.0476 | 0.1429 | 0.0476 | 0.1667 |
| season | 0.60 | 59 | - | 1104.000 | 233.000 | 56.000 | 5.000 | 54.000 | 137.000 | 132.000 | 72.000 | 333.000 | 0.2111 | 0.2653 | 0.4176 | 0.2110 | 0.0489 | 0.1241 | 0.0652 | 0.3016 |
| Metric | Value |
|---|---|
| predicted_2B | 1.0040 |
| predicted_3B | 0.0440 |
| predicted_AB | 14.0470 |
| predicted_AVG | 0.2117 |
| predicted_BB | 0.9780 |
| predicted_H | 2.9730 |
| predicted_HBP | 0.0960 |
| predicted_HR | 0.5280 |
| predicted_OBP | 0.2669 |
| predicted_R | 1.3920 |
| predicted_RBI | 1.8070 |
| predicted_SLG | 0.4022 |
| predicted_SO | 3.3850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 1.0040 | 0.5655 | model_form_blend |
| predicted_3B | 0.0190 | 0.0440 | 0.0301 | model_form_blend |
| predicted_AB | 4.8200 | 14.0470 | 8.9058 | model_form_blend |
| predicted_AVG | 0.2110 | 0.2117 | 0.2113 | model_form_blend |
| predicted_BB | 0.2790 | 0.9780 | 0.5885 | model_form_blend |
| predicted_H | 1.0200 | 2.9730 | 1.8848 | model_form_blend |
| predicted_HBP | - | 0.0960 | 0.0960 | form_only |
| predicted_HR | 0.1600 | 0.5280 | 0.3230 | model_form_blend |
| predicted_OBP | 0.2800 | 0.2669 | 0.2742 | model_form_blend |
| predicted_R | 0.5120 | 1.3920 | 0.9017 | model_form_blend |
| predicted_RBI | 0.5600 | 1.8070 | 1.1122 | model_form_blend |
| predicted_SLG | 0.3960 | 0.4022 | 0.3987 | model_form_blend |
| predicted_SO | 1.2910 | 3.3850 | 2.2182 | 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 | 258 |
| Season rows before report date | 258 |
| Report year | 2026 |
| Profile rows used | 258 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.211 |
| 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 | 0 |
| 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 | SS |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 683002 |
| playerID | 683002 |
| playerName | Gunnar Henderson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-03 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.305 |
| sl_xwoba | 0.3 |
| sl_xba | 0.234 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 43.6 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 49.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.169 | 0.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 3.639 | 4.000 | 6.000 | Hitting_AB | 3.617 | 3.000 | 0.383 | 1.000 |
| predicted_AVG | 0.260 | 0.000 | 0.333 | Hitting_AVG | 0.272 | 0.000 | -0.272 | 0.000 |
| predicted_BB | 0.343 | 0.000 | 1.000 | Hitting_BB | 0.347 | 1.000 | -0.347 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.920 | 0.000 | 2.000 | Hitting_H | 0.982 | 0.000 | -0.982 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_OBP | 0.350 | 0.000 | 0.429 | Hitting_OBP | 0.332 | 0.250 | -0.332 | -0.250 |
| predicted_R | 0.524 | 0.000 | 1.000 | Hitting_R | 0.521 | 0.000 | -0.521 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.533 | 0.000 | -0.533 | 0.000 |
| predicted_SLG | 0.478 | 0.000 | 0.333 | Hitting_SLG | 0.490 | 0.000 | -0.490 | 0.000 |
| predicted_SO | 1.066 | 1.000 | 2.000 | Hitting_SO | 1.060 | 0.000 | -0.060 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.6390 -> 4.0000 (boost 0.3610, better) |
| Biggest Deboost | predicted_H: 0.9200 -> 0.0000 (deboost -0.9200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.6390 -> 6.1708 (boost 2.5318, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.5108 -> 0.5191 (boost 0.0083, 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_SO: 1.6812 -> 2.0000 (boost 0.3188, worse) | predicted_HR: 0.3579 -> 0.0000 (deboost -0.3579, worse) | AB rounded to 6 (raw=6.17), rates preserved: AVG=0.286 HR/AB=0.058 |
| 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 | 1 | 0 | 1 | 0 | predicted_R: 0.9421 -> 1.0000 (boost 0.0579, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3633 -> 0.4290 (boost 0.0657, better) | predicted_SLG: 0.5191 -> 0.3330 (deboost -0.1861, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.5191 (boost 0.1861, better) | predicted_OBP: 0.4290 -> 0.3633 (deboost -0.0657, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694212",
"player_name": "Samuel Basallo",
"position": "C",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.024,
"predicted_AB": 3.639,
"predicted_AVG": 0.26,
"predicted_BB": 0.343,
"predicted_H": 0.92,
"predicted_HR": 0.17,
"predicted_OBP": 0.35,
"predicted_R": 0.524,
"predicted_RBI": 0.56,
"predicted_SLG": 0.478,
"predicted_SO": 1.066
},
"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.2994,
"predicted_3B": 0.0319,
"predicted_AB": 6.1708,
"predicted_AVG": 0.2784,
"predicted_BB": 0.7446,
"predicted_H": 1.7634,
"predicted_HBP": 0.004,
"predicted_HR": 0.3598,
"predicted_OBP": 0.3593,
"predicted_R": 0.9369,
"predicted_RBI": 1.0823,
"predicted_SLG": 0.5108,
"predicted_SO": 1.6854
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.2994,
"delta": 0.1304,
"percent_delta": 0.7716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0319,
"delta": 0.0079,
"percent_delta": 0.3292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.639,
"after": 6.1708,
"delta": 2.5318,
"percent_delta": 0.6957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2784,
"delta": 0.0184,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.7446,
"delta": 0.4016,
"percent_delta": 1.1708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 1.7634,
"delta": 0.8434,
"percent_delta": 0.9167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.3598,
"delta": 0.1898,
"percent_delta": 1.1165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3593,
"delta": 0.0093,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 0.9369,
"delta": 0.4129,
"percent_delta": 0.788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 1.0823,
"delta": 0.5223,
"percent_delta": 0.9327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.5108,
"delta": 0.0328,
"percent_delta": 0.0686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.066,
"after": 1.6854,
"delta": 0.6194,
"percent_delta": 0.5811,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.639,
"after": 6.1708,
"delta": 2.5318,
"percent_delta": 0.6957,
"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": 48
}
},
{
"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.2994,
"predicted_3B": 0.0319,
"predicted_AB": 6.1708,
"predicted_AVG": 0.2863,
"predicted_BB": 0.7465,
"predicted_H": 1.7666,
"predicted_HBP": 0.004,
"predicted_HR": 0.3579,
"predicted_OBP": 0.3633,
"predicted_R": 0.9421,
"predicted_RBI": 1.0883,
"predicted_SLG": 0.5191,
"predicted_SO": 1.6812
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2994,
"after": 0.2994,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0319,
"after": 0.0319,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.1708,
"after": 6.1708,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2784,
"after": 0.2863,
"delta": 0.0079,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7446,
"after": 0.7465,
"delta": 0.0019,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7634,
"after": 1.7666,
"delta": 0.0032,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3598,
"after": 0.3579,
"delta": -0.0019,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3593,
"after": 0.3633,
"delta": 0.004,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9369,
"after": 0.9421,
"delta": 0.0052,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0823,
"after": 1.0883,
"delta": 0.006,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5108,
"after": 0.5191,
"delta": 0.0083,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6854,
"after": 1.6812,
"delta": -0.0042,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.5108,
"after": 0.5191,
"delta": 0.0083,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.17), rates preserved: AVG=0.286 HR/AB=0.058",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2994,
"after": 0.0,
"delta": -0.2994,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0319,
"after": 0.0,
"delta": -0.0319,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.1708,
"after": 6.0,
"delta": -0.1708,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7465,
"after": 1.0,
"delta": 0.2535,
"percent_delta": 0.3396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7666,
"after": 2.0,
"delta": 0.2334,
"percent_delta": 0.1321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3579,
"after": 0.0,
"delta": -0.3579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0883,
"after": 1.0,
"delta": -0.0883,
"percent_delta": -0.0811,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6812,
"after": 2.0,
"delta": 0.3188,
"percent_delta": 0.1896,
"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_SO",
"before": 1.6812,
"after": 2.0,
"delta": 0.3188,
"percent_delta": 0.1896,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3579,
"after": 0.0,
"delta": -0.3579,
"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": 6.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 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": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.9421,
"after": 1.0,
"delta": 0.0579,
"percent_delta": 0.0615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.9421,
"after": 1.0,
"delta": 0.0579,
"percent_delta": 0.0615,
"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": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.429,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"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": 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.2863,
"after": 0.333,
"delta": 0.0467,
"percent_delta": 0.1631,
"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": 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.3633,
"after": 0.429,
"delta": 0.0657,
"percent_delta": 0.1808,
"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.5191,
"after": 0.333,
"delta": -0.1861,
"percent_delta": -0.3585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3633,
"after": 0.429,
"delta": 0.0657,
"percent_delta": 0.1808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5191,
"after": 0.333,
"delta": -0.1861,
"percent_delta": -0.3585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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.2863,
"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.3633,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5191,
"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.333,
"after": 0.2863,
"delta": -0.0467,
"percent_delta": -0.1403,
"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.429,
"after": 0.3633,
"delta": -0.0657,
"percent_delta": -0.1531,
"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.5191,
"delta": 0.1861,
"percent_delta": 0.559,
"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.5191,
"delta": 0.1861,
"percent_delta": 0.559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.429,
"after": 0.3633,
"delta": -0.0657,
"percent_delta": -0.1531,
"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.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.639,
"after": 4.0,
"delta": 0.361,
"percent_delta": 0.0992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2863,
"delta": 0.0263,
"percent_delta": 0.1012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3633,
"delta": 0.0133,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 0.0,
"delta": -0.524,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.5191,
"delta": 0.0411,
"percent_delta": 0.086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.066,
"after": 1.0,
"delta": -0.066,
"percent_delta": -0.0619,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.639,
"after": 4.0,
"delta": 0.361,
"percent_delta": 0.0992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"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.169 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.639 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.343 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.350 | - |
| predicted_R | 0.524 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.478 | - |
| predicted_SO | 1.066 | - |
Final model 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.299 | 0.130 |
| predicted_3B | 0.032 | 0.008 |
| predicted_AB | 6.171 | 2.532 |
| predicted_AVG | 0.278 | 0.018 |
| predicted_BB | 0.745 | 0.402 |
| predicted_H | 1.763 | 0.843 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.360 | 0.190 |
| predicted_OBP | 0.359 | 0.009 |
| predicted_R | 0.937 | 0.413 |
| predicted_RBI | 1.082 | 0.522 |
| predicted_SLG | 0.511 | 0.033 |
| predicted_SO | 1.685 | 0.619 |
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.299 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 6.171 | 0.000 |
| predicted_AVG | 0.286 | 0.008 |
| predicted_BB | 0.747 | 0.002 |
| predicted_H | 1.767 | 0.003 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.358 | -0.002 |
| predicted_OBP | 0.363 | 0.004 |
| predicted_R | 0.942 | 0.005 |
| predicted_RBI | 1.088 | 0.006 |
| predicted_SLG | 0.519 | 0.008 |
| predicted_SO | 1.681 | -0.004 |
AB rounded to 6 (raw=6.17), rates preserved: AVG=0.286 HR/AB=0.058
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.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 | 2.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.299 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 6.000 | -0.171 |
| predicted_AVG | 0.333 | 0.047 |
| predicted_BB | 1.000 | 0.253 |
| predicted_H | 2.000 | 0.233 |
| predicted_HR | 0.000 | -0.358 |
| predicted_OBP | 0.429 | 0.066 |
| predicted_R | 1.000 | 0.058 |
| predicted_RBI | 1.000 | -0.088 |
| predicted_SLG | 0.333 | -0.186 |
| predicted_SO | 2.000 | 0.319 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 6.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 4.000 | 3.000 | 0.4000 | 0.5000 | 0.6667 | 0.4000 | 0.0667 | 0.2000 | 0.2667 | 0.2000 |
| last_10 | 0.20 | 7 | - | 32.000 | 10.000 | 1.000 | 0.000 | 5.000 | 15.000 | 10.000 | 4.000 | 7.000 | 0.3125 | 0.3784 | 0.8125 | 0.3125 | 0.1562 | 0.4688 | 0.1250 | 0.2188 |
| season | 0.60 | 48 | - | 604.000 | 164.000 | 28.000 | 4.000 | 32.000 | 89.000 | 87.000 | 57.000 | 177.000 | 0.2715 | 0.3313 | 0.4901 | 0.2715 | 0.0530 | 0.1474 | 0.0944 | 0.2930 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4670 |
| predicted_3B | 0.0420 |
| predicted_AB | 9.4270 |
| predicted_AVG | 0.3021 |
| predicted_BB | 1.2610 |
| predicted_H | 2.8480 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.6040 |
| predicted_OBP | 0.3713 |
| predicted_R | 1.4680 |
| predicted_RBI | 1.7540 |
| predicted_SLG | 0.5530 |
| predicted_SO | 2.4820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.4670 | 0.2994 | model_form_blend |
| predicted_3B | 0.0240 | 0.0420 | 0.0319 | model_form_blend |
| predicted_AB | 3.6390 | 9.4270 | 6.1708 | model_form_blend |
| predicted_AVG | 0.2600 | 0.3021 | 0.2784 | model_form_blend |
| predicted_BB | 0.3430 | 1.2610 | 0.7446 | model_form_blend |
| predicted_H | 0.9200 | 2.8480 | 1.7634 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1700 | 0.6040 | 0.3598 | model_form_blend |
| predicted_OBP | 0.3500 | 0.3713 | 0.3593 | model_form_blend |
| predicted_R | 0.5240 | 1.4680 | 0.9369 | model_form_blend |
| predicted_RBI | 0.5600 | 1.7540 | 1.0823 | model_form_blend |
| predicted_SLG | 0.4780 | 0.5530 | 0.5108 | model_form_blend |
| predicted_SO | 1.0660 | 2.4820 | 1.6854 | 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 | 167 |
| Season rows before report date | 167 |
| Report year | 2026 |
| Profile rows used | 166 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.272 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 694212 |
| playerID | 694212 |
| playerName | Samuel Basallo |
| pos | C |
| started | True |
| startingPosition | DH |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.363 |
| sl_xwoba | 0.353 |
| sl_xba | 0.272 |
| sl_xslg | 0.485 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 11.7 |
| sl_hard_hit_percent | 47.1 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 13.7 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 51.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.207 | 0.000 | 0.000 | Hitting_2B | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 3.378 | 3.000 | 6.000 | Hitting_AB | 3.317 | 3.000 | -0.317 | 0.000 |
| predicted_AVG | 0.251 | 0.333 | 0.167 | Hitting_AVG | 0.276 | 0.333 | 0.057 | 0.000 |
| predicted_BB | 0.457 | 1.000 | 1.000 | Hitting_BB | 0.455 | 0.000 | 0.545 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_H | 0.310 | 1.000 | 1.000 | Hitting_H | 0.916 | 1.000 | 0.084 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_OBP | 0.312 | 0.500 | 0.286 | Hitting_OBP | 0.368 | 0.333 | 0.132 | 0.167 |
| predicted_R | 0.518 | 0.000 | 1.000 | Hitting_R | 0.509 | 0.000 | -0.509 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 1.000 | Hitting_RBI | 0.539 | 0.000 | -0.539 | 0.000 |
| predicted_SLG | 0.390 | 0.333 | 0.167 | Hitting_SLG | 0.404 | 0.333 | -0.071 | 0.000 |
| predicted_SO | 0.811 | 2.000 | 2.000 | Hitting_SO | 0.796 | 2.000 | 1.204 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.8110 -> 2.0000 (boost 1.1890, worse) |
| Biggest Deboost | predicted_R: 0.5180 -> 0.0000 (deboost -0.5180, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.3780 -> 5.9270 (boost 2.5490, 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.3926 -> 0.3324 (deboost -0.0602, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_SO: 1.5409 -> 2.0000 (boost 0.4591, worse) | predicted_2B: 0.2939 -> 0.0000 (deboost -0.2939, worse) | AB rounded to 6 (raw=5.93), rates preserved: AVG=0.213 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8129 -> 1.0000 (boost 0.1871, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3324 -> 0.1670 (deboost -0.1654, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3324 (boost 0.1654, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665750",
"player_name": "Leody Taveras",
"position": "CF",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.207,
"predicted_3B": 0.03,
"predicted_AB": 3.378,
"predicted_AVG": 0.251,
"predicted_BB": 0.457,
"predicted_H": 0.31,
"predicted_HR": 0.03,
"predicted_OBP": 0.312,
"predicted_R": 0.518,
"predicted_RBI": 0.17,
"predicted_SLG": 0.39,
"predicted_SO": 0.811
},
"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.2939,
"predicted_3B": 0.1047,
"predicted_AB": 5.927,
"predicted_AVG": 0.2595,
"predicted_BB": 0.7051,
"predicted_H": 1.2626,
"predicted_HBP": 0.049,
"predicted_HR": 0.0676,
"predicted_OBP": 0.3267,
"predicted_R": 0.8085,
"predicted_RBI": 0.6378,
"predicted_SLG": 0.3926,
"predicted_SO": 1.5448
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.207,
"after": 0.2939,
"delta": 0.0869,
"percent_delta": 0.4198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.1047,
"delta": 0.0747,
"percent_delta": 2.49,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.378,
"after": 5.927,
"delta": 2.549,
"percent_delta": 0.7546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2595,
"delta": 0.0085,
"percent_delta": 0.0339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.457,
"after": 0.7051,
"delta": 0.2481,
"percent_delta": 0.5429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.2626,
"delta": 0.9526,
"percent_delta": 3.0729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0676,
"delta": 0.0376,
"percent_delta": 1.2533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3267,
"delta": 0.0147,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.518,
"after": 0.8085,
"delta": 0.2905,
"percent_delta": 0.5608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.6378,
"delta": 0.4678,
"percent_delta": 2.7518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3926,
"delta": 0.0026,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.811,
"after": 1.5448,
"delta": 0.7338,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.378,
"after": 5.927,
"delta": 2.549,
"percent_delta": 0.7546,
"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": 6,
"season": 47
}
},
{
"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.2939,
"predicted_3B": 0.1047,
"predicted_AB": 5.927,
"predicted_AVG": 0.2134,
"predicted_BB": 0.7069,
"predicted_H": 1.2649,
"predicted_HBP": 0.049,
"predicted_HR": 0.0672,
"predicted_OBP": 0.2972,
"predicted_R": 0.8129,
"predicted_RBI": 0.6413,
"predicted_SLG": 0.3324,
"predicted_SO": 1.5409
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2939,
"after": 0.2939,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1047,
"after": 0.1047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.927,
"after": 5.927,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2595,
"after": 0.2134,
"delta": -0.0461,
"percent_delta": -0.1776,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7051,
"after": 0.7069,
"delta": 0.0018,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2626,
"after": 1.2649,
"delta": 0.0023,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0676,
"after": 0.0672,
"delta": -0.0004,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3267,
"after": 0.2972,
"delta": -0.0295,
"percent_delta": -0.0903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8085,
"after": 0.8129,
"delta": 0.0044,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6378,
"after": 0.6413,
"delta": 0.0035,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3926,
"after": 0.3324,
"delta": -0.0602,
"percent_delta": -0.1533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5448,
"after": 1.5409,
"delta": -0.0039,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3926,
"after": 0.3324,
"delta": -0.0602,
"percent_delta": -0.1533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.93), rates preserved: AVG=0.213 HR/AB=0.011",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2939,
"after": 0.0,
"delta": -0.2939,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1047,
"after": 0.0,
"delta": -0.1047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.927,
"after": 6.0,
"delta": 0.073,
"percent_delta": 0.0123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7069,
"after": 1.0,
"delta": 0.2931,
"percent_delta": 0.4146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2649,
"after": 1.0,
"delta": -0.2649,
"percent_delta": -0.2094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0672,
"after": 0.0,
"delta": -0.0672,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6413,
"after": 1.0,
"delta": 0.3587,
"percent_delta": 0.5593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5409,
"after": 2.0,
"delta": 0.4591,
"percent_delta": 0.2979,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.5409,
"after": 2.0,
"delta": 0.4591,
"percent_delta": 0.2979,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2939,
"after": 0.0,
"delta": -0.2939,
"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": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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.8129,
"after": 1.0,
"delta": 0.1871,
"percent_delta": 0.2302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8129,
"after": 1.0,
"delta": 0.1871,
"percent_delta": 0.2302,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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": 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.2134,
"after": 0.167,
"delta": -0.0464,
"percent_delta": -0.2174,
"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.2972,
"after": 0.286,
"delta": -0.0112,
"percent_delta": -0.0377,
"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.3324,
"after": 0.167,
"delta": -0.1654,
"percent_delta": -0.4976,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3324,
"after": 0.167,
"delta": -0.1654,
"percent_delta": -0.4976,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 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_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"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.2134,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2972,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3324,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2134,
"delta": 0.0464,
"percent_delta": 0.2779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2972,
"delta": 0.0112,
"percent_delta": 0.0392,
"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.167,
"after": 0.3324,
"delta": 0.1654,
"percent_delta": 0.9902,
"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.167,
"after": 0.3324,
"delta": 0.1654,
"percent_delta": 0.9902,
"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.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.378,
"after": 3.0,
"delta": -0.378,
"percent_delta": -0.1119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2134,
"delta": -0.0376,
"percent_delta": -0.1498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.457,
"after": 1.0,
"delta": 0.543,
"percent_delta": 1.1882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.2972,
"delta": -0.0148,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.518,
"after": 0.0,
"delta": -0.518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3324,
"delta": -0.0576,
"percent_delta": -0.1477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.811,
"after": 2.0,
"delta": 1.189,
"percent_delta": 1.4661,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.811,
"after": 2.0,
"delta": 1.189,
"percent_delta": 1.4661,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.518,
"after": 0.0,
"delta": -0.518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.207 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 3.378 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.457 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.518 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 0.811 | - |
Final model 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.294 | 0.087 |
| predicted_3B | 0.105 | 0.075 |
| predicted_AB | 5.927 | 2.549 |
| predicted_AVG | 0.260 | 0.009 |
| predicted_BB | 0.705 | 0.248 |
| predicted_H | 1.263 | 0.953 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.068 | 0.038 |
| predicted_OBP | 0.327 | 0.015 |
| predicted_R | 0.808 | 0.290 |
| predicted_RBI | 0.638 | 0.468 |
| predicted_SLG | 0.393 | 0.003 |
| predicted_SO | 1.545 | 0.734 |
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.294 | 0.000 |
| predicted_3B | 0.105 | 0.000 |
| predicted_AB | 5.927 | 0.000 |
| predicted_AVG | 0.213 | -0.046 |
| predicted_BB | 0.707 | 0.002 |
| predicted_H | 1.265 | 0.002 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.067 | -0.000 |
| predicted_OBP | 0.297 | -0.029 |
| predicted_R | 0.813 | 0.004 |
| predicted_RBI | 0.641 | 0.003 |
| predicted_SLG | 0.332 | -0.060 |
| predicted_SO | 1.541 | -0.004 |
AB rounded to 6 (raw=5.93), rates preserved: AVG=0.213 HR/AB=0.011
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.294 |
| predicted_3B | 0.000 | -0.105 |
| predicted_AB | 6.000 | 0.073 |
| predicted_AVG | 0.167 | -0.046 |
| predicted_BB | 1.000 | 0.293 |
| predicted_H | 1.000 | -0.265 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.286 | -0.011 |
| predicted_R | 1.000 | 0.187 |
| predicted_RBI | 1.000 | 0.359 |
| predicted_SLG | 0.167 | -0.165 |
| predicted_SO | 2.000 | 0.459 |
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 | -3.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 6.000 | 0.2500 | 0.2941 | 0.3750 | 0.2500 | 0.0000 | 0.0625 | 0.0625 | 0.3750 |
| last_10 | 0.20 | 6 | - | 36.000 | 11.000 | 0.000 | 1.000 | 0.000 | 3.000 | 3.000 | 1.000 | 9.000 | 0.3056 | 0.3243 | 0.3611 | 0.3056 | 0.0000 | 0.0833 | 0.0278 | 0.2500 |
| season | 0.60 | 47 | - | 554.000 | 153.000 | 34.000 | 5.000 | 9.000 | 90.000 | 85.000 | 75.000 | 133.000 | 0.2762 | 0.3665 | 0.4043 | 0.2762 | 0.0163 | 0.1625 | 0.1354 | 0.2401 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4060 |
| predicted_3B | 0.2010 |
| predicted_AB | 9.2140 |
| predicted_AVG | 0.2704 |
| predicted_BB | 1.0250 |
| predicted_H | 2.4910 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.1160 |
| predicted_OBP | 0.3457 |
| predicted_R | 1.1830 |
| predicted_RBI | 1.2410 |
| predicted_SLG | 0.3959 |
| predicted_SO | 2.4910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2070 | 0.4060 | 0.2939 | model_form_blend |
| predicted_3B | 0.0300 | 0.2010 | 0.1047 | model_form_blend |
| predicted_AB | 3.3780 | 9.2140 | 5.9270 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2704 | 0.2595 | model_form_blend |
| predicted_BB | 0.4570 | 1.0250 | 0.7051 | model_form_blend |
| predicted_H | 0.3100 | 2.4910 | 1.2626 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.0300 | 0.1160 | 0.0676 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3457 | 0.3267 | model_form_blend |
| predicted_R | 0.5180 | 1.1830 | 0.8085 | model_form_blend |
| predicted_RBI | 0.1700 | 1.2410 | 0.6378 | model_form_blend |
| predicted_SLG | 0.3900 | 0.3959 | 0.3926 | model_form_blend |
| predicted_SO | 0.8110 | 2.4910 | 1.5448 | 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 | 167 |
| Season rows before report date | 167 |
| Report year | 2026 |
| Profile rows used | 164 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.276 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| 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 | CF |
| gameID | 20260602_BAL@BOS |
| game_type | full |
| mlbID | 665750 |
| playerID | 665750 |
| playerName | Leody Taveras |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-02 |
| sl_k_percent | 22.0 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.345 |
| sl_xwoba | 0.316 |
| sl_xba | 0.246 |
| sl_xslg | 0.355 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 28.4 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 46.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.060 | 0.000 | 0.000 | Hitting_2B | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.810 | 4.000 | 4.000 | Hitting_AB | 2.608 | 1.000 | 1.392 | 3.000 |
| predicted_AVG | 0.282 | 0.000 | 0.250 | Hitting_AVG | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_BB | 0.371 | 0.000 | 1.000 | Hitting_BB | 0.392 | 1.000 | -0.392 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 0.600 | 0.000 | 1.000 | Hitting_H | 0.536 | 0.000 | -0.536 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.072 | 0.000 | -0.072 | 0.000 |
| predicted_OBP | 0.336 | 0.000 | 0.400 | Hitting_OBP | 0.307 | 0.500 | -0.307 | -0.500 |
| predicted_R | 0.353 | 0.000 | 1.000 | Hitting_R | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 1.000 | Hitting_RBI | 0.336 | 0.000 | -0.336 | 0.000 |
| predicted_SLG | 0.431 | 0.000 | 0.250 | Hitting_SLG | 0.310 | 0.000 | -0.310 | 0.000 |
| predicted_SO | 1.060 | 0.000 | 1.000 | Hitting_SO | 0.984 | 0.000 | -0.984 | 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.8100 -> 4.0000 (boost 1.1900, better) |
| Biggest Deboost | predicted_SO: 1.0600 -> 0.0000 (deboost -1.0600, 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 | 9 | 8 | 1 | 7 | 2 | predicted_AB: 2.8100 -> 3.9340 (boost 1.1240, better) | predicted_AVG: 0.2820 -> 0.2701 (deboost -0.0119, 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.4280 -> 0.3901 (deboost -0.0379, 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 | 5 | 2 | predicted_BB: 0.5354 -> 1.0000 (boost 0.4646, better) | predicted_SO: 1.2777 -> 1.0000 (deboost -0.2777, better) | AB rounded to 4 (raw=3.93), rates preserved: AVG=0.238 HR/AB=0.040 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.231) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5957 -> 1.0000 (boost 0.4043, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3293 -> 0.4000 (boost 0.0707, better) | predicted_SLG: 0.3901 -> 0.2500 (deboost -0.1401, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3901 (boost 0.1401, better) | predicted_OBP: 0.4000 -> 0.3293 (deboost -0.0707, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681297",
"player_name": "Colton Cowser",
"position": "RF",
"team": "BAL",
"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.06,
"predicted_3B": 0.0,
"predicted_AB": 2.81,
"predicted_AVG": 0.282,
"predicted_BB": 0.371,
"predicted_H": 0.6,
"predicted_HR": 0.1,
"predicted_OBP": 0.336,
"predicted_R": 0.353,
"predicted_RBI": 0.42,
"predicted_SLG": 0.431,
"predicted_SO": 1.06
},
"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.1281,
"predicted_3B": 0.0009,
"predicted_AB": 3.934,
"predicted_AVG": 0.2701,
"predicted_BB": 0.5341,
"predicted_H": 0.9348,
"predicted_HBP": 0.004,
"predicted_HR": 0.1569,
"predicted_OBP": 0.339,
"predicted_R": 0.5924,
"predicted_RBI": 0.6653,
"predicted_SLG": 0.428,
"predicted_SO": 1.2809
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.06,
"after": 0.1281,
"delta": 0.0681,
"percent_delta": 1.135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.81,
"after": 3.934,
"delta": 1.124,
"percent_delta": 0.4,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2701,
"delta": -0.0119,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.5341,
"delta": 0.1631,
"percent_delta": 0.4396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 0.9348,
"delta": 0.3348,
"percent_delta": 0.558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1569,
"delta": 0.0569,
"percent_delta": 0.569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.339,
"delta": 0.003,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 0.5924,
"delta": 0.2394,
"percent_delta": 0.6782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.6653,
"delta": 0.2453,
"percent_delta": 0.584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.428,
"delta": -0.003,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.06,
"after": 1.2809,
"delta": 0.2209,
"percent_delta": 0.2084,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.81,
"after": 3.934,
"delta": 1.124,
"percent_delta": 0.4,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2701,
"delta": -0.0119,
"percent_delta": -0.0422,
"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": 8,
"season": 45
}
},
{
"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.1281,
"predicted_3B": 0.0009,
"predicted_AB": 3.934,
"predicted_AVG": 0.238,
"predicted_BB": 0.5354,
"predicted_H": 0.9365,
"predicted_HBP": 0.004,
"predicted_HR": 0.1561,
"predicted_OBP": 0.3293,
"predicted_R": 0.5957,
"predicted_RBI": 0.669,
"predicted_SLG": 0.3901,
"predicted_SO": 1.2777
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1281,
"after": 0.1281,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.934,
"after": 3.934,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2701,
"after": 0.238,
"delta": -0.0321,
"percent_delta": -0.1188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5341,
"after": 0.5354,
"delta": 0.0013,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9348,
"after": 0.9365,
"delta": 0.0017,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1569,
"after": 0.1561,
"delta": -0.0008,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3293,
"delta": -0.0097,
"percent_delta": -0.0286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5924,
"after": 0.5957,
"delta": 0.0033,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6653,
"after": 0.669,
"delta": 0.0037,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.3901,
"delta": -0.0379,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2809,
"after": 1.2777,
"delta": -0.0032,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.3901,
"delta": -0.0379,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.93), rates preserved: AVG=0.238 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1281,
"after": 0.0,
"delta": -0.1281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.934,
"after": 4.0,
"delta": 0.066,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5354,
"after": 1.0,
"delta": 0.4646,
"percent_delta": 0.8678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9365,
"after": 1.0,
"delta": 0.0635,
"percent_delta": 0.0678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1561,
"after": 0.0,
"delta": -0.1561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.669,
"after": 1.0,
"delta": 0.331,
"percent_delta": 0.4948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2777,
"after": 1.0,
"delta": -0.2777,
"percent_delta": -0.2173,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5354,
"after": 1.0,
"delta": 0.4646,
"percent_delta": 0.8678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.2777,
"after": 1.0,
"delta": -0.2777,
"percent_delta": -0.2173,
"direction": "deboost",
"projection_effect": "better",
"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.231)",
"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.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": 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.5957,
"after": 1.0,
"delta": 0.4043,
"percent_delta": 0.6787,
"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.5957,
"after": 1.0,
"delta": 0.4043,
"percent_delta": 0.6787,
"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.238,
"after": 0.25,
"delta": 0.012,
"percent_delta": 0.0504,
"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.3293,
"after": 0.4,
"delta": 0.0707,
"percent_delta": 0.2147,
"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.3901,
"after": 0.25,
"delta": -0.1401,
"percent_delta": -0.3591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3293,
"after": 0.4,
"delta": 0.0707,
"percent_delta": 0.2147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3901,
"after": 0.25,
"delta": -0.1401,
"percent_delta": -0.3591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.238,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3293,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3901,
"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.25,
"after": 0.238,
"delta": -0.012,
"percent_delta": -0.0478,
"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.4,
"after": 0.3293,
"delta": -0.0707,
"percent_delta": -0.1767,
"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.25,
"after": 0.3901,
"delta": 0.1401,
"percent_delta": 0.5604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3901,
"delta": 0.1401,
"percent_delta": 0.5604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3293,
"delta": -0.0707,
"percent_delta": -0.1767,
"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.06,
"after": 0.0,
"delta": -0.06,
"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.81,
"after": 4.0,
"delta": 1.19,
"percent_delta": 0.4235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.238,
"delta": -0.044,
"percent_delta": -0.156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.0,
"delta": -0.371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3293,
"delta": -0.0067,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"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.431,
"after": 0.3901,
"delta": -0.0409,
"percent_delta": -0.0949,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"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.81,
"after": 4.0,
"delta": 1.19,
"percent_delta": 0.4235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"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.060 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.810 | - |
| predicted_AVG | 0.282 | - |
| predicted_BB | 0.371 | - |
| predicted_H | 0.600 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.353 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 1.060 | - |
Final model 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.128 | 0.068 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.934 | 1.124 |
| predicted_AVG | 0.270 | -0.012 |
| predicted_BB | 0.534 | 0.163 |
| predicted_H | 0.935 | 0.335 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.157 | 0.057 |
| predicted_OBP | 0.339 | 0.003 |
| predicted_R | 0.592 | 0.239 |
| predicted_RBI | 0.665 | 0.245 |
| predicted_SLG | 0.428 | -0.003 |
| predicted_SO | 1.281 | 0.221 |
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.128 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.934 | 0.000 |
| predicted_AVG | 0.238 | -0.032 |
| predicted_BB | 0.535 | 0.001 |
| predicted_H | 0.936 | 0.002 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.156 | -0.001 |
| predicted_OBP | 0.329 | -0.010 |
| predicted_R | 0.596 | 0.003 |
| predicted_RBI | 0.669 | 0.004 |
| predicted_SLG | 0.390 | -0.038 |
| predicted_SO | 1.278 | -0.003 |
AB rounded to 4 (raw=3.93), rates preserved: AVG=0.238 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.231)
| 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.128 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.066 |
| predicted_AVG | 0.250 | 0.012 |
| predicted_BB | 1.000 | 0.465 |
| predicted_H | 1.000 | 0.064 |
| predicted_HR | 0.000 | -0.156 |
| predicted_OBP | 0.400 | 0.071 |
| predicted_R | 1.000 | 0.404 |
| predicted_RBI | 1.000 | 0.331 |
| predicted_SLG | 0.250 | -0.140 |
| predicted_SO | 1.000 | -0.278 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 2.000 | 1.000 | 0.3636 | 0.4615 | 0.7273 | 0.3636 | 0.0909 | 0.3636 | 0.1818 | 0.0909 |
| last_10 | 0.20 | 8 | - | 22.000 | 7.000 | 1.000 | 0.000 | 1.000 | 4.000 | 5.000 | 3.000 | 5.000 | 0.3182 | 0.4000 | 0.5000 | 0.3182 | 0.0454 | 0.1818 | 0.1364 | 0.2273 |
| season | 0.60 | 45 | - | 326.000 | 67.000 | 7.000 | 0.000 | 9.000 | 42.000 | 41.000 | 43.000 | 123.000 | 0.2055 | 0.2957 | 0.3098 | 0.2055 | 0.0276 | 0.1288 | 0.1319 | 0.3773 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2190 |
| predicted_3B | 0.0020 |
| predicted_AB | 5.4350 |
| predicted_AVG | 0.2542 |
| predicted_BB | 0.7520 |
| predicted_H | 1.3820 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.2330 |
| predicted_OBP | 0.3430 |
| predicted_R | 0.9120 |
| predicted_RBI | 0.9930 |
| predicted_SLG | 0.4241 |
| predicted_SO | 1.5760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0600 | 0.2190 | 0.1281 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 2.8100 | 5.4350 | 3.9340 | model_form_blend |
| predicted_AVG | 0.2820 | 0.2542 | 0.2701 | model_form_blend |
| predicted_BB | 0.3710 | 0.7520 | 0.5341 | model_form_blend |
| predicted_H | 0.6000 | 1.3820 | 0.9348 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1000 | 0.2330 | 0.1569 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3430 | 0.3390 | model_form_blend |
| predicted_R | 0.3530 | 0.9120 | 0.5924 | model_form_blend |
| predicted_RBI | 0.4200 | 0.9930 | 0.6653 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4241 | 0.4280 | model_form_blend |
| predicted_SO | 1.0600 | 1.5760 | 1.2809 | 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 | 125 |
| Season rows before report date | 125 |
| 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 | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.206 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | PH-CF |
| gameID | 20260603_BAL@BOS |
| game_type | ph |
| mlbID | 681297 |
| note | Flied out for Alexander in the 7th. |
| playerID | 681297 |
| playerName | Colton Cowser |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-03 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.301 |
| sl_xwoba | 0.301 |
| sl_xba | 0.203 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 10.5 |
| sl_hard_hit_percent | 28.9 |
| sl_exit_velocity_avg | 85.2 |
| sl_launch_angle_avg | 7.5 |
| sl_whiff_percent | 33.7 |
| sl_swing_percent | 44.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.130 | 0.000 | 0.000 | Hitting_2B | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.312 | 4.000 | 6.000 | Hitting_AB | 3.248 | 4.000 | 0.752 | 0.000 |
| predicted_AVG | 0.242 | 0.500 | 0.167 | Hitting_AVG | 0.214 | 0.250 | 0.286 | 0.250 |
| predicted_BB | 0.338 | 0.000 | 0.000 | Hitting_BB | 0.331 | 0.000 | -0.331 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 2.000 | 1.000 | Hitting_H | 0.694 | 1.000 | 1.306 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_OBP | 0.298 | 0.500 | 0.167 | Hitting_OBP | 0.290 | 0.250 | 0.210 | 0.250 |
| predicted_R | 0.435 | 1.000 | 1.000 | Hitting_R | 0.433 | 0.000 | 0.567 | 1.000 |
| predicted_RBI | 0.390 | 1.000 | 1.000 | Hitting_RBI | 0.459 | 0.000 | 0.541 | 1.000 |
| predicted_SLG | 0.430 | 0.500 | 0.167 | Hitting_SLG | 0.382 | 0.250 | 0.118 | 0.250 |
| predicted_SO | 1.091 | 0.000 | 2.000 | Hitting_SO | 1.070 | 2.000 | -1.070 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.6800 -> 2.0000 (boost 1.3200, better) |
| Biggest Deboost | predicted_SO: 1.0910 -> 0.0000 (deboost -1.0910, 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 | 9 | 9 | 0 | 8 | 1 | predicted_AB: 3.3120 -> 5.7300 (boost 2.4180, 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.2374 -> 0.2233 (deboost -0.0141, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_BB: 0.4946 -> 1.0000 (boost 0.5054, better) | predicted_HR: 0.3273 -> 0.0000 (deboost -0.3273, worse) | AB rounded to 6 (raw=5.73), rates preserved: AVG=0.223 HR/AB=0.057 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8651 -> 1.0000 (boost 0.1349, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4309 -> 0.1670 (deboost -0.2639, 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_H: 1.0000 -> 2.0000 (boost 1.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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.4309 (boost 0.2639, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691723",
"player_name": "Coby Mayo",
"position": "3B",
"team": "BAL",
"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.13,
"predicted_3B": 0.0,
"predicted_AB": 3.312,
"predicted_AVG": 0.242,
"predicted_BB": 0.338,
"predicted_H": 0.68,
"predicted_HR": 0.15,
"predicted_OBP": 0.298,
"predicted_R": 0.435,
"predicted_RBI": 0.39,
"predicted_SLG": 0.43,
"predicted_SO": 1.091
},
"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.2062,
"predicted_3B": 0.0009,
"predicted_AB": 5.73,
"predicted_AVG": 0.2374,
"predicted_BB": 0.4934,
"predicted_H": 1.277,
"predicted_HBP": 0.2,
"predicted_HR": 0.329,
"predicted_OBP": 0.2987,
"predicted_R": 0.8604,
"predicted_RBI": 0.7397,
"predicted_SLG": 0.4413,
"predicted_SO": 1.8848
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.2062,
"delta": 0.0762,
"percent_delta": 0.5862,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.312,
"after": 5.73,
"delta": 2.418,
"percent_delta": 0.7301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2374,
"delta": -0.0046,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.4934,
"delta": 0.1554,
"percent_delta": 0.4598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.277,
"delta": 0.597,
"percent_delta": 0.8779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.329,
"delta": 0.179,
"percent_delta": 1.1933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2987,
"delta": 0.0007,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 0.8604,
"delta": 0.4254,
"percent_delta": 0.9779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.7397,
"delta": 0.3497,
"percent_delta": 0.8967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4413,
"delta": 0.0113,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.091,
"after": 1.8848,
"delta": 0.7938,
"percent_delta": 0.7276,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.312,
"after": 5.73,
"delta": 2.418,
"percent_delta": 0.7301,
"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": 6,
"season": 45
}
},
{
"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.2062,
"predicted_3B": 0.0009,
"predicted_AB": 5.73,
"predicted_AVG": 0.2233,
"predicted_BB": 0.4946,
"predicted_H": 1.2793,
"predicted_HBP": 0.2,
"predicted_HR": 0.3273,
"predicted_OBP": 0.285,
"predicted_R": 0.8651,
"predicted_RBI": 0.7438,
"predicted_SLG": 0.4309,
"predicted_SO": 1.8801
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2062,
"after": 0.2062,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.73,
"after": 5.73,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2374,
"after": 0.2233,
"delta": -0.0141,
"percent_delta": -0.0594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4934,
"after": 0.4946,
"delta": 0.0012,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.277,
"after": 1.2793,
"delta": 0.0023,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.2,
"after": 0.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.329,
"after": 0.3273,
"delta": -0.0017,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2987,
"after": 0.285,
"delta": -0.0137,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8604,
"after": 0.8651,
"delta": 0.0047,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7397,
"after": 0.7438,
"delta": 0.0041,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4413,
"after": 0.4309,
"delta": -0.0104,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8848,
"after": 1.8801,
"delta": -0.0047,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2374,
"after": 0.2233,
"delta": -0.0141,
"percent_delta": -0.0594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.73), rates preserved: AVG=0.223 HR/AB=0.057",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2062,
"after": 0.0,
"delta": -0.2062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.73,
"after": 6.0,
"delta": 0.27,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4946,
"after": 1.0,
"delta": 0.5054,
"percent_delta": 1.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2793,
"after": 1.0,
"delta": -0.2793,
"percent_delta": -0.2183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3273,
"after": 0.0,
"delta": -0.3273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7438,
"after": 1.0,
"delta": 0.2562,
"percent_delta": 0.3444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8801,
"after": 2.0,
"delta": 0.1199,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4946,
"after": 1.0,
"delta": 0.5054,
"percent_delta": 1.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3273,
"after": 0.0,
"delta": -0.3273,
"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=8.0, weight=0.084, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8651,
"after": 1.0,
"delta": 0.1349,
"percent_delta": 0.1559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8651,
"after": 1.0,
"delta": 0.1349,
"percent_delta": 0.1559,
"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.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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": 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.2233,
"after": 0.167,
"delta": -0.0563,
"percent_delta": -0.2521,
"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.285,
"after": 0.167,
"delta": -0.118,
"percent_delta": -0.414,
"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.4309,
"after": 0.167,
"delta": -0.2639,
"percent_delta": -0.6124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4309,
"after": 0.167,
"delta": -0.2639,
"percent_delta": -0.6124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2233,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.285,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4309,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2233,
"delta": 0.0563,
"percent_delta": 0.3369,
"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.167,
"after": 0.285,
"delta": 0.118,
"percent_delta": 0.7065,
"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.167,
"after": 0.4309,
"delta": 0.2639,
"percent_delta": 1.5804,
"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.167,
"after": 0.4309,
"delta": 0.2639,
"percent_delta": 1.5804,
"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.13,
"after": 0.0,
"delta": -0.13,
"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.312,
"after": 4.0,
"delta": 0.688,
"percent_delta": 0.2077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2233,
"delta": -0.0187,
"percent_delta": -0.0773,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.285,
"delta": -0.013,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 1.0,
"delta": 0.565,
"percent_delta": 1.2989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4309,
"delta": 0.0009,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.091,
"after": 0.0,
"delta": -1.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.091,
"after": 0.0,
"delta": -1.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.130 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.312 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.338 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.435 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 1.091 | - |
Final model 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.206 | 0.076 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.730 | 2.418 |
| predicted_AVG | 0.237 | -0.005 |
| predicted_BB | 0.493 | 0.155 |
| predicted_H | 1.277 | 0.597 |
| predicted_HBP | 0.200 | - |
| predicted_HR | 0.329 | 0.179 |
| predicted_OBP | 0.299 | 0.001 |
| predicted_R | 0.860 | 0.425 |
| predicted_RBI | 0.740 | 0.350 |
| predicted_SLG | 0.441 | 0.011 |
| predicted_SO | 1.885 | 0.794 |
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.206 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.730 | 0.000 |
| predicted_AVG | 0.223 | -0.014 |
| predicted_BB | 0.495 | 0.001 |
| predicted_H | 1.279 | 0.002 |
| predicted_HBP | 0.200 | 0.000 |
| predicted_HR | 0.327 | -0.002 |
| predicted_OBP | 0.285 | -0.014 |
| predicted_R | 0.865 | 0.005 |
| predicted_RBI | 0.744 | 0.004 |
| predicted_SLG | 0.431 | -0.010 |
| predicted_SO | 1.880 | -0.005 |
AB rounded to 6 (raw=5.73), rates preserved: AVG=0.223 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.206 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.270 |
| predicted_AVG | 0.167 | -0.056 |
| predicted_BB | 0.000 | -0.495 |
| predicted_H | 1.000 | -0.279 |
| predicted_HR | 0.000 | -0.327 |
| predicted_OBP | 0.167 | -0.118 |
| predicted_R | 1.000 | 0.135 |
| predicted_RBI | 1.000 | 0.256 |
| predicted_SLG | 0.167 | -0.264 |
| predicted_SO | 2.000 | 0.120 |
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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 16.000 | 4.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 0.000 | 6.000 | 0.2500 | 0.2941 | 0.6250 | 0.2500 | 0.1250 | 0.1250 | 0.0000 | 0.3750 |
| last_10 | 0.20 | 6 | - | 34.000 | 13.000 | 4.000 | 0.000 | 3.000 | 3.000 | 16.000 | 4.000 | 7.000 | 0.3824 | 0.4615 | 0.7647 | 0.3824 | 0.0882 | 0.0882 | 0.1177 | 0.2059 |
| season | 0.60 | 45 | - | 510.000 | 109.000 | 20.000 | 0.000 | 22.000 | 72.000 | 67.000 | 52.000 | 168.000 | 0.2137 | 0.2897 | 0.3824 | 0.2137 | 0.0431 | 0.1412 | 0.1020 | 0.3294 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3050 |
| predicted_3B | 0.0020 |
| predicted_AB | 8.8650 |
| predicted_AVG | 0.2314 |
| predicted_BB | 0.6950 |
| predicted_H | 2.0510 |
| predicted_HBP | 0.2000 |
| predicted_HR | 0.5610 |
| predicted_OBP | 0.2997 |
| predicted_R | 1.4120 |
| predicted_RBI | 1.1930 |
| predicted_SLG | 0.4559 |
| predicted_SO | 2.9140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.3050 | 0.2062 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3120 | 8.8650 | 5.7300 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2314 | 0.2374 | model_form_blend |
| predicted_BB | 0.3380 | 0.6950 | 0.4934 | model_form_blend |
| predicted_H | 0.6800 | 2.0510 | 1.2770 | model_form_blend |
| predicted_HBP | - | 0.2000 | 0.2000 | form_only |
| predicted_HR | 0.1500 | 0.5610 | 0.3290 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2997 | 0.2987 | model_form_blend |
| predicted_R | 0.4350 | 1.4120 | 0.8604 | model_form_blend |
| predicted_RBI | 0.3900 | 1.1930 | 0.7397 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4559 | 0.4413 | model_form_blend |
| predicted_SO | 1.0910 | 2.9140 | 1.8848 | 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 | 157 |
| Season rows before report date | 157 |
| Report year | 2026 |
| Profile rows used | 154 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 691723 |
| playerID | 691723 |
| playerName | Coby Mayo |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-03 |
| sl_k_percent | 30.3 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.289 |
| sl_xwoba | 0.305 |
| sl_xba | 0.229 |
| sl_xslg | 0.393 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 48.0 |
| sl_exit_velocity_avg | 91.8 |
| sl_launch_angle_avg | 19.5 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 45.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.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 | 3.233 | 3.000 | 4.000 | Hitting_AB | 3.233 | 4.000 | -0.233 | -1.000 |
| predicted_AVG | 0.257 | 0.667 | 0.250 | Hitting_AVG | 0.227 | 0.250 | 0.440 | 0.417 |
| predicted_BB | 0.400 | 1.000 | 0.000 | Hitting_BB | 0.400 | 0.000 | 0.600 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 2.000 | 1.000 | Hitting_H | 0.733 | 1.000 | 1.267 | 1.000 |
| predicted_HR | 0.120 | 1.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_OBP | 0.318 | 0.750 | 0.250 | Hitting_OBP | 0.296 | 0.250 | 0.454 | 0.500 |
| predicted_R | 0.467 | 1.000 | 1.000 | Hitting_R | 0.467 | 0.000 | 0.533 | 1.000 |
| predicted_RBI | 0.410 | 2.000 | 1.000 | Hitting_RBI | 0.633 | 0.000 | 1.367 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_SLG | 0.409 | 1.667 | 0.250 | Hitting_SLG | 0.381 | 0.250 | 1.285 | 1.417 |
| predicted_SO | 1.000 | 0.000 | 1.000 | Hitting_SO | 1.000 | 1.000 | -1.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.4100 -> 2.0000 (boost 1.5900, better) |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 7 | 0 | 6 | 1 | predicted_AB: 3.2330 -> 4.3769 (boost 1.1439, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4049 -> 0.3650 (deboost -0.0399, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 2 | 3 | predicted_RBI: 0.6371 -> 1.0000 (boost 0.3629, better) | predicted_BB: 0.5030 -> 0.0000 (deboost -0.5030, worse) | AB rounded to 4 (raw=4.38), rates preserved: AVG=0.232 HR/AB=0.042 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6325 -> 1.0000 (boost 0.3675, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2316 -> 0.2500 (boost 0.0184, better) | predicted_SLG: 0.3650 -> 0.2500 (deboost -0.1150, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 4 | 2 | 5 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3650 (boost 0.1150, better) | predicted_AVG: 0.2500 -> 0.2316 (deboost -0.0184, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702616",
"player_name": "Jackson Holliday",
"position": "2B",
"team": "BAL",
"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": 3.233,
"predicted_AVG": 0.257,
"predicted_BB": 0.4,
"predicted_H": 0.69,
"predicted_HR": 0.12,
"predicted_OBP": 0.318,
"predicted_R": 0.467,
"predicted_RBI": 0.41,
"predicted_SLG": 0.409,
"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": "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.0245,
"predicted_3B": 0.0019,
"predicted_AB": 4.3769,
"predicted_AVG": 0.2526,
"predicted_BB": 0.5017,
"predicted_H": 1.0117,
"predicted_HBP": 0.012,
"predicted_HR": 0.1862,
"predicted_OBP": 0.3156,
"predicted_R": 0.629,
"predicted_RBI": 0.6336,
"predicted_SLG": 0.4049,
"predicted_SO": 1.2832
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0245,
"delta": 0.0245,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.233,
"after": 4.3769,
"delta": 1.1439,
"percent_delta": 0.3538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2526,
"delta": -0.0044,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.5017,
"delta": 0.1017,
"percent_delta": 0.2543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 1.0117,
"delta": 0.3217,
"percent_delta": 0.4662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1862,
"delta": 0.0662,
"percent_delta": 0.5517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3156,
"delta": -0.0024,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.629,
"delta": 0.162,
"percent_delta": 0.3469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.6336,
"delta": 0.2236,
"percent_delta": 0.5454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.4049,
"delta": -0.0041,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.2832,
"delta": 0.2832,
"percent_delta": 0.2832,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.233,
"after": 4.3769,
"delta": 1.1439,
"percent_delta": 0.3538,
"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": 12
}
},
{
"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.0245,
"predicted_3B": 0.0019,
"predicted_AB": 4.3769,
"predicted_AVG": 0.2316,
"predicted_BB": 0.503,
"predicted_H": 1.0135,
"predicted_HBP": 0.012,
"predicted_HR": 0.1852,
"predicted_OBP": 0.3108,
"predicted_R": 0.6325,
"predicted_RBI": 0.6371,
"predicted_SLG": 0.365,
"predicted_SO": 1.28
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0245,
"after": 0.0245,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3769,
"after": 4.3769,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2526,
"after": 0.2316,
"delta": -0.021,
"percent_delta": -0.0831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5017,
"after": 0.503,
"delta": 0.0013,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0117,
"after": 1.0135,
"delta": 0.0018,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1862,
"after": 0.1852,
"delta": -0.001,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3156,
"after": 0.3108,
"delta": -0.0048,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.629,
"after": 0.6325,
"delta": 0.0035,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6336,
"after": 0.6371,
"delta": 0.0035,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4049,
"after": 0.365,
"delta": -0.0399,
"percent_delta": -0.0985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2832,
"after": 1.28,
"delta": -0.0032,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4049,
"after": 0.365,
"delta": -0.0399,
"percent_delta": -0.0985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.38), rates preserved: AVG=0.232 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0245,
"after": 0.0,
"delta": -0.0245,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3769,
"after": 4.0,
"delta": -0.3769,
"percent_delta": -0.0861,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.503,
"after": 0.0,
"delta": -0.503,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0135,
"after": 1.0,
"delta": -0.0135,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1852,
"after": 0.0,
"delta": -0.1852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6371,
"after": 1.0,
"delta": 0.3629,
"percent_delta": 0.5696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.28,
"after": 1.0,
"delta": -0.28,
"percent_delta": -0.2188,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6371,
"after": 1.0,
"delta": 0.3629,
"percent_delta": 0.5696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.503,
"after": 0.0,
"delta": -0.503,
"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=7.0, weight=0.076, BvP AVG=0.143)",
"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.9243,
"bvp": 0.0757
},
"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.6325,
"after": 1.0,
"delta": 0.3675,
"percent_delta": 0.581,
"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.6325,
"after": 1.0,
"delta": 0.3675,
"percent_delta": 0.581,
"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.2316,
"after": 0.25,
"delta": 0.0184,
"percent_delta": 0.0794,
"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.3108,
"after": 0.25,
"delta": -0.0608,
"percent_delta": -0.1956,
"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.365,
"after": 0.25,
"delta": -0.115,
"percent_delta": -0.3151,
"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.2316,
"after": 0.25,
"delta": 0.0184,
"percent_delta": 0.0794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.25,
"delta": -0.115,
"percent_delta": -0.3151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2316,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3108,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.365,
"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.25,
"after": 0.2316,
"delta": -0.0184,
"percent_delta": -0.0738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3108,
"delta": 0.0608,
"percent_delta": 0.243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.365,
"delta": 0.115,
"percent_delta": 0.46,
"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.365,
"delta": 0.115,
"percent_delta": 0.46,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2316,
"delta": -0.0184,
"percent_delta": -0.0738,
"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": 3.233,
"after": 3.0,
"delta": -0.233,
"percent_delta": -0.0721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2316,
"delta": -0.0254,
"percent_delta": -0.0988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 2.0,
"delta": 1.31,
"percent_delta": 1.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3108,
"delta": -0.0072,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 1.0,
"delta": 0.533,
"percent_delta": 1.1413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 2.0,
"delta": 1.59,
"percent_delta": 3.878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.365,
"delta": -0.044,
"percent_delta": -0.1076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.41,
"after": 2.0,
"delta": 1.59,
"percent_delta": 3.878,
"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
},
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.233 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.467 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.409 | - |
| predicted_SO | 1.000 | - |
Final model 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.025 | 0.025 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 4.377 | 1.144 |
| predicted_AVG | 0.253 | -0.004 |
| predicted_BB | 0.502 | 0.102 |
| predicted_H | 1.012 | 0.322 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.186 | 0.066 |
| predicted_OBP | 0.316 | -0.002 |
| predicted_R | 0.629 | 0.162 |
| predicted_RBI | 0.634 | 0.224 |
| predicted_SLG | 0.405 | -0.004 |
| predicted_SO | 1.283 | 0.283 |
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.025 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 4.377 | 0.000 |
| predicted_AVG | 0.232 | -0.021 |
| predicted_BB | 0.503 | 0.001 |
| predicted_H | 1.014 | 0.002 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.185 | -0.001 |
| predicted_OBP | 0.311 | -0.005 |
| predicted_R | 0.632 | 0.003 |
| predicted_RBI | 0.637 | 0.003 |
| predicted_SLG | 0.365 | -0.040 |
| predicted_SO | 1.280 | -0.003 |
AB rounded to 4 (raw=4.38), rates preserved: AVG=0.232 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.025 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | -0.377 |
| predicted_AVG | 0.250 | 0.018 |
| predicted_BB | 0.000 | -0.503 |
| predicted_H | 1.000 | -0.014 |
| predicted_HR | 0.000 | -0.185 |
| predicted_OBP | 0.250 | -0.061 |
| predicted_R | 1.000 | 0.368 |
| predicted_RBI | 1.000 | 0.363 |
| predicted_SLG | 0.250 | -0.115 |
| predicted_SO | 1.000 | -0.280 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 2.000 | 5.000 | 0.2778 | 0.3500 | 0.4444 | 0.2778 | 0.0556 | 0.1111 | 0.1111 | 0.2778 |
| last_10 | 0.20 | 7 | - | 34.000 | 10.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 8.000 | 0.2941 | 0.3333 | 0.3824 | 0.2941 | 0.0294 | 0.0882 | 0.0588 | 0.2353 |
| season | 0.60 | 12 | - | 97.000 | 22.000 | 0.000 | 0.000 | 5.000 | 19.000 | 14.000 | 12.000 | 30.000 | 0.2268 | 0.2957 | 0.3814 | 0.2268 | 0.0515 | 0.1959 | 0.1237 | 0.3093 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0630 |
| predicted_3B | 0.0050 |
| predicted_AB | 6.1700 |
| predicted_AVG | 0.2457 |
| predicted_BB | 0.6610 |
| predicted_H | 1.5160 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.2900 |
| predicted_OBP | 0.3119 |
| predicted_R | 0.8830 |
| predicted_RBI | 0.9840 |
| predicted_SLG | 0.3984 |
| predicted_SO | 1.7270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0630 | 0.0245 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0019 | model_form_blend |
| predicted_AB | 3.2330 | 6.1700 | 4.3769 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2457 | 0.2526 | model_form_blend |
| predicted_BB | 0.4000 | 0.6610 | 0.5017 | model_form_blend |
| predicted_H | 0.6900 | 1.5160 | 1.0117 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1200 | 0.2900 | 0.1862 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3119 | 0.3156 | model_form_blend |
| predicted_R | 0.4670 | 0.8830 | 0.6290 | model_form_blend |
| predicted_RBI | 0.4100 | 0.9840 | 0.6336 | model_form_blend |
| predicted_SLG | 0.4090 | 0.3984 | 0.4049 | model_form_blend |
| predicted_SO | 1.0000 | 1.7270 | 1.2832 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 30 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.227 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 702616 |
| playerID | 702616 |
| playerName | Jackson Holliday |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.324 |
| sl_xwoba | 0.315 |
| sl_xba | 0.22 |
| sl_xslg | 0.379 |
| sl_sweet_spot_percent | 40.7 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 37.0 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 35.1 |
| sl_swing_percent | 42.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.800 | 1.000 | -0.800 | 0.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 3.700 | 4.000 | 0.300 | 0.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 5.800 | 6.000 | 1.200 | 1.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 4.680 | 6.000 | -0.680 | -2.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 3.800 | 3.000 | 2.200 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.6667 -> 4.0000 (deboost -0.6667, 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: 4.6667 -> 4.0000 (deboost -0.6667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669432",
"player_name": "Trevor Rogers",
"position": "Starter",
"team": "BAL",
"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": 4.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 4.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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_SO": 6.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"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": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_R": 4.0,
"predicted_SO": 6.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"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": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 6.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 4.000 | 0.000 |
| predicted_H | 7.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.000 | -0.667 |
| predicted_SO | 6.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 | 20.000 | 24.000 | 28.000 | 10.000 | 13.000 | 5.000 | 10.8000 | 1.9000 | 1.2000 | 1.4000 | 0.5000 | 0.6500 | 0.2500 |
| last_10 | 0.35 | 10 | 48.200 | 37.000 | 58.000 | 18.000 | 38.000 | 8.000 | 6.8425 | 1.5616 | 0.7603 | 1.1918 | 0.3699 | 0.7808 | 0.1644 |
| season | 0.20 | 10 | 48.200 | 37.000 | 58.000 | 18.000 | 38.000 | 8.000 | 6.8425 | 1.5616 | 0.7603 | 1.1918 | 0.3699 | 0.7808 | 0.1644 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8850 |
| predicted_ER | 3.7580 |
| predicted_ERA | 7.4934 |
| predicted_H | 5.3770 |
| predicted_HR | 0.8460 |
| predicted_IP | 4.2000 |
| predicted_SO | 3.5440 |
| predicted_WHIP | 1.6089 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.8850 | 1.4506 | model_form_blend |
| predicted_ER | 4.0000 | 3.7580 | 3.8768 | model_form_blend |
| predicted_ERA | - | 7.4934 | 7.4934 | form_only |
| predicted_H | 7.0000 | 5.3770 | 6.1736 | model_form_blend |
| predicted_HR | 0.0000 | 0.8460 | 0.4308 | model_form_blend |
| predicted_IP | 4.2000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 6.0000 | 3.5440 | 4.7495 | model_form_blend |
| predicted_WHIP | - | 1.6089 | 1.6089 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 10 |
| Season rows before report date | 10 |
| Report year | 2026 |
| Profile rows used | 10 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.0 |
| H | 7 |
| R | 4 |
| ER | 4 |
| BB | 1 |
| SO | 6 |
| HR | 0 |
| BF | 22 |
| Pitches | 96 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 4 |
| Pitching_ERA | 6.84 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 3 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 84 |
| Pitching_R | 4 |
| Pitching_SO | 3 |
| Pitching_Strikes | 61 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260529_TOR@BAL |
| game_type | full |
| mlbID | 669432 |
| playerID | 669432 |
| playerName | Trevor Rogers |
| pos | P |
| started | True |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-29 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.371 |
| sl_xwoba | 0.337 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 38.0 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 50.3 |
| sl_avg_best_speed | 78.329975556 |
| sl_avg_hyper_speed | 94.11471784 |
| 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.321 | 0.000 | -0.321 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.857 | 1.000 | 0.343 | 0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.071 | 2.000 | 0.929 | 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": "670329",
"player_name": "Rico Garcia",
"position": "Middle Reliever",
"team": "BAL",
"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 | 5.200 | 0.000 | 2.000 | 2.000 | 5.000 | 0.000 | 0.0000 | 0.7059 | 0.0000 | 0.3529 | 0.3529 | 0.8823 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 1.000 | 6.000 | 3.000 | 11.000 | 0.000 | 0.9643 | 0.9643 | 0.1071 | 0.6429 | 0.3214 | 1.1786 | 0.0000 |
| season | 0.20 | 28 | 26.100 | 2.000 | 7.000 | 9.000 | 30.000 | 1.000 | 0.6835 | 0.6076 | 0.0760 | 0.2658 | 0.3418 | 1.1392 | 0.0380 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3530 |
| predicted_ER | 0.2630 |
| predicted_ERA | 2.3709 |
| predicted_H | 0.6910 |
| predicted_HR | 0.0710 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9900 |
| predicted_WHIP | 1.0444 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3530 | 0.1563 | model_form_blend |
| predicted_ER | 0.0000 | 0.2630 | 0.1165 | model_form_blend |
| predicted_ERA | - | 2.3709 | 2.3709 | form_only |
| predicted_H | 0.0000 | 0.6910 | 0.3060 | model_form_blend |
| predicted_HR | 0.0000 | 0.0710 | 0.0314 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9900 | 1.5527 | model_form_blend |
| predicted_WHIP | - | 1.0444 | 1.0444 | 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 | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| 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 | 0.68 |
| 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 | 14 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260602_BAL@BOS |
| game_type | full |
| mlbID | 670329 |
| playerID | 670329 |
| playerName | Rico Garcia |
| pos | P |
| started | False |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-02 |
| sl_k_percent | 32.3 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.154 |
| sl_xwoba | 0.231 |
| sl_sweet_spot_percent | 22.2 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 31.5 |
| sl_whiff_percent | 40.2 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 72.980634815 |
| sl_avg_hyper_speed | 92.708909259 |
| 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.286 | 0.000 | 0.714 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.643 | 0.000 | -0.643 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.071 | 1.000 | -1.071 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.700 | 1.000 | 0.300 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.929 | 1.000 | -0.929 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "552640",
"player_name": "Andrew Kittredge",
"position": "Middle Reliever",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"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 | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 0.000 | 1.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.4615 | 0.0000 | 0.2308 | 0.2308 | 1.3846 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 2.000 | 6.000 | 3.000 | 9.000 | 1.000 | 2.1600 | 1.0800 | 0.2400 | 0.7200 | 0.3600 | 1.0800 | 0.1200 |
| season | 0.20 | 14 | 11.200 | 9.000 | 15.000 | 4.000 | 13.000 | 2.000 | 6.9429 | 1.6286 | 0.7714 | 1.2857 | 0.3429 | 1.1143 | 0.1714 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2460 |
| predicted_ER | 0.2900 |
| predicted_ERA | 3.6496 |
| predicted_H | 0.6050 |
| predicted_HR | 0.0840 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7360 |
| predicted_WHIP | 1.1930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2460 | 0.7280 | model_form_blend |
| predicted_ER | 0.0000 | 0.2900 | 0.1046 | model_form_blend |
| predicted_ERA | - | 3.6496 | 3.6496 | form_only |
| predicted_H | 0.0000 | 0.6050 | 0.2182 | model_form_blend |
| predicted_HR | 0.0000 | 0.0840 | 0.0303 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7360 | 0.2655 | model_form_blend |
| predicted_WHIP | - | 1.1930 | 1.1930 | 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 | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 14 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 6.94 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260602_BAL@BOS |
| game_type | full |
| mlbID | 552640 |
| playerID | 552640 |
| playerName | Andrew Kittredge |
| pos | P |
| started | False |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-06-02 |
| sl_k_percent | 23.2 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.352 |
| sl_xwoba | 0.276 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 28.9 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 52.2 |
| sl_avg_best_speed | 75.715924737 |
| sl_avg_hyper_speed | 92.761322162 |
| 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.154 | 0.000 | -0.154 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.231 | 2.000 | 0.769 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.500 | 3.000 | 0.500 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.631 | 0.100 | 0.469 | 1.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 0.615 | 0.000 | 2.385 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 1.1000 (boost 0.4333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 1.1000 (boost 0.4333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666974",
"player_name": "Yennier Cano",
"position": "Middle Reliever",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 0.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.6499,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.6499,
"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 | 1.000 | - |
| predicted_IP | 0.667 | - |
| 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 | 3.200 | 3.000 | 3.000 | 1.000 | 5.000 | 0.000 | 7.3636 | 1.0909 | 0.8182 | 0.8182 | 0.2727 | 1.3636 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 5.000 | 2.000 | 5.000 | 0.000 | 3.0000 | 0.7778 | 0.3333 | 0.5556 | 0.2222 | 0.5556 | 0.0000 |
| season | 0.20 | 25 | 19.200 | 5.000 | 10.000 | 3.000 | 16.000 | 1.000 | 2.2881 | 0.6610 | 0.2542 | 0.5085 | 0.1525 | 0.8136 | 0.0508 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2210 |
| predicted_ER | 0.3630 |
| predicted_ERA | 4.5518 |
| predicted_H | 0.5950 |
| predicted_HR | 0.0590 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6850 |
| predicted_WHIP | 1.1360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2210 | 0.0911 | model_form_blend |
| predicted_ER | 1.0000 | 0.3630 | 0.7375 | model_form_blend |
| predicted_ERA | - | 4.5518 | 4.5518 | form_only |
| predicted_H | 1.0000 | 0.5950 | 0.8331 | model_form_blend |
| predicted_HR | 1.0000 | 0.0590 | 0.6122 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 3.0000 | 0.6850 | 2.0459 | model_form_blend |
| predicted_WHIP | - | 1.1360 | 1.1360 | 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 | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 3 |
| HR | 1 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 2.75 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 11 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260529_TOR@BAL |
| game_type | full |
| mlbID | 666974 |
| playerID | 666974 |
| playerName | Yennier Cano |
| pos | P |
| started | False |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-29 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 4.1 |
| sl_woba | 0.227 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 25.9 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 44.4 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 46.8 |
| sl_avg_best_speed | 76.46936037 |
| sl_avg_hyper_speed | 94.383561667 |
| Field | Value |
|---|---|
| Pitcher | Brayan Bello |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.7220 |
| ESPN Rank | 665 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0460 |
| Avg Velo | 90.5216 |
| Avg Spin | 2083.0996 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.1000 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 8 |
| Season ERA | 5.6250 |
| Season WHIP | 1.6429 |
| Role Avg IP | 4.3810 |
| Recent Avg IP | 4.5330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 264.0,
"runs_allowed": 279.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2206,
"avg_runs_scored": 3.8824,
"avg_runs_allowed": 4.1029,
"offense_index": 0.8698,
"defense_index": 1.0879,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 4.1,
"run_differential": 13.0
},
"available": true,
"quality_score": -0.1372
},
"opponent": {
"team": "BAL",
"games": 71,
"wins": 34,
"losses": 37,
"win_pct": 0.4789,
"runs_scored": 313.0,
"runs_allowed": 344.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4366,
"avg_runs_scored": 4.4085,
"avg_runs_allowed": 4.8451,
"offense_index": 0.9877,
"defense_index": 0.9212,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.2,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.0367
},
"edges": {
"quality_edge": -0.1005,
"offense_edge": -0.1302,
"opponent_offense_edge": -0.0123,
"defense_strength": 0.0879,
"opponent_defense_weakness": 0.0788,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9991,
"run_prevention": 0.9943,
"strikeout": 0.998
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "678394",
"profile": {
"available": true,
"pitcher_id": "678394",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 231.0,
"k_percent": 15.6,
"bb_percent": 8.2,
"woba": 0.37,
"xwoba": 0.376,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 42.6,
"avg_best_speed": 78.9353,
"avg_hyper_speed": 95.1985,
"whiff_percent": 25.7,
"swing_percent": 49.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -1.1862,
"command_and_miss": -0.3986,
"regression_edge": -0.1714,
"xwoba_edge": -1.7429,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.6,
"whiff_edge": -0.0143,
"bb_edge": 0.25,
"pitch_design_score": 0.046
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678394",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 90.5215666649257,
"release_spin_rate": 2083.0996448530395,
"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": 87,
"pitch_usage": 0.0,
"release_speed": 90.5215666649257,
"release_spin_rate": 2083.0996448530395,
"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.5216,
"release_spin_rate": 2083.0996,
"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.046,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3285,
"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.722,
"sample_weight": 0.924,
"run_prevention_factor": 1.0614,
"strikeout_factor": 0.963,
"walk_factor": 0.9815,
"homer_factor": 1.1116,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678394",
"espn_id": 4720856,
"player_name": "Brayan Bello",
"team": "BOS",
"role": "pitcher",
"espn_rank": 665,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 665,
"gp_value": 11.0,
"gp_rank": 322,
"gs_value": 7.0,
"gs_rank": 132,
"qs_value": 1.0,
"qs_rank": 127,
"era_value": 5.625,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 5.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 56.0,
"ip_rank": 97,
"h_value": 71.0,
"h_rank": 9,
"er_value": 35.0,
"er_rank": 15,
"hr_value": 10.0,
"hr_rank": 32,
"bb_value": 21.0,
"bb_rank": 62,
"k_value": 40.0,
"k_rank": 127,
"k_per_9_value": 6.428571,
"k_per_9_rank": 35,
"whip_value": 1.6428,
"whip_rank": null,
"war_value": -1.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 5.0,
"factor": 1.0567,
"adjusted": 5
},
"predicted_H": {
"original": 7.0,
"factor": 1.0567,
"adjusted": 7
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9829,
"adjusted": 2
},
"predicted_HR": {
"original": 2.0,
"factor": 1.1031,
"adjusted": 2
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9658,
"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": 51.1,
"ER": 30,
"H": 63,
"BB": 18,
"SO": 38,
"HR": 9,
"ERA": 5.25974025974026,
"WHIP": 1.5779220779220782,
"K9": 6.662337662337663,
"HR9": 1.5779220779220782,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "678394",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 90.5215666649257,
"release_spin_rate": 2083.0996448530395,
"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": 87,
"pitch_usage": 0.0,
"release_speed": 90.5215666649257,
"release_spin_rate": 2083.0996448530395,
"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.5216,
"release_spin_rate": 2083.0996,
"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.046,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3285,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"role": "pitcher",
"player_id": "678394",
"report_date": "20260604_B",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 4.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.1,
"ER": 9.0,
"R": 11.0,
"H": 28.0,
"BB": 6.0,
"SO": 23.0,
"HR": 2.0,
"BF": 123.0,
"Pitches": 435.0
},
"per_game": {
"IP": 6.0,
"ER": 1.8,
"R": 2.2,
"H": 5.6,
"BB": 1.2,
"SO": 4.6,
"HR": 0.4,
"BF": 24.6,
"Pitches": 87.0
},
"rates": {
"ERA": 2.6703,
"WHIP": 1.1209,
"ER_per_IP": 0.2967,
"H_per_IP": 0.92308,
"BB_per_IP": 0.1978,
"SO_per_IP": 0.75824,
"HR_per_IP": 0.06593
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.1,
"ER": 30.0,
"R": 33.0,
"H": 63.0,
"BB": 18.0,
"SO": 38.0,
"HR": 9.0,
"BF": 231.0,
"Pitches": 847.0
},
"per_game": {
"IP": 5.0,
"ER": 3.0,
"R": 3.3,
"H": 6.3,
"BB": 1.8,
"SO": 3.8,
"HR": 0.9,
"BF": 23.1,
"Pitches": 84.7
},
"rates": {
"ERA": 5.2597,
"WHIP": 1.5779,
"ER_per_IP": 0.58442,
"H_per_IP": 1.22727,
"BB_per_IP": 0.35065,
"SO_per_IP": 0.74026,
"HR_per_IP": 0.17532
}
},
"season": {
"games": 11,
"totals": {
"IP": 56.0,
"ER": 35.0,
"R": 39.0,
"H": 71.0,
"BB": 21.0,
"SO": 40.0,
"HR": 10.0,
"BF": 256.0,
"Pitches": 939.0
},
"per_game": {
"IP": 5.0,
"ER": 3.1818,
"R": 3.5455,
"H": 6.4545,
"BB": 1.9091,
"SO": 3.6364,
"HR": 0.9091,
"BF": 23.2727,
"Pitches": 85.3636
},
"rates": {
"ERA": 5.625,
"WHIP": 1.6429,
"ER_per_IP": 0.625,
"H_per_IP": 1.26786,
"BB_per_IP": 0.375,
"SO_per_IP": 0.71429,
"HR_per_IP": 0.17857
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.393,
"predicted_H": 5.376,
"predicted_BB": 1.59,
"predicted_SO": 4.106,
"predicted_HR": 0.663,
"predicted_ERA": 4.2222,
"predicted_WHIP": 1.3657
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.482,
"form_weight": 0.518,
"form_reliability": 0.6875,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"applied_metrics": {
"predicted_IP": {
"model": 4.1,
"form": 5.0,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.393,
"final": 2.2036,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.376,
"final": 5.1948,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.59,
"final": 1.7876,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 4.106,
"final": 5.983,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.663,
"final": 0.3434,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2222,
"final": 4.2222,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3657,
"final": 1.3657,
"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 | Jovani Morán |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2582 |
| ESPN Rank | 228 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1499 |
| Avg Velo | 87.0244 |
| Avg Spin | 2187.1558 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.9032 |
| Season WHIP | 0.9677 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 264.0,
"runs_allowed": 279.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2206,
"avg_runs_scored": 3.8824,
"avg_runs_allowed": 4.1029,
"offense_index": 0.8698,
"defense_index": 1.0879,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 4.1,
"run_differential": 13.0
},
"available": true,
"quality_score": -0.1372
},
"opponent": {
"team": "BAL",
"games": 71,
"wins": 34,
"losses": 37,
"win_pct": 0.4789,
"runs_scored": 313.0,
"runs_allowed": 344.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4366,
"avg_runs_scored": 4.4085,
"avg_runs_allowed": 4.8451,
"offense_index": 0.9877,
"defense_index": 0.9212,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.2,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.0367
},
"edges": {
"quality_edge": -0.1005,
"offense_edge": -0.1302,
"opponent_offense_edge": -0.0123,
"defense_strength": 0.0879,
"opponent_defense_weakness": 0.0788,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9991,
"run_prevention": 0.9943,
"strikeout": 0.998
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663558",
"profile": {
"available": true,
"pitcher_id": "663558",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 118.0,
"k_percent": 27.8,
"bb_percent": 11.1,
"woba": 0.274,
"xwoba": 0.273,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 28.9,
"avg_best_speed": 78.4525,
"avg_hyper_speed": 93.4389,
"whiff_percent": 31.6,
"swing_percent": 46.1
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7443,
"command_and_miss": 0.5357,
"regression_edge": 0.0286,
"xwoba_edge": 1.2,
"barrel_edge": -0.4667,
"hard_hit_edge": 1.3571,
"whiff_edge": 0.8286,
"bb_edge": -0.475,
"pitch_design_score": -0.1499
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663558",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.0243547060845,
"release_spin_rate": 2187.1558055264695,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.0243547060845,
"release_spin_rate": 2187.1558055264695,
"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.0244,
"release_spin_rate": 2187.1558,
"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.1499,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0704,
"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.2582,
"sample_weight": 0.472,
"run_prevention_factor": 0.9781,
"strikeout_factor": 1.0299,
"walk_factor": 1.0179,
"homer_factor": 0.975,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663558",
"espn_id": 4722926,
"player_name": "Jovani Moran",
"team": "BOS",
"role": "pitcher",
"espn_rank": 228,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 228,
"gp_value": 20.0,
"gp_rank": 142,
"gs_value": 3.0,
"gs_rank": 172,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.1935,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 1.0,
"hld_rank": 188,
"ip_value": 31.0,
"ip_rank": 169,
"h_value": 19.0,
"h_rank": 291,
"er_value": 11.0,
"er_rank": 242,
"hr_value": 5.0,
"hr_rank": 120,
"bb_value": 14.0,
"bb_rank": 167,
"k_value": 35.0,
"k_rank": 147,
"k_per_9_value": 10.16129,
"k_per_9_rank": 23,
"whip_value": 1.0645,
"whip_rank": null,
"war_value": 0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9897,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9897,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0084,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9882,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0141,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.2,
"ER": 6,
"H": 9,
"BB": 3,
"SO": 18,
"HR": 3,
"ERA": 4.628571428571429,
"WHIP": 1.0285714285714287,
"K9": 13.885714285714286,
"HR9": 2.3142857142857145,
"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-05-31T00:00:00"
}{
"available": true,
"pitcher_id": "663558",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.0243547060845,
"release_spin_rate": 2187.1558055264695,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.0243547060845,
"release_spin_rate": 2187.1558055264695,
"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.0244,
"release_spin_rate": 2187.1558,
"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.1499,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0704,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.118,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5503,
"prior_weight": 0.4497
},
"role": "pitcher",
"player_id": "663558",
"report_date": "20260604_B",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 0.0,
"SO": 7.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.0,
"SO": 1.4,
"HR": 0.2,
"BF": 4.4,
"Pitches": 17.2
},
"rates": {
"ERA": 4.7647,
"WHIP": 0.7059,
"ER_per_IP": 0.52941,
"H_per_IP": 0.70588,
"BB_per_IP": 0.0,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 3.0,
"SO": 18.0,
"HR": 3.0,
"BF": 47.0,
"Pitches": 199.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6,
"R": 0.6,
"H": 0.9,
"BB": 0.3,
"SO": 1.8,
"HR": 0.3,
"BF": 4.7,
"Pitches": 19.9
},
"rates": {
"ERA": 4.6286,
"WHIP": 1.0286,
"ER_per_IP": 0.51429,
"H_per_IP": 0.77143,
"BB_per_IP": 0.25714,
"SO_per_IP": 1.54286,
"HR_per_IP": 0.25714
}
},
"season": {
"games": 19,
"totals": {
"IP": 31.0,
"ER": 10.0,
"R": 10.0,
"H": 18.0,
"BB": 12.0,
"SO": 35.0,
"HR": 5.0,
"BF": 123.0,
"Pitches": 474.0
},
"per_game": {
"IP": 1.2,
"ER": 0.5263,
"R": 0.5263,
"H": 0.9474,
"BB": 0.6316,
"SO": 1.8421,
"HR": 0.2632,
"BF": 6.4737,
"Pitches": 24.9474
},
"rates": {
"ERA": 2.9032,
"WHIP": 0.9677,
"ER_per_IP": 0.32258,
"H_per_IP": 0.58065,
"BB_per_IP": 0.3871,
"SO_per_IP": 1.12903,
"HR_per_IP": 0.16129
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.621,
"predicted_H": 1.052,
"predicted_BB": 0.331,
"predicted_SO": 1.481,
"predicted_HR": 0.222,
"predicted_ERA": 4.3438,
"predicted_WHIP": 1.0743
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.54,
"form_weight": 0.46,
"form_reliability": 0.5503,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.118,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5503,
"prior_weight": 0.4497
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.621,
"final": 0.2857,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.052,
"final": 0.4839,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.331,
"final": 0.1523,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.481,
"final": 1.2213,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.222,
"final": 0.1021,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3438,
"final": 4.3438,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0743,
"final": 1.0743,
"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 | Aroldis Chapman |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2497 |
| ESPN Rank | 67 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 94.7112 |
| Avg Spin | 2304.1363 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 0.4821 |
| Season WHIP | 0.8571 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 264.0,
"runs_allowed": 279.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2206,
"avg_runs_scored": 3.8824,
"avg_runs_allowed": 4.1029,
"offense_index": 0.8698,
"defense_index": 1.0879,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 4.1,
"run_differential": 13.0
},
"available": true,
"quality_score": -0.1372
},
"opponent": {
"team": "BAL",
"games": 71,
"wins": 34,
"losses": 37,
"win_pct": 0.4789,
"runs_scored": 313.0,
"runs_allowed": 344.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4366,
"avg_runs_scored": 4.4085,
"avg_runs_allowed": 4.8451,
"offense_index": 0.9877,
"defense_index": 0.9212,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.2,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.0367
},
"edges": {
"quality_edge": -0.1005,
"offense_edge": -0.1302,
"opponent_offense_edge": -0.0123,
"defense_strength": 0.0879,
"opponent_defense_weakness": 0.0788,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9991,
"run_prevention": 0.9943,
"strikeout": 0.998
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "547973",
"profile": {
"available": true,
"pitcher_id": "547973",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 64.0,
"k_percent": 34.7,
"bb_percent": 9.7,
"woba": 0.211,
"xwoba": 0.273,
"sweet_spot_percent": 20.5,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 46.2,
"avg_best_speed": 76.9056,
"avg_hyper_speed": 96.0533,
"whiff_percent": 33.3,
"swing_percent": 50.2
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7406,
"command_and_miss": 1.1343,
"regression_edge": -1.7714,
"xwoba_edge": 1.2,
"barrel_edge": -1.2444,
"hard_hit_edge": -1.1143,
"whiff_edge": 1.0714,
"bb_edge": -0.125,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "547973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.71123024946986,
"release_spin_rate": 2304.136300190582,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 94.71123024946986,
"release_spin_rate": 2304.136300190582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.7112,
"release_spin_rate": 2304.1363,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.2497,
"sample_weight": 0.45,
"run_prevention_factor": 0.9788,
"strikeout_factor": 1.0507,
"walk_factor": 1.0045,
"homer_factor": 1.0487,
"woba_minus_xwoba": -0.062,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "547973",
"espn_id": 30442,
"player_name": "Aroldis Chapman",
"team": "BOS",
"role": "pitcher",
"espn_rank": 67,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 67,
"gp_value": 19.0,
"gp_rank": 155,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 0.4821,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 12.0,
"sv_rank": 7,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 18.2,
"ip_rank": 357,
"h_value": 9.0,
"h_rank": 468,
"er_value": 1.0,
"er_rank": 589,
"hr_value": 0.0,
"hr_rank": 536,
"bb_value": 7.0,
"bb_rank": 348,
"k_value": 25.0,
"k_rank": 248,
"k_per_9_value": 12.053572,
"k_per_9_rank": 18,
"whip_value": 0.8571,
"whip_rank": null,
"war_value": 1.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9905,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9905,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0219,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0228,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 0,
"H": 4,
"BB": 4,
"SO": 15,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.8,
"K9": 13.5,
"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-05-31T00:00:00"
}{
"available": true,
"pitcher_id": "547973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.71123024946986,
"release_spin_rate": 2304.136300190582,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 94.71123024946986,
"release_spin_rate": 2304.136300190582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.7112,
"release_spin_rate": 2304.1363,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.684,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4242,
"prior_weight": 0.5758
},
"role": "pitcher",
"player_id": "547973",
"report_date": "20260604_B",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.4,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 4.0,
"SO": 15.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 159.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 1.5,
"HR": 0.0,
"BF": 3.9,
"Pitches": 15.9
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.4,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 19,
"totals": {
"IP": 18.2,
"ER": 1.0,
"R": 1.0,
"H": 9.0,
"BB": 7.0,
"SO": 25.0,
"HR": 0.0,
"BF": 72.0,
"Pitches": 281.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0526,
"R": 0.0526,
"H": 0.4737,
"BB": 0.3684,
"SO": 1.3158,
"HR": 0.0,
"BF": 3.7895,
"Pitches": 14.7895
},
"rates": {
"ERA": 0.4821,
"WHIP": 0.8571,
"ER_per_IP": 0.05357,
"H_per_IP": 0.48214,
"BB_per_IP": 0.375,
"SO_per_IP": 1.33929,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.282,
"predicted_H": 0.727,
"predicted_BB": 0.379,
"predicted_SO": 1.107,
"predicted_HR": 0.079,
"predicted_ERA": 2.5414,
"predicted_WHIP": 1.1058
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5933,
"form_weight": 0.4067,
"form_reliability": 0.4242,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.684,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4242,
"prior_weight": 0.5758
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.282,
"final": 0.1147,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.727,
"final": 0.2957,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.379,
"final": 0.7474,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.107,
"final": 0.4502,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.079,
"final": 0.0321,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5414,
"final": 2.5414,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1058,
"final": 1.1058,
"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 | Greg Weissert |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1635 |
| ESPN Rank | 511 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0154 |
| Avg Velo | 89.9749 |
| Avg Spin | 2317.3869 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.6000 |
| Season WHIP | 1.2000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 264.0,
"runs_allowed": 279.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2206,
"avg_runs_scored": 3.8824,
"avg_runs_allowed": 4.1029,
"offense_index": 0.8698,
"defense_index": 1.0879,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 4.1,
"run_differential": 13.0
},
"available": true,
"quality_score": -0.1372
},
"opponent": {
"team": "BAL",
"games": 71,
"wins": 34,
"losses": 37,
"win_pct": 0.4789,
"runs_scored": 313.0,
"runs_allowed": 344.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4366,
"avg_runs_scored": 4.4085,
"avg_runs_allowed": 4.8451,
"offense_index": 0.9877,
"defense_index": 0.9212,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.2,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.0367
},
"edges": {
"quality_edge": -0.1005,
"offense_edge": -0.1302,
"opponent_offense_edge": -0.0123,
"defense_strength": 0.0879,
"opponent_defense_weakness": 0.0788,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9991,
"run_prevention": 0.9943,
"strikeout": 0.998
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669711",
"profile": {
"available": true,
"pitcher_id": "669711",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 93.0,
"k_percent": 23.1,
"bb_percent": 7.4,
"woba": 0.331,
"xwoba": 0.292,
"sweet_spot_percent": 28.8,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 31.5,
"avg_best_speed": 75.8264,
"avg_hyper_speed": 93.1376,
"whiff_percent": 23.5,
"swing_percent": 46.6
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.4415,
"command_and_miss": 0.0136,
"regression_edge": 1.1143,
"xwoba_edge": 0.6571,
"barrel_edge": 0.3778,
"hard_hit_edge": 0.9857,
"whiff_edge": -0.3286,
"bb_edge": 0.45,
"pitch_design_score": 0.0154
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669711",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 89.97485648052537,
"release_spin_rate": 2317.3869084346134,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 89.97485648052537,
"release_spin_rate": 2317.3869084346134,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.9749,
"release_spin_rate": 2317.3869,
"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.0154,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1098,
"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.1635,
"sample_weight": 0.45,
"run_prevention_factor": 0.9861,
"strikeout_factor": 0.9956,
"walk_factor": 0.9838,
"homer_factor": 0.9598,
"woba_minus_xwoba": 0.039,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "669711",
"espn_id": 41485,
"player_name": "Greg Weissert",
"team": "BOS",
"role": "pitcher",
"espn_rank": 511,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 511,
"gp_value": 26.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.96,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 4.0,
"hld_rank": 99,
"ip_value": 25.0,
"ip_rank": 260,
"h_value": 25.0,
"h_rank": 214,
"er_value": 11.0,
"er_rank": 242,
"hr_value": 5.0,
"hr_rank": 120,
"bb_value": 8.0,
"bb_rank": 312,
"k_value": 25.0,
"k_rank": 248,
"k_per_9_value": 9.0,
"k_per_9_rank": 25,
"whip_value": 1.32,
"whip_rank": null,
"war_value": -0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9937,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9937,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9927,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9819,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.998,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 2,
"H": 6,
"BB": 3,
"SO": 7,
"HR": 1,
"ERA": 1.7419354838709677,
"WHIP": 0.8709677419354839,
"K9": 6.096774193548387,
"HR9": 0.8709677419354839,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "669711",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 89.97485648052537,
"release_spin_rate": 2317.3869084346134,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 89.97485648052537,
"release_spin_rate": 2317.3869084346134,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.9749,
"release_spin_rate": 2317.3869,
"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.0154,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1098,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.934,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4967,
"prior_weight": 0.5033
},
"role": "pitcher",
"player_id": "669711",
"report_date": "20260604_B",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 2.0,
"SO": 6.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 94.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.4,
"SO": 1.2,
"HR": 0.2,
"BF": 4.6,
"Pitches": 18.8
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.0588,
"ER_per_IP": 0.35294,
"H_per_IP": 0.70588,
"BB_per_IP": 0.35294,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 3.0,
"SO": 7.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 172.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.3,
"SO": 0.7,
"HR": 0.1,
"BF": 4.3,
"Pitches": 17.2
},
"rates": {
"ERA": 1.5882,
"WHIP": 0.7941,
"ER_per_IP": 0.17647,
"H_per_IP": 0.52941,
"BB_per_IP": 0.26471,
"SO_per_IP": 0.61765,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 25,
"totals": {
"IP": 25.0,
"ER": 10.0,
"R": 11.0,
"H": 23.0,
"BB": 7.0,
"SO": 25.0,
"HR": 5.0,
"BF": 105.0,
"Pitches": 410.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.44,
"H": 0.92,
"BB": 0.28,
"SO": 1.0,
"HR": 0.2,
"BF": 4.2,
"Pitches": 16.4
},
"rates": {
"ERA": 3.6,
"WHIP": 1.2,
"ER_per_IP": 0.4,
"H_per_IP": 0.92,
"BB_per_IP": 0.28,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.392,
"predicted_H": 0.822,
"predicted_BB": 0.337,
"predicted_SO": 0.917,
"predicted_HR": 0.144,
"predicted_ERA": 3.5294,
"predicted_WHIP": 1.1596
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5626,
"form_weight": 0.4374,
"form_reliability": 0.4967,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.934,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4967,
"prior_weight": 0.5033
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.392,
"final": 0.1714,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.822,
"final": 0.9222,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.337,
"final": 0.1474,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.917,
"final": 0.9637,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.144,
"final": 0.063,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5294,
"final": 3.5294,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1596,
"final": 1.1596,
"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 | Justin Slaten |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2001 |
| ESPN Rank | 435 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1652 |
| Avg Velo | 92.6503 |
| Avg Spin | 2527.9024 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 3.6000 |
| Season WHIP | 1.3000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 264.0,
"runs_allowed": 279.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2206,
"avg_runs_scored": 3.8824,
"avg_runs_allowed": 4.1029,
"offense_index": 0.8698,
"defense_index": 1.0879,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 4.1,
"run_differential": 13.0
},
"available": true,
"quality_score": -0.1372
},
"opponent": {
"team": "BAL",
"games": 71,
"wins": 34,
"losses": 37,
"win_pct": 0.4789,
"runs_scored": 313.0,
"runs_allowed": 344.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4366,
"avg_runs_scored": 4.4085,
"avg_runs_allowed": 4.8451,
"offense_index": 0.9877,
"defense_index": 0.9212,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.2,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.0367
},
"edges": {
"quality_edge": -0.1005,
"offense_edge": -0.1302,
"opponent_offense_edge": -0.0123,
"defense_strength": 0.0879,
"opponent_defense_weakness": 0.0788,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9991,
"run_prevention": 0.9943,
"strikeout": 0.998
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686580",
"profile": {
"available": true,
"pitcher_id": "686580",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 37.0,
"k_percent": 32.6,
"bb_percent": 9.3,
"woba": 0.317,
"xwoba": 0.291,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 40.0,
"avg_best_speed": 78.3175,
"avg_hyper_speed": 94.0747,
"whiff_percent": 28.2,
"swing_percent": 49.7
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2828,
"command_and_miss": 0.7643,
"regression_edge": 0.7429,
"xwoba_edge": 0.6857,
"barrel_edge": 0.7111,
"hard_hit_edge": -0.2286,
"whiff_edge": 0.3429,
"bb_edge": -0.025,
"pitch_design_score": 0.1652
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686580",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 92.65026433843074,
"release_spin_rate": 2527.902351533915,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 92.65026433843074,
"release_spin_rate": 2527.902351533915,
"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.6503,
"release_spin_rate": 2527.9024,
"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.1652,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.18,
"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.2001,
"sample_weight": 0.45,
"run_prevention_factor": 0.983,
"strikeout_factor": 1.0321,
"walk_factor": 1.0009,
"homer_factor": 0.9693,
"woba_minus_xwoba": 0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686580",
"espn_id": 4917925,
"player_name": "Justin Slaten",
"team": "BOS",
"role": "pitcher",
"espn_rank": 435,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 435,
"gp_value": 11.0,
"gp_rank": 322,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.6,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 6.0,
"hld_rank": 57,
"ip_value": 10.0,
"ip_rank": 455,
"h_value": 9.0,
"h_rank": 468,
"er_value": 4.0,
"er_rank": 487,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 4.0,
"bb_rank": 462,
"k_value": 14.0,
"k_rank": 387,
"k_per_9_value": 12.599999,
"k_per_9_rank": 22,
"whip_value": 1.3,
"whip_rank": null,
"war_value": -0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9923,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9923,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9862,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0144,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 4,
"H": 9,
"BB": 3,
"SO": 12,
"HR": 2,
"ERA": 4.0,
"WHIP": 1.3333333333333333,
"K9": 12.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-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "686580",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 92.65026433843074,
"release_spin_rate": 2527.902351533915,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 92.65026433843074,
"release_spin_rate": 2527.902351533915,
"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.6503,
"release_spin_rate": 2527.9024,
"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.1652,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.18,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 1.974,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.283,
"prior_weight": 0.717
},
"role": "pitcher",
"player_id": "686580",
"report_date": "20260604_B",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 2.0,
"SO": 8.0,
"HR": 2.0,
"BF": 22.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.4,
"SO": 1.6,
"HR": 0.4,
"BF": 4.4,
"Pitches": 17.2
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.7143,
"ER_per_IP": 0.85714,
"H_per_IP": 1.28571,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.71429,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 4.0,
"R": 5.0,
"H": 9.0,
"BB": 3.0,
"SO": 12.0,
"HR": 2.0,
"BF": 39.0,
"Pitches": 154.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 0.9,
"BB": 0.3,
"SO": 1.2,
"HR": 0.2,
"BF": 3.9,
"Pitches": 15.4
},
"rates": {
"ERA": 4.0,
"WHIP": 1.3333,
"ER_per_IP": 0.44444,
"H_per_IP": 1.0,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.22222
}
},
"season": {
"games": 11,
"totals": {
"IP": 10.0,
"ER": 4.0,
"R": 5.0,
"H": 9.0,
"BB": 4.0,
"SO": 14.0,
"HR": 2.0,
"BF": 43.0,
"Pitches": 171.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3636,
"R": 0.4545,
"H": 0.8182,
"BB": 0.3636,
"SO": 1.2727,
"HR": 0.1818,
"BF": 3.9091,
"Pitches": 15.5455
},
"rates": {
"ERA": 3.6,
"WHIP": 1.3,
"ER_per_IP": 0.4,
"H_per_IP": 0.9,
"BB_per_IP": 0.4,
"SO_per_IP": 1.4,
"HR_per_IP": 0.2
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.522,
"predicted_H": 0.999,
"predicted_BB": 0.373,
"predicted_SO": 1.104,
"predicted_HR": 0.186,
"predicted_ERA": 4.696,
"predicted_WHIP": 1.3724
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6529,
"form_weight": 0.3471,
"form_reliability": 0.283,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.974,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.283,
"prior_weight": 0.717
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.522,
"final": 0.8341,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.999,
"final": 0.9997,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.373,
"final": 0.7824,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.104,
"final": 1.0361,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.186,
"final": 0.7175,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.696,
"final": 4.696,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3724,
"final": 1.3724,
"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.200 | 0.000 | 0.000 | Hitting_2B | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 4.310 | 3.000 | 8.000 | Hitting_AB | 3.945 | 5.000 | -0.945 | -2.000 |
| predicted_AVG | 0.238 | 0.000 | 0.250 | Hitting_AVG | 0.282 | 0.400 | -0.282 | -0.400 |
| predicted_BB | 0.409 | 1.000 | 1.000 | Hitting_BB | 0.409 | 0.000 | 0.591 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 1.030 | 0.000 | 2.000 | Hitting_H | 1.111 | 2.000 | -1.111 | -2.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.115 | 1.000 | -0.115 | -1.000 |
| predicted_OBP | 0.317 | 0.250 | 0.333 | Hitting_OBP | 0.347 | 0.400 | -0.097 | -0.150 |
| predicted_R | 0.464 | 0.000 | 1.000 | Hitting_R | 0.464 | 1.000 | -0.464 | -1.000 |
| predicted_RBI | 0.640 | 0.000 | 1.000 | Hitting_RBI | 0.443 | 3.000 | -0.443 | -3.000 |
| predicted_SLG | 0.424 | 0.000 | 0.250 | Hitting_SLG | 0.428 | 1.000 | -0.428 | -1.000 |
| predicted_SO | 0.809 | 0.000 | 2.000 | Hitting_SO | 0.809 | 1.000 | -0.809 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4090 -> 1.0000 (boost 0.5910, better) |
| Biggest Deboost | predicted_AB: 4.3100 -> 3.0000 (deboost -1.3100, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.3100 -> 7.6483 (boost 3.3383, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4301 -> 0.4194 (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 | 2 | 4 | predicted_SO: 1.5406 -> 2.0000 (boost 0.4594, worse) | predicted_2B: 0.4155 -> 0.0000 (deboost -0.4155, worse) | AB rounded to 8 (raw=7.65), rates preserved: AVG=0.258 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8713 -> 1.0000 (boost 0.1287, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3227 -> 0.3330 (boost 0.0103, better) | predicted_SLG: 0.4194 -> 0.2500 (deboost -0.1694, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4194 (boost 0.1694, better) | predicted_OBP: 0.3330 -> 0.3227 (deboost -0.0103, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677800",
"player_name": "Wilyer Abreu",
"position": "RF",
"team": "BOS",
"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.2,
"predicted_3B": 0.017,
"predicted_AB": 4.31,
"predicted_AVG": 0.238,
"predicted_BB": 0.409,
"predicted_H": 1.03,
"predicted_HR": 0.15,
"predicted_OBP": 0.317,
"predicted_R": 0.464,
"predicted_RBI": 0.64,
"predicted_SLG": 0.424,
"predicted_SO": 0.809
},
"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.4155,
"predicted_3B": 0.025,
"predicted_AB": 7.6483,
"predicted_AVG": 0.2533,
"predicted_BB": 0.7403,
"predicted_H": 2.0044,
"predicted_HBP": 0.003,
"predicted_HR": 0.2604,
"predicted_OBP": 0.3239,
"predicted_R": 0.8977,
"predicted_RBI": 1.2138,
"predicted_SLG": 0.4301,
"predicted_SO": 1.5281
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.4155,
"delta": 0.2155,
"percent_delta": 1.0775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.025,
"delta": 0.008,
"percent_delta": 0.4706,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.31,
"after": 7.6483,
"delta": 3.3383,
"percent_delta": 0.7745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2533,
"delta": 0.0153,
"percent_delta": 0.0643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.7403,
"delta": 0.3313,
"percent_delta": 0.81,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.0044,
"delta": 0.9744,
"percent_delta": 0.946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.2604,
"delta": 0.1104,
"percent_delta": 0.736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3239,
"delta": 0.0069,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 0.8977,
"delta": 0.4337,
"percent_delta": 0.9347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 1.2138,
"delta": 0.5738,
"percent_delta": 0.8966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4301,
"delta": 0.0061,
"percent_delta": 0.0144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.809,
"after": 1.5281,
"delta": 0.7191,
"percent_delta": 0.8889,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.31,
"after": 7.6483,
"delta": 3.3383,
"percent_delta": 0.7745,
"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": 59
}
},
{
"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.4155,
"predicted_3B": 0.025,
"predicted_AB": 7.6483,
"predicted_AVG": 0.2577,
"predicted_BB": 0.7342,
"predicted_H": 1.9709,
"predicted_HBP": 0.003,
"predicted_HR": 0.2571,
"predicted_OBP": 0.3227,
"predicted_R": 0.8713,
"predicted_RBI": 1.1781,
"predicted_SLG": 0.4194,
"predicted_SO": 1.5406
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4155,
"after": 0.4155,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6483,
"after": 7.6483,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2533,
"after": 0.2577,
"delta": 0.0044,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7403,
"after": 0.7342,
"delta": -0.0061,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0044,
"after": 1.9709,
"delta": -0.0335,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2604,
"after": 0.2571,
"delta": -0.0033,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3239,
"after": 0.3227,
"delta": -0.0012,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8977,
"after": 0.8713,
"delta": -0.0264,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2138,
"after": 1.1781,
"delta": -0.0357,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4301,
"after": 0.4194,
"delta": -0.0107,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5281,
"after": 1.5406,
"delta": 0.0125,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4301,
"after": 0.4194,
"delta": -0.0107,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.65), rates preserved: AVG=0.258 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4155,
"after": 0.0,
"delta": -0.4155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6483,
"after": 8.0,
"delta": 0.3517,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7342,
"after": 1.0,
"delta": 0.2658,
"percent_delta": 0.362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9709,
"after": 2.0,
"delta": 0.0291,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2571,
"after": 0.0,
"delta": -0.2571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1781,
"after": 1.0,
"delta": -0.1781,
"percent_delta": -0.1512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5406,
"after": 2.0,
"delta": 0.4594,
"percent_delta": 0.2982,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.5406,
"after": 2.0,
"delta": 0.4594,
"percent_delta": 0.2982,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4155,
"after": 0.0,
"delta": -0.4155,
"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": 8.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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.8713,
"after": 1.0,
"delta": 0.1287,
"percent_delta": 0.1477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8713,
"after": 1.0,
"delta": 0.1287,
"percent_delta": 0.1477,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2577,
"after": 0.25,
"delta": -0.0077,
"percent_delta": -0.0299,
"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": 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.3227,
"after": 0.333,
"delta": 0.0103,
"percent_delta": 0.0319,
"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.4194,
"after": 0.25,
"delta": -0.1694,
"percent_delta": -0.4039,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3227,
"after": 0.333,
"delta": 0.0103,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4194,
"after": 0.25,
"delta": -0.1694,
"percent_delta": -0.4039,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"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.2577,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3227,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4194,
"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.25,
"after": 0.2577,
"delta": 0.0077,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3227,
"delta": -0.0103,
"percent_delta": -0.0309,
"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.25,
"after": 0.4194,
"delta": 0.1694,
"percent_delta": 0.6776,
"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.4194,
"delta": 0.1694,
"percent_delta": 0.6776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3227,
"delta": -0.0103,
"percent_delta": -0.0309,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.31,
"after": 3.0,
"delta": -1.31,
"percent_delta": -0.3039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2577,
"delta": 0.0197,
"percent_delta": 0.0828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 1.0,
"delta": 0.591,
"percent_delta": 1.445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3227,
"delta": 0.0057,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 0.0,
"delta": -0.464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4194,
"delta": -0.0046,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.809,
"after": 0.0,
"delta": -0.809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.409,
"after": 1.0,
"delta": 0.591,
"percent_delta": 1.445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.31,
"after": 3.0,
"delta": -1.31,
"percent_delta": -0.3039,
"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.200 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 4.310 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.409 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.464 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.424 | - |
| predicted_SO | 0.809 | - |
Final model 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.415 | 0.215 |
| predicted_3B | 0.025 | 0.008 |
| predicted_AB | 7.648 | 3.338 |
| predicted_AVG | 0.253 | 0.015 |
| predicted_BB | 0.740 | 0.331 |
| predicted_H | 2.004 | 0.974 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.260 | 0.110 |
| predicted_OBP | 0.324 | 0.007 |
| predicted_R | 0.898 | 0.434 |
| predicted_RBI | 1.214 | 0.574 |
| predicted_SLG | 0.430 | 0.006 |
| predicted_SO | 1.528 | 0.719 |
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.415 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 7.648 | 0.000 |
| predicted_AVG | 0.258 | 0.004 |
| predicted_BB | 0.734 | -0.006 |
| predicted_H | 1.971 | -0.033 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.257 | -0.003 |
| predicted_OBP | 0.323 | -0.001 |
| predicted_R | 0.871 | -0.026 |
| predicted_RBI | 1.178 | -0.036 |
| predicted_SLG | 0.419 | -0.011 |
| predicted_SO | 1.541 | 0.012 |
AB rounded to 8 (raw=7.65), rates preserved: AVG=0.258 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 2.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.415 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 8.000 | 0.352 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 1.000 | 0.266 |
| predicted_H | 2.000 | 0.029 |
| predicted_HR | 0.000 | -0.257 |
| predicted_OBP | 0.333 | 0.010 |
| predicted_R | 1.000 | 0.129 |
| predicted_RBI | 1.000 | -0.178 |
| predicted_SLG | 0.250 | -0.169 |
| predicted_SO | 2.000 | 0.459 |
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 | -5.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -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 | - | 20.000 | 5.000 | 1.000 | 0.000 | 1.000 | 6.000 | 3.000 | 2.000 | 4.000 | 0.2500 | 0.3043 | 0.4500 | 0.2500 | 0.0500 | 0.3000 | 0.1000 | 0.2000 |
| last_10 | 0.20 | 7 | - | 37.000 | 10.000 | 5.000 | 0.000 | 1.000 | 8.000 | 3.000 | 2.000 | 8.000 | 0.2703 | 0.3000 | 0.4865 | 0.2703 | 0.0270 | 0.2162 | 0.0541 | 0.2162 |
| season | 0.60 | 59 | - | 927.000 | 261.000 | 47.000 | 4.000 | 27.000 | 104.000 | 109.000 | 96.000 | 190.000 | 0.2816 | 0.3473 | 0.4283 | 0.2816 | 0.0291 | 0.1122 | 0.1036 | 0.2050 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6880 |
| predicted_3B | 0.0350 |
| predicted_AB | 11.8680 |
| predicted_AVG | 0.2727 |
| predicted_BB | 1.1590 |
| predicted_H | 3.2360 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.4000 |
| predicted_OBP | 0.3327 |
| predicted_R | 1.4460 |
| predicted_RBI | 1.9390 |
| predicted_SLG | 0.4377 |
| predicted_SO | 2.4370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.6880 | 0.4155 | model_form_blend |
| predicted_3B | 0.0170 | 0.0350 | 0.0250 | model_form_blend |
| predicted_AB | 4.3100 | 11.8680 | 7.6483 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2727 | 0.2533 | model_form_blend |
| predicted_BB | 0.4090 | 1.1590 | 0.7403 | model_form_blend |
| predicted_H | 1.0300 | 3.2360 | 2.0044 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1500 | 0.4000 | 0.2604 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3327 | 0.3239 | model_form_blend |
| predicted_R | 0.4640 | 1.4460 | 0.8977 | model_form_blend |
| predicted_RBI | 0.6400 | 1.9390 | 1.2138 | model_form_blend |
| predicted_SLG | 0.4240 | 0.4377 | 0.4301 | model_form_blend |
| predicted_SO | 0.8090 | 2.4370 | 1.5281 | 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 | 235 |
| Season rows before report date | 235 |
| Report year | 2026 |
| Profile rows used | 235 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.282 |
| 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.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 677800 |
| playerID | 677800 |
| playerName | Wilyer Abreu |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-03 |
| sl_k_percent | 19.1 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.343 |
| sl_xwoba | 0.353 |
| sl_xba | 0.276 |
| sl_xslg | 0.478 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 42.4 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.197 | 1.000 | 0.000 | Hitting_2B | 0.195 | 1.000 | 0.805 | 0.000 |
| predicted_3B | 0.049 | 0.000 | 0.000 | Hitting_3B | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_AB | 4.010 | 4.000 | 7.000 | Hitting_AB | 3.771 | 5.000 | 0.229 | -1.000 |
| predicted_AVG | 0.247 | 0.250 | 0.286 | Hitting_AVG | 0.285 | 0.600 | -0.035 | -0.350 |
| predicted_BB | 0.256 | 0.000 | 0.000 | Hitting_BB | 0.254 | 0.000 | -0.254 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_H | 0.990 | 1.000 | 2.000 | Hitting_H | 1.073 | 3.000 | -0.073 | -2.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.329 | 0.250 | 0.286 | Hitting_OBP | 0.350 | 0.600 | -0.100 | -0.350 |
| predicted_R | 0.468 | 1.000 | 1.000 | Hitting_R | 0.463 | 0.000 | 0.537 | 1.000 |
| predicted_RBI | 0.420 | 0.000 | 1.000 | Hitting_RBI | 0.439 | 1.000 | -0.439 | -1.000 |
| predicted_SLG | 0.412 | 0.500 | 0.286 | Hitting_SLG | 0.432 | 0.800 | 0.068 | -0.300 |
| predicted_SO | 0.877 | 1.000 | 2.000 | Hitting_SO | 0.868 | 0.000 | 0.132 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 4 |
| Better Metrics | 3 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.1970 -> 1.0000 (boost 0.8030, better) |
| Biggest Deboost | predicted_RBI: 0.4200 -> 0.0000 (deboost -0.4200, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.0100 -> 7.1975 (boost 3.1875, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2652 -> 0.2708 (boost 0.0056, better) | predicted_OBP: 0.3352 -> 0.3125 (deboost -0.0227, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 3 | 6 | 2 | 7 | predicted_SO: 1.5829 -> 2.0000 (boost 0.4171, worse) | predicted_2B: 0.4773 -> 0.0000 (deboost -0.4773, worse) | AB rounded to 7 (raw=7.20), rates preserved: AVG=0.271 HR/AB=0.019 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6875 -> 1.0000 (boost 0.3125, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2708 -> 0.2860 (boost 0.0152, better) | predicted_SLG: 0.4154 -> 0.2860 (deboost -0.1294, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2860 -> 0.4154 (boost 0.1294, better) | predicted_AVG: 0.2860 -> 0.2708 (deboost -0.0152, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678882",
"player_name": "Ceddanne Rafaela",
"position": "CF",
"team": "BOS",
"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.049,
"predicted_AB": 4.01,
"predicted_AVG": 0.247,
"predicted_BB": 0.256,
"predicted_H": 0.99,
"predicted_HR": 0.1,
"predicted_OBP": 0.329,
"predicted_R": 0.468,
"predicted_RBI": 0.42,
"predicted_SLG": 0.412,
"predicted_SO": 0.877
},
"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.4773,
"predicted_3B": 0.0723,
"predicted_AB": 7.1975,
"predicted_AVG": 0.2652,
"predicted_BB": 0.4404,
"predicted_H": 1.9823,
"predicted_HBP": 0.265,
"predicted_HR": 0.1414,
"predicted_OBP": 0.3352,
"predicted_R": 0.7083,
"predicted_RBI": 0.7188,
"predicted_SLG": 0.4209,
"predicted_SO": 1.57
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.197,
"after": 0.4773,
"delta": 0.2803,
"percent_delta": 1.4228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.0723,
"delta": 0.0233,
"percent_delta": 0.4755,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 7.1975,
"delta": 3.1875,
"percent_delta": 0.7949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2652,
"delta": 0.0182,
"percent_delta": 0.0737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.256,
"after": 0.4404,
"delta": 0.1844,
"percent_delta": 0.7203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.9823,
"delta": 0.9923,
"percent_delta": 1.0023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1414,
"delta": 0.0414,
"percent_delta": 0.414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3352,
"delta": 0.0062,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.7083,
"delta": 0.2403,
"percent_delta": 0.5135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.7188,
"delta": 0.2988,
"percent_delta": 0.7114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.412,
"after": 0.4209,
"delta": 0.0089,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.877,
"after": 1.57,
"delta": 0.693,
"percent_delta": 0.7902,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.01,
"after": 7.1975,
"delta": 3.1875,
"percent_delta": 0.7949,
"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": 6,
"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.4773,
"predicted_3B": 0.0723,
"predicted_AB": 7.1975,
"predicted_AVG": 0.2708,
"predicted_BB": 0.4368,
"predicted_H": 1.9492,
"predicted_HBP": 0.265,
"predicted_HR": 0.1396,
"predicted_OBP": 0.3125,
"predicted_R": 0.6875,
"predicted_RBI": 0.6977,
"predicted_SLG": 0.4154,
"predicted_SO": 1.5829
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4773,
"after": 0.4773,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0723,
"after": 0.0723,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1975,
"after": 7.1975,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2652,
"after": 0.2708,
"delta": 0.0056,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4404,
"after": 0.4368,
"delta": -0.0036,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9823,
"after": 1.9492,
"delta": -0.0331,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.265,
"after": 0.265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1414,
"after": 0.1396,
"delta": -0.0018,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3352,
"after": 0.3125,
"delta": -0.0227,
"percent_delta": -0.0677,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7083,
"after": 0.6875,
"delta": -0.0208,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7188,
"after": 0.6977,
"delta": -0.0211,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4209,
"after": 0.4154,
"delta": -0.0055,
"percent_delta": -0.0131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.57,
"after": 1.5829,
"delta": 0.0129,
"percent_delta": 0.0082,
"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.2652,
"after": 0.2708,
"delta": 0.0056,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3352,
"after": 0.3125,
"delta": -0.0227,
"percent_delta": -0.0677,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.20), rates preserved: AVG=0.271 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4773,
"after": 0.0,
"delta": -0.4773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0723,
"after": 0.0,
"delta": -0.0723,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.1975,
"after": 7.0,
"delta": -0.1975,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4368,
"after": 0.0,
"delta": -0.4368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9492,
"after": 2.0,
"delta": 0.0508,
"percent_delta": 0.0261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.265,
"after": 0.0,
"delta": -0.265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1396,
"after": 0.0,
"delta": -0.1396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6977,
"after": 1.0,
"delta": 0.3023,
"percent_delta": 0.4333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5829,
"after": 2.0,
"delta": 0.4171,
"percent_delta": 0.2635,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.5829,
"after": 2.0,
"delta": 0.4171,
"percent_delta": 0.2635,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4773,
"after": 0.0,
"delta": -0.4773,
"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=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"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": 7.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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.6875,
"after": 1.0,
"delta": 0.3125,
"percent_delta": 0.4545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6875,
"after": 1.0,
"delta": 0.3125,
"percent_delta": 0.4545,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2708,
"after": 0.286,
"delta": 0.0152,
"percent_delta": 0.0561,
"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.3125,
"after": 0.286,
"delta": -0.0265,
"percent_delta": -0.0848,
"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.4154,
"after": 0.286,
"delta": -0.1294,
"percent_delta": -0.3115,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2708,
"after": 0.286,
"delta": 0.0152,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4154,
"after": 0.286,
"delta": -0.1294,
"percent_delta": -0.3115,
"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": 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": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2708,
"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.3125,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4154,
"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": 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.286,
"after": 0.2708,
"delta": -0.0152,
"percent_delta": -0.0531,
"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.286,
"after": 0.3125,
"delta": 0.0265,
"percent_delta": 0.0928,
"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.286,
"after": 0.4154,
"delta": 0.1294,
"percent_delta": 0.4525,
"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.286,
"after": 0.4154,
"delta": 0.1294,
"percent_delta": 0.4525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2708,
"delta": -0.0152,
"percent_delta": -0.0531,
"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": 1.0,
"delta": 0.803,
"percent_delta": 4.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 4.0,
"delta": -0.01,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2708,
"delta": 0.0238,
"percent_delta": 0.0964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.256,
"after": 0.0,
"delta": -0.256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0,
"delta": 0.01,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3125,
"delta": -0.0165,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 1.0,
"delta": 0.532,
"percent_delta": 1.1368,
"direction": "boost",
"projection_effect": "better",
"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.412,
"after": 0.4154,
"delta": 0.0034,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.877,
"after": 1.0,
"delta": 0.123,
"percent_delta": 0.1403,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.197,
"after": 1.0,
"delta": 0.803,
"percent_delta": 4.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"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.197 | - |
| predicted_3B | 0.049 | - |
| predicted_AB | 4.010 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.256 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.329 | - |
| predicted_R | 0.468 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.412 | - |
| predicted_SO | 0.877 | - |
Final model 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.477 | 0.280 |
| predicted_3B | 0.072 | 0.023 |
| predicted_AB | 7.197 | 3.188 |
| predicted_AVG | 0.265 | 0.018 |
| predicted_BB | 0.440 | 0.184 |
| predicted_H | 1.982 | 0.992 |
| predicted_HBP | 0.265 | - |
| predicted_HR | 0.141 | 0.041 |
| predicted_OBP | 0.335 | 0.006 |
| predicted_R | 0.708 | 0.240 |
| predicted_RBI | 0.719 | 0.299 |
| predicted_SLG | 0.421 | 0.009 |
| predicted_SO | 1.570 | 0.693 |
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.477 | 0.000 |
| predicted_3B | 0.072 | 0.000 |
| predicted_AB | 7.197 | 0.000 |
| predicted_AVG | 0.271 | 0.006 |
| predicted_BB | 0.437 | -0.004 |
| predicted_H | 1.949 | -0.033 |
| predicted_HBP | 0.265 | 0.000 |
| predicted_HR | 0.140 | -0.002 |
| predicted_OBP | 0.312 | -0.023 |
| predicted_R | 0.688 | -0.021 |
| predicted_RBI | 0.698 | -0.021 |
| predicted_SLG | 0.415 | -0.006 |
| predicted_SO | 1.583 | 0.013 |
AB rounded to 7 (raw=7.20), rates preserved: AVG=0.271 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.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 | 2.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.477 |
| predicted_3B | 0.000 | -0.072 |
| predicted_AB | 7.000 | -0.197 |
| predicted_AVG | 0.286 | 0.015 |
| predicted_BB | 0.000 | -0.437 |
| predicted_H | 2.000 | 0.051 |
| predicted_HR | 0.000 | -0.140 |
| predicted_OBP | 0.286 | -0.027 |
| predicted_R | 1.000 | 0.312 |
| predicted_RBI | 1.000 | 0.302 |
| predicted_SLG | 0.286 | -0.129 |
| predicted_SO | 2.000 | 0.417 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 7.000 | 3.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 4.000 | 0.3043 | 0.3333 | 0.4348 | 0.3044 | 0.0000 | 0.0435 | 0.0435 | 0.1739 |
| last_10 | 0.20 | 6 | - | 48.000 | 14.000 | 7.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 12.000 | 0.2917 | 0.3061 | 0.4375 | 0.2917 | 0.0000 | 0.0625 | 0.0208 | 0.2500 |
| season | 0.60 | 55 | - | 773.000 | 220.000 | 40.000 | 10.000 | 18.000 | 90.000 | 95.000 | 52.000 | 178.000 | 0.2846 | 0.3502 | 0.4321 | 0.2846 | 0.0233 | 0.1164 | 0.0673 | 0.2303 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8340 |
| predicted_3B | 0.1020 |
| predicted_AB | 11.2540 |
| predicted_AVG | 0.2883 |
| predicted_BB | 0.6750 |
| predicted_H | 3.2450 |
| predicted_HBP | 0.2650 |
| predicted_HR | 0.1940 |
| predicted_OBP | 0.3430 |
| predicted_R | 1.0140 |
| predicted_RBI | 1.0990 |
| predicted_SLG | 0.4322 |
| predicted_SO | 2.4520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1970 | 0.8340 | 0.4773 | model_form_blend |
| predicted_3B | 0.0490 | 0.1020 | 0.0723 | model_form_blend |
| predicted_AB | 4.0100 | 11.2540 | 7.1975 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2883 | 0.2652 | model_form_blend |
| predicted_BB | 0.2560 | 0.6750 | 0.4404 | model_form_blend |
| predicted_H | 0.9900 | 3.2450 | 1.9823 | model_form_blend |
| predicted_HBP | - | 0.2650 | 0.2650 | form_only |
| predicted_HR | 0.1000 | 0.1940 | 0.1414 | model_form_blend |
| predicted_OBP | 0.3290 | 0.3430 | 0.3352 | model_form_blend |
| predicted_R | 0.4680 | 1.0140 | 0.7083 | model_form_blend |
| predicted_RBI | 0.4200 | 1.0990 | 0.7188 | model_form_blend |
| predicted_SLG | 0.4120 | 0.4322 | 0.4209 | model_form_blend |
| predicted_SO | 0.8770 | 2.4520 | 1.5700 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 205 |
| Season rows before report date | 205 |
| Report year | 2026 |
| Profile rows used | 203 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| 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.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| 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 | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 678882 |
| playerID | 678882 |
| playerName | Ceddanne Rafaela |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.35 |
| sl_xwoba | 0.301 |
| sl_xba | 0.244 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 36.9 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 10.3 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 50.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.125 | 0.000 | 0.000 | Hitting_2B | 0.124 | 2.000 | -0.124 | -2.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 3.770 | 2.000 | 7.000 | Hitting_AB | 3.655 | 4.000 | -1.655 | -2.000 |
| predicted_AVG | 0.265 | 0.000 | 0.286 | Hitting_AVG | 0.283 | 0.750 | -0.283 | -0.750 |
| predicted_BB | 0.460 | 1.000 | 1.000 | Hitting_BB | 0.456 | 1.000 | 0.544 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.000 | 0.000 | 2.000 | Hitting_H | 1.035 | 3.000 | -1.035 | -3.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_OBP | 0.390 | 0.500 | 0.375 | Hitting_OBP | 0.380 | 0.800 | 0.120 | -0.300 |
| predicted_R | 0.496 | 0.000 | 1.000 | Hitting_R | 0.491 | 1.000 | -0.491 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.695 | 0.000 | -0.695 | 0.000 |
| predicted_SLG | 0.475 | 0.000 | 0.286 | Hitting_SLG | 0.507 | 1.250 | -0.507 | -1.250 |
| predicted_SO | 1.107 | 2.000 | 2.000 | Hitting_SO | 1.097 | 0.000 | 0.903 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.1070 -> 2.0000 (boost 0.8930, worse) |
| Biggest Deboost | predicted_AB: 3.7700 -> 2.0000 (deboost -1.7700, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.7700 -> 7.1032 (boost 3.3332, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2832 -> 0.2892 (boost 0.0060, better) | predicted_OBP: 0.4044 -> 0.3793 (deboost -0.0251, 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_RBI: 0.9020 -> 1.0000 (boost 0.0980, better) | predicted_HBP: 0.7440 -> 0.0000 (deboost -0.7440, worse) | AB rounded to 7 (raw=7.10), rates preserved: AVG=0.289 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8930 -> 1.0000 (boost 0.1070, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4712 -> 0.2860 (deboost -0.1852, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 1 | 4 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 2.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.2860 -> 0.4712 (boost 0.1852, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "575929",
"player_name": "Willson Contreras",
"position": "1B",
"team": "BOS",
"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.125,
"predicted_3B": 0.022,
"predicted_AB": 3.77,
"predicted_AVG": 0.265,
"predicted_BB": 0.46,
"predicted_H": 1.0,
"predicted_HR": 0.15,
"predicted_OBP": 0.39,
"predicted_R": 0.496,
"predicted_RBI": 0.45,
"predicted_SLG": 0.475,
"predicted_SO": 1.107
},
"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.3532,
"predicted_3B": 0.0339,
"predicted_AB": 7.1032,
"predicted_AVG": 0.2832,
"predicted_BB": 1.0394,
"predicted_H": 2.0892,
"predicted_HBP": 0.744,
"predicted_HR": 0.2943,
"predicted_OBP": 0.4044,
"predicted_R": 0.9201,
"predicted_RBI": 0.9293,
"predicted_SLG": 0.4852,
"predicted_SO": 2.0373
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.3532,
"delta": 0.2282,
"percent_delta": 1.8256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0339,
"delta": 0.0119,
"percent_delta": 0.5409,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 7.1032,
"delta": 3.3332,
"percent_delta": 0.8841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2832,
"delta": 0.0182,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.46,
"after": 1.0394,
"delta": 0.5794,
"percent_delta": 1.2596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0892,
"delta": 1.0892,
"percent_delta": 1.0892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.2943,
"delta": 0.1443,
"percent_delta": 0.962,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.39,
"after": 0.4044,
"delta": 0.0144,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.496,
"after": 0.9201,
"delta": 0.4241,
"percent_delta": 0.855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.9293,
"delta": 0.4793,
"percent_delta": 1.0651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4852,
"delta": 0.0102,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.107,
"after": 2.0373,
"delta": 0.9303,
"percent_delta": 0.8404,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.77,
"after": 7.1032,
"delta": 3.3332,
"percent_delta": 0.8841,
"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": 6,
"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.3532,
"predicted_3B": 0.0339,
"predicted_AB": 7.1032,
"predicted_AVG": 0.2892,
"predicted_BB": 1.0309,
"predicted_H": 2.0543,
"predicted_HBP": 0.744,
"predicted_HR": 0.2905,
"predicted_OBP": 0.3793,
"predicted_R": 0.893,
"predicted_RBI": 0.902,
"predicted_SLG": 0.4712,
"predicted_SO": 2.054
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3532,
"after": 0.3532,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0339,
"after": 0.0339,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1032,
"after": 7.1032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2832,
"after": 0.2892,
"delta": 0.006,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0394,
"after": 1.0309,
"delta": -0.0085,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0892,
"after": 2.0543,
"delta": -0.0349,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.744,
"after": 0.744,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2943,
"after": 0.2905,
"delta": -0.0038,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4044,
"after": 0.3793,
"delta": -0.0251,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9201,
"after": 0.893,
"delta": -0.0271,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9293,
"after": 0.902,
"delta": -0.0273,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4852,
"after": 0.4712,
"delta": -0.014,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0373,
"after": 2.054,
"delta": 0.0167,
"percent_delta": 0.0082,
"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.2832,
"after": 0.2892,
"delta": 0.006,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4044,
"after": 0.3793,
"delta": -0.0251,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.10), rates preserved: AVG=0.289 HR/AB=0.041",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3532,
"after": 0.0,
"delta": -0.3532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0339,
"after": 0.0,
"delta": -0.0339,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1032,
"after": 7.0,
"delta": -0.1032,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0309,
"after": 1.0,
"delta": -0.0309,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0543,
"after": 2.0,
"delta": -0.0543,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.744,
"after": 0.0,
"delta": -0.744,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2905,
"after": 0.0,
"delta": -0.2905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.902,
"after": 1.0,
"delta": 0.098,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.054,
"after": 2.0,
"delta": -0.054,
"percent_delta": -0.0263,
"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_RBI",
"before": 0.902,
"after": 1.0,
"delta": 0.098,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.744,
"after": 0.0,
"delta": -0.744,
"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": 7.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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.893,
"after": 1.0,
"delta": 0.107,
"percent_delta": 0.1198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.893,
"after": 1.0,
"delta": 0.107,
"percent_delta": 0.1198,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2892,
"after": 0.286,
"delta": -0.0032,
"percent_delta": -0.0111,
"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": 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.3793,
"after": 0.375,
"delta": -0.0043,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4712,
"after": 0.286,
"delta": -0.1852,
"percent_delta": -0.393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4712,
"after": 0.286,
"delta": -0.1852,
"percent_delta": -0.393,
"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": 2.0,
"predicted_BB": 1.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": 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": 7.0,
"after": 2.0,
"delta": -5.0,
"percent_delta": -0.7143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 2.0,
"delta": -5.0,
"percent_delta": -0.7143,
"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": 2.0,
"predicted_AVG": 0.2892,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3793,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4712,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2892,
"delta": 0.0032,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 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.375,
"after": 0.3793,
"delta": 0.0043,
"percent_delta": 0.0114,
"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.286,
"after": 0.4712,
"delta": 0.1852,
"percent_delta": 0.6475,
"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_SLG",
"before": 0.286,
"after": 0.4712,
"delta": 0.1852,
"percent_delta": 0.6475,
"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.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 2.0,
"delta": -1.77,
"percent_delta": -0.4695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2892,
"delta": 0.0242,
"percent_delta": 0.0913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.39,
"after": 0.3793,
"delta": -0.0107,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.496,
"after": 0.0,
"delta": -0.496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4712,
"delta": -0.0038,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.107,
"after": 2.0,
"delta": 0.893,
"percent_delta": 0.8067,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.107,
"after": 2.0,
"delta": 0.893,
"percent_delta": 0.8067,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.77,
"after": 2.0,
"delta": -1.77,
"percent_delta": -0.4695,
"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.125 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 3.770 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.460 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.390 | - |
| predicted_R | 0.496 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.475 | - |
| predicted_SO | 1.107 | - |
Final model 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.353 | 0.228 |
| predicted_3B | 0.034 | 0.012 |
| predicted_AB | 7.103 | 3.333 |
| predicted_AVG | 0.283 | 0.018 |
| predicted_BB | 1.039 | 0.579 |
| predicted_H | 2.089 | 1.089 |
| predicted_HBP | 0.744 | - |
| predicted_HR | 0.294 | 0.144 |
| predicted_OBP | 0.404 | 0.014 |
| predicted_R | 0.920 | 0.424 |
| predicted_RBI | 0.929 | 0.479 |
| predicted_SLG | 0.485 | 0.010 |
| predicted_SO | 2.037 | 0.930 |
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.353 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 7.103 | 0.000 |
| predicted_AVG | 0.289 | 0.006 |
| predicted_BB | 1.031 | -0.009 |
| predicted_H | 2.054 | -0.035 |
| predicted_HBP | 0.744 | 0.000 |
| predicted_HR | 0.290 | -0.004 |
| predicted_OBP | 0.379 | -0.025 |
| predicted_R | 0.893 | -0.027 |
| predicted_RBI | 0.902 | -0.027 |
| predicted_SLG | 0.471 | -0.014 |
| predicted_SO | 2.054 | 0.017 |
AB rounded to 7 (raw=7.10), rates preserved: AVG=0.289 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 2.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.353 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 7.000 | -0.103 |
| predicted_AVG | 0.286 | -0.003 |
| predicted_BB | 1.000 | -0.031 |
| predicted_H | 2.000 | -0.054 |
| predicted_HR | 0.000 | -0.290 |
| predicted_OBP | 0.375 | -0.004 |
| predicted_R | 1.000 | 0.107 |
| predicted_RBI | 1.000 | 0.098 |
| predicted_SLG | 0.286 | -0.185 |
| predicted_SO | 2.000 | -0.054 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -5.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 6.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 4.000 | 0.3750 | 0.5455 | 0.5000 | 0.3750 | 0.0000 | 0.0000 | 0.2500 | 0.2500 |
| last_10 | 0.20 | 6 | - | 32.000 | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 7.000 | 8.000 | 0.3438 | 0.5227 | 0.4062 | 0.3438 | 0.0000 | 0.0000 | 0.2188 | 0.2500 |
| season | 0.60 | 56 | - | 826.000 | 234.000 | 28.000 | 5.000 | 49.000 | 157.000 | 111.000 | 103.000 | 248.000 | 0.2833 | 0.3796 | 0.5073 | 0.2833 | 0.0593 | 0.1901 | 0.1247 | 0.3002 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6420 |
| predicted_3B | 0.0490 |
| predicted_AB | 11.3230 |
| predicted_AVG | 0.3063 |
| predicted_BB | 1.7730 |
| predicted_H | 3.4680 |
| predicted_HBP | 0.7440 |
| predicted_HR | 0.4770 |
| predicted_OBP | 0.4226 |
| predicted_R | 1.4570 |
| predicted_RBI | 1.5360 |
| predicted_SLG | 0.4980 |
| predicted_SO | 3.2150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.6420 | 0.3532 | model_form_blend |
| predicted_3B | 0.0220 | 0.0490 | 0.0339 | model_form_blend |
| predicted_AB | 3.7700 | 11.3230 | 7.1032 | model_form_blend |
| predicted_AVG | 0.2650 | 0.3063 | 0.2832 | model_form_blend |
| predicted_BB | 0.4600 | 1.7730 | 1.0394 | model_form_blend |
| predicted_H | 1.0000 | 3.4680 | 2.0892 | model_form_blend |
| predicted_HBP | - | 0.7440 | 0.7440 | form_only |
| predicted_HR | 0.1500 | 0.4770 | 0.2943 | model_form_blend |
| predicted_OBP | 0.3900 | 0.4226 | 0.4044 | model_form_blend |
| predicted_R | 0.4960 | 1.4570 | 0.9201 | model_form_blend |
| predicted_RBI | 0.4500 | 1.5360 | 0.9293 | model_form_blend |
| predicted_SLG | 0.4750 | 0.4980 | 0.4852 | model_form_blend |
| predicted_SO | 1.1070 | 3.2150 | 2.0373 | 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 | 226 |
| Season rows before report date | 226 |
| Report year | 2026 |
| Profile rows used | 224 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.283 |
| 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 | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 575929 |
| playerID | 575929 |
| playerName | Willson Contreras |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-03 |
| sl_k_percent | 24.9 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.394 |
| sl_xwoba | 0.396 |
| sl_xba | 0.277 |
| sl_xslg | 0.52 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 13.9 |
| sl_hard_hit_percent | 43.2 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 16.0 |
| sl_whiff_percent | 30.2 |
| sl_swing_percent | 47.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.182 | 0.000 | 0.000 | Hitting_2B | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 4.690 | 4.000 | 9.000 | Hitting_AB | 4.173 | 5.000 | -0.173 | -1.000 |
| predicted_AVG | 0.226 | 0.000 | 0.222 | Hitting_AVG | 0.216 | 0.200 | -0.216 | -0.200 |
| predicted_BB | 0.360 | 0.000 | 1.000 | Hitting_BB | 0.360 | 0.000 | -0.360 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.060 | 0.000 | 2.000 | Hitting_H | 0.902 | 1.000 | -0.902 | -1.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_OBP | 0.307 | 0.000 | 0.300 | Hitting_OBP | 0.287 | 0.200 | -0.287 | -0.200 |
| predicted_R | 0.569 | 0.000 | 1.000 | Hitting_R | 0.569 | 1.000 | -0.569 | -1.000 |
| predicted_RBI | 0.650 | 0.000 | 1.000 | Hitting_RBI | 0.604 | 0.000 | -0.604 | 0.000 |
| predicted_SLG | 0.445 | 0.000 | 0.222 | Hitting_SLG | 0.386 | 0.200 | -0.386 | -0.200 |
| predicted_SO | 1.240 | 2.000 | 3.000 | Hitting_SO | 1.240 | 2.000 | 0.760 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 1.2400 -> 2.0000 (boost 0.7600, worse) |
| Biggest Deboost | predicted_H: 1.0600 -> 0.0000 (deboost -1.0600, 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 | 10 | 9 | 1 | 8 | 2 | predicted_AB: 4.6900 -> 8.5125 (boost 3.8225, better) | predicted_OBP: 0.3070 -> 0.3014 (deboost -0.0056, 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.3014 -> 0.2843 (deboost -0.0171, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 4 | 5 | 3 | 6 | predicted_AB: 8.5125 -> 9.0000 (boost 0.4875, better) | predicted_HR: 0.4244 -> 0.0000 (deboost -0.4244, worse) | AB rounded to 9 (raw=8.51), rates preserved: AVG=0.226 HR/AB=0.050 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1994 -> 1.0000 (deboost -0.1994, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2843 -> 0.3000 (boost 0.0157, better) | predicted_SLG: 0.4285 -> 0.2220 (deboost -0.2065, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2220 -> 0.4285 (boost 0.2065, better) | predicted_OBP: 0.3000 -> 0.2843 (deboost -0.0157, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680776",
"player_name": "Jarren Duran",
"position": "LF",
"team": "BOS",
"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.182,
"predicted_3B": 0.009,
"predicted_AB": 4.69,
"predicted_AVG": 0.226,
"predicted_BB": 0.36,
"predicted_H": 1.06,
"predicted_HR": 0.22,
"predicted_OBP": 0.307,
"predicted_R": 0.569,
"predicted_RBI": 0.65,
"predicted_SLG": 0.445,
"predicted_SO": 1.24
},
"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.2885,
"predicted_3B": 0.0823,
"predicted_AB": 8.5125,
"predicted_AVG": 0.2283,
"predicted_BB": 0.7024,
"predicted_H": 1.9538,
"predicted_HBP": 0.151,
"predicted_HR": 0.4299,
"predicted_OBP": 0.3014,
"predicted_R": 1.2357,
"predicted_RBI": 1.3454,
"predicted_SLG": 0.445,
"predicted_SO": 2.7488
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.2885,
"delta": 0.1065,
"percent_delta": 0.5852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0823,
"delta": 0.0733,
"percent_delta": 8.1444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.69,
"after": 8.5125,
"delta": 3.8225,
"percent_delta": 0.815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2283,
"delta": 0.0023,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.36,
"after": 0.7024,
"delta": 0.3424,
"percent_delta": 0.9511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.9538,
"delta": 0.8938,
"percent_delta": 0.8432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4299,
"delta": 0.2099,
"percent_delta": 0.9541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3014,
"delta": -0.0056,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.569,
"after": 1.2357,
"delta": 0.6667,
"percent_delta": 1.1717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 1.3454,
"delta": 0.6954,
"percent_delta": 1.0698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.445,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.24,
"after": 2.7488,
"delta": 1.5088,
"percent_delta": 1.2168,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 9,
"deboosted_metrics": 1,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.69,
"after": 8.5125,
"delta": 3.8225,
"percent_delta": 0.815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3014,
"delta": -0.0056,
"percent_delta": -0.0182,
"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": 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.2885,
"predicted_3B": 0.0823,
"predicted_AB": 8.5125,
"predicted_AVG": 0.2257,
"predicted_BB": 0.6966,
"predicted_H": 1.9212,
"predicted_HBP": 0.151,
"predicted_HR": 0.4244,
"predicted_OBP": 0.2843,
"predicted_R": 1.1994,
"predicted_RBI": 1.3058,
"predicted_SLG": 0.4285,
"predicted_SO": 2.7713
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2885,
"after": 0.2885,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0823,
"after": 0.0823,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.5125,
"after": 8.5125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2283,
"after": 0.2257,
"delta": -0.0026,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7024,
"after": 0.6966,
"delta": -0.0058,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9538,
"after": 1.9212,
"delta": -0.0326,
"percent_delta": -0.0167,
"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.4299,
"after": 0.4244,
"delta": -0.0055,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3014,
"after": 0.2843,
"delta": -0.0171,
"percent_delta": -0.0567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2357,
"after": 1.1994,
"delta": -0.0363,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3454,
"after": 1.3058,
"delta": -0.0396,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.4285,
"delta": -0.0165,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.7488,
"after": 2.7713,
"delta": 0.0225,
"percent_delta": 0.0082,
"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.3014,
"after": 0.2843,
"delta": -0.0171,
"percent_delta": -0.0567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.51), rates preserved: AVG=0.226 HR/AB=0.050",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2885,
"after": 0.0,
"delta": -0.2885,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0823,
"after": 0.0,
"delta": -0.0823,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.5125,
"after": 9.0,
"delta": 0.4875,
"percent_delta": 0.0573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6966,
"after": 1.0,
"delta": 0.3034,
"percent_delta": 0.4355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9212,
"after": 2.0,
"delta": 0.0788,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"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.4244,
"after": 0.0,
"delta": -0.4244,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3058,
"after": 1.0,
"delta": -0.3058,
"percent_delta": -0.2342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.7713,
"after": 3.0,
"delta": 0.2287,
"percent_delta": 0.0825,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 8.5125,
"after": 9.0,
"delta": 0.4875,
"percent_delta": 0.0573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4244,
"after": 0.0,
"delta": -0.4244,
"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=8.0, weight=0.084, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.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": 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": 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": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"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": 9.0,
"predicted_BB": 1.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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.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": 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": 1.1994,
"after": 1.0,
"delta": -0.1994,
"percent_delta": -0.1662,
"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": 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_R",
"before": 1.1994,
"after": 1.0,
"delta": -0.1994,
"percent_delta": -0.1662,
"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": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.222,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2257,
"after": 0.222,
"delta": -0.0037,
"percent_delta": -0.0164,
"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": 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.2843,
"after": 0.3,
"delta": 0.0157,
"percent_delta": 0.0552,
"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.4285,
"after": 0.222,
"delta": -0.2065,
"percent_delta": -0.4819,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2843,
"after": 0.3,
"delta": 0.0157,
"percent_delta": 0.0552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4285,
"after": 0.222,
"delta": -0.2065,
"percent_delta": -0.4819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 9.0,
"after": 4.0,
"delta": -5.0,
"percent_delta": -0.5556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 9.0,
"after": 4.0,
"delta": -5.0,
"percent_delta": -0.5556,
"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.2257,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2843,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4285,
"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.222,
"after": 0.2257,
"delta": 0.0037,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2843,
"delta": -0.0157,
"percent_delta": -0.0525,
"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.222,
"after": 0.4285,
"delta": 0.2065,
"percent_delta": 0.9301,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.222,
"after": 0.4285,
"delta": 0.2065,
"percent_delta": 0.9301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2843,
"delta": -0.0157,
"percent_delta": -0.0525,
"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.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.69,
"after": 4.0,
"delta": -0.69,
"percent_delta": -0.1471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2257,
"delta": -0.0003,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2843,
"delta": -0.0227,
"percent_delta": -0.0739,
"direction": "deboost",
"projection_effect": "worse",
"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.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.4285,
"delta": -0.0165,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.24,
"after": 2.0,
"delta": 0.76,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.24,
"after": 2.0,
"delta": 0.76,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"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.182 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 4.690 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.360 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.569 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.445 | - |
| predicted_SO | 1.240 | - |
Final model 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.288 | 0.106 |
| predicted_3B | 0.082 | 0.073 |
| predicted_AB | 8.512 | 3.822 |
| predicted_AVG | 0.228 | 0.002 |
| predicted_BB | 0.702 | 0.342 |
| predicted_H | 1.954 | 0.894 |
| predicted_HBP | 0.151 | - |
| predicted_HR | 0.430 | 0.210 |
| predicted_OBP | 0.301 | -0.006 |
| predicted_R | 1.236 | 0.667 |
| predicted_RBI | 1.345 | 0.695 |
| predicted_SLG | 0.445 | 0.000 |
| predicted_SO | 2.749 | 1.509 |
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.288 | 0.000 |
| predicted_3B | 0.082 | 0.000 |
| predicted_AB | 8.512 | 0.000 |
| predicted_AVG | 0.226 | -0.003 |
| predicted_BB | 0.697 | -0.006 |
| predicted_H | 1.921 | -0.033 |
| predicted_HBP | 0.151 | 0.000 |
| predicted_HR | 0.424 | -0.006 |
| predicted_OBP | 0.284 | -0.017 |
| predicted_R | 1.199 | -0.036 |
| predicted_RBI | 1.306 | -0.040 |
| predicted_SLG | 0.428 | -0.017 |
| predicted_SO | 2.771 | 0.022 |
AB rounded to 9 (raw=8.51), rates preserved: AVG=0.226 HR/AB=0.050
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 3.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 3.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 | 9.000 | 0.000 |
| BB | 1.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 | 3.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.288 |
| predicted_3B | 0.000 | -0.082 |
| predicted_AB | 9.000 | 0.488 |
| predicted_AVG | 0.222 | -0.004 |
| predicted_BB | 1.000 | 0.303 |
| predicted_H | 2.000 | 0.079 |
| predicted_HR | 0.000 | -0.424 |
| predicted_OBP | 0.300 | 0.016 |
| predicted_R | 1.000 | -0.199 |
| predicted_RBI | 1.000 | -0.306 |
| predicted_SLG | 0.222 | -0.206 |
| predicted_SO | 3.000 | 0.229 |
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 | -5.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 6.000 | 0.000 | 1.000 | 2.000 | 5.000 | 5.000 | 2.000 | 11.000 | 0.2727 | 0.3200 | 0.6364 | 0.2727 | 0.0909 | 0.2273 | 0.0909 | 0.5000 |
| last_10 | 0.20 | 6 | - | 47.000 | 11.000 | 0.000 | 1.000 | 2.000 | 10.000 | 5.000 | 2.000 | 21.000 | 0.2340 | 0.2600 | 0.4043 | 0.2340 | 0.0425 | 0.2128 | 0.0425 | 0.4468 |
| season | 0.60 | 55 | - | 939.000 | 203.000 | 41.000 | 2.000 | 38.000 | 136.000 | 128.000 | 81.000 | 279.000 | 0.2162 | 0.2872 | 0.3855 | 0.2162 | 0.0405 | 0.1448 | 0.0863 | 0.2971 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4230 |
| predicted_3B | 0.1750 |
| predicted_AB | 13.3420 |
| predicted_AVG | 0.2311 |
| predicted_BB | 1.1350 |
| predicted_H | 3.0830 |
| predicted_HBP | 0.1510 |
| predicted_HR | 0.6950 |
| predicted_OBP | 0.2943 |
| predicted_R | 2.0780 |
| predicted_RBI | 2.2240 |
| predicted_SLG | 0.4451 |
| predicted_SO | 4.6550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.4230 | 0.2885 | model_form_blend |
| predicted_3B | 0.0090 | 0.1750 | 0.0823 | model_form_blend |
| predicted_AB | 4.6900 | 13.3420 | 8.5125 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2311 | 0.2283 | model_form_blend |
| predicted_BB | 0.3600 | 1.1350 | 0.7024 | model_form_blend |
| predicted_H | 1.0600 | 3.0830 | 1.9538 | model_form_blend |
| predicted_HBP | - | 0.1510 | 0.1510 | form_only |
| predicted_HR | 0.2200 | 0.6950 | 0.4299 | model_form_blend |
| predicted_OBP | 0.3070 | 0.2943 | 0.3014 | model_form_blend |
| predicted_R | 0.5690 | 2.0780 | 1.2357 | model_form_blend |
| predicted_RBI | 0.6500 | 2.2240 | 1.3454 | model_form_blend |
| predicted_SLG | 0.4450 | 0.4451 | 0.4450 | model_form_blend |
| predicted_SO | 1.2400 | 4.6550 | 2.7488 | 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 | 225 |
| Season rows before report date | 225 |
| Report year | 2026 |
| Profile rows used | 225 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.216 |
| 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 680776 |
| playerID | 680776 |
| playerName | Jarren Duran |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-03 |
| sl_k_percent | 28.7 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.305 |
| sl_xwoba | 0.304 |
| sl_xba | 0.234 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 34.9 |
| 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.041 | 0.000 | 0.000 | Hitting_2B | 0.038 | 1.000 | -0.038 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.986 | 3.000 | 4.000 | Hitting_AB | 2.759 | 4.000 | 0.241 | -1.000 |
| predicted_AVG | 0.285 | 0.333 | 0.250 | Hitting_AVG | 0.326 | 0.250 | 0.008 | 0.083 |
| predicted_BB | 0.425 | 0.000 | 0.000 | Hitting_BB | 0.392 | 0.000 | -0.392 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.700 | 1.000 | 1.000 | Hitting_H | 0.899 | 1.000 | 0.101 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_OBP | 0.334 | 0.500 | 0.250 | Hitting_OBP | 0.410 | 0.250 | 0.090 | 0.250 |
| predicted_R | 0.575 | 1.000 | 1.000 | Hitting_R | 0.532 | 1.000 | 0.468 | 0.000 |
| predicted_RBI | 0.390 | 1.000 | 1.000 | Hitting_RBI | 0.456 | 1.000 | 0.544 | 0.000 |
| predicted_SLG | 0.391 | 0.333 | 0.250 | Hitting_SLG | 0.394 | 0.500 | -0.061 | -0.167 |
| predicted_SO | 0.438 | 0.000 | 1.000 | Hitting_SO | 0.405 | 1.000 | -0.405 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.3900 -> 1.0000 (boost 0.6100, better) |
| Biggest Deboost | predicted_SO: 0.4380 -> 0.0000 (deboost -0.4380, 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 | 9 | 9 | 0 | 8 | 1 | predicted_AB: 2.9860 -> 4.3815 (boost 1.3955, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3904 -> 0.3560 (deboost -0.0344, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.5858 -> 1.0000 (boost 0.4142, better) | predicted_BB: 0.5406 -> 0.0000 (deboost -0.5406, worse) | AB rounded to 4 (raw=4.38), rates preserved: AVG=0.280 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8107 -> 1.0000 (boost 0.1893, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3588 -> 0.2500 (deboost -0.1088, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2500 -> 0.3588 (boost 0.1088, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643396",
"player_name": "Isiah Kiner-Falefa",
"position": "SS",
"team": "BOS",
"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.041,
"predicted_3B": 0.0,
"predicted_AB": 2.986,
"predicted_AVG": 0.285,
"predicted_BB": 0.425,
"predicted_H": 0.7,
"predicted_HR": 0.07,
"predicted_OBP": 0.334,
"predicted_R": 0.575,
"predicted_RBI": 0.39,
"predicted_SLG": 0.391,
"predicted_SO": 0.438
},
"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.0912,
"predicted_3B": 0.0013,
"predicted_AB": 4.3815,
"predicted_AVG": 0.2985,
"predicted_BB": 0.5451,
"predicted_H": 1.2462,
"predicted_HBP": 0.006,
"predicted_HR": 0.0813,
"predicted_OBP": 0.3543,
"predicted_R": 0.8353,
"predicted_RBI": 0.6035,
"predicted_SLG": 0.3904,
"predicted_SO": 0.6866
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.041,
"after": 0.0912,
"delta": 0.0502,
"percent_delta": 1.2244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.986,
"after": 4.3815,
"delta": 1.3955,
"percent_delta": 0.4673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.2985,
"delta": 0.0135,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.425,
"after": 0.5451,
"delta": 0.1201,
"percent_delta": 0.2826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 1.2462,
"delta": 0.5462,
"percent_delta": 0.7803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0813,
"delta": 0.0113,
"percent_delta": 0.1614,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3543,
"delta": 0.0203,
"percent_delta": 0.0608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.575,
"after": 0.8353,
"delta": 0.2603,
"percent_delta": 0.4527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.6035,
"delta": 0.2135,
"percent_delta": 0.5474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3904,
"delta": -0.0006,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.438,
"after": 0.6866,
"delta": 0.2486,
"percent_delta": 0.5676,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.986,
"after": 4.3815,
"delta": 1.3955,
"percent_delta": 0.4673,
"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": 6,
"season": 29
}
},
{
"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.0912,
"predicted_3B": 0.0013,
"predicted_AB": 4.3815,
"predicted_AVG": 0.2797,
"predicted_BB": 0.5406,
"predicted_H": 1.2254,
"predicted_HBP": 0.006,
"predicted_HR": 0.0803,
"predicted_OBP": 0.3588,
"predicted_R": 0.8107,
"predicted_RBI": 0.5858,
"predicted_SLG": 0.356,
"predicted_SO": 0.6922
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0912,
"after": 0.0912,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3815,
"after": 4.3815,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2985,
"after": 0.2797,
"delta": -0.0188,
"percent_delta": -0.063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5451,
"after": 0.5406,
"delta": -0.0045,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2462,
"after": 1.2254,
"delta": -0.0208,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.006,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0813,
"after": 0.0803,
"delta": -0.001,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3543,
"after": 0.3588,
"delta": 0.0045,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8353,
"after": 0.8107,
"delta": -0.0246,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6035,
"after": 0.5858,
"delta": -0.0177,
"percent_delta": -0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3904,
"after": 0.356,
"delta": -0.0344,
"percent_delta": -0.0881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6866,
"after": 0.6922,
"delta": 0.0056,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3904,
"after": 0.356,
"delta": -0.0344,
"percent_delta": -0.0881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.38), rates preserved: AVG=0.280 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0912,
"after": 0.0,
"delta": -0.0912,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3815,
"after": 4.0,
"delta": -0.3815,
"percent_delta": -0.0871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5406,
"after": 0.0,
"delta": -0.5406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2254,
"after": 1.0,
"delta": -0.2254,
"percent_delta": -0.1839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0803,
"after": 0.0,
"delta": -0.0803,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5858,
"after": 1.0,
"delta": 0.4142,
"percent_delta": 0.7071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6922,
"after": 1.0,
"delta": 0.3078,
"percent_delta": 0.4447,
"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_RBI",
"before": 0.5858,
"after": 1.0,
"delta": 0.4142,
"percent_delta": 0.7071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5406,
"after": 0.0,
"delta": -0.5406,
"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.8107,
"after": 1.0,
"delta": 0.1893,
"percent_delta": 0.2335,
"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.8107,
"after": 1.0,
"delta": 0.1893,
"percent_delta": 0.2335,
"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.2797,
"after": 0.25,
"delta": -0.0297,
"percent_delta": -0.1062,
"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.3588,
"after": 0.25,
"delta": -0.1088,
"percent_delta": -0.3032,
"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.356,
"after": 0.25,
"delta": -0.106,
"percent_delta": -0.2978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3588,
"after": 0.25,
"delta": -0.1088,
"percent_delta": -0.3032,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 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": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"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_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2797,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3588,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.356,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2797,
"delta": 0.0297,
"percent_delta": 0.1187,
"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": 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.25,
"after": 0.3588,
"delta": 0.1088,
"percent_delta": 0.4352,
"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.356,
"delta": 0.106,
"percent_delta": 0.4241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3588,
"delta": 0.1088,
"percent_delta": 0.4352,
"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.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.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": 2.986,
"after": 3.0,
"delta": 0.014,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.2797,
"delta": -0.0053,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.425,
"after": 0.0,
"delta": -0.425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 1.0,
"delta": 0.3,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3588,
"delta": 0.0248,
"percent_delta": 0.0743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.575,
"after": 1.0,
"delta": 0.425,
"percent_delta": 0.7391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.356,
"delta": -0.035,
"percent_delta": -0.0895,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.438,
"after": 0.0,
"delta": -0.438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.438,
"after": 0.0,
"delta": -0.438,
"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.041 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.986 | - |
| predicted_AVG | 0.285 | - |
| predicted_BB | 0.425 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.575 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 0.438 | - |
Final model 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.091 | 0.050 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.381 | 1.395 |
| predicted_AVG | 0.298 | 0.014 |
| predicted_BB | 0.545 | 0.120 |
| predicted_H | 1.246 | 0.546 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.081 | 0.011 |
| predicted_OBP | 0.354 | 0.020 |
| predicted_R | 0.835 | 0.260 |
| predicted_RBI | 0.604 | 0.214 |
| predicted_SLG | 0.390 | -0.001 |
| predicted_SO | 0.687 | 0.249 |
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.091 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.381 | 0.000 |
| predicted_AVG | 0.280 | -0.019 |
| predicted_BB | 0.541 | -0.005 |
| predicted_H | 1.225 | -0.021 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.080 | -0.001 |
| predicted_OBP | 0.359 | 0.005 |
| predicted_R | 0.811 | -0.025 |
| predicted_RBI | 0.586 | -0.018 |
| predicted_SLG | 0.356 | -0.034 |
| predicted_SO | 0.692 | 0.006 |
AB rounded to 4 (raw=4.38), rates preserved: AVG=0.280 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.091 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.381 |
| predicted_AVG | 0.250 | -0.030 |
| predicted_BB | 0.000 | -0.541 |
| predicted_H | 1.000 | -0.225 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.250 | -0.109 |
| predicted_R | 1.000 | 0.189 |
| predicted_RBI | 1.000 | 0.414 |
| predicted_SLG | 0.250 | -0.106 |
| predicted_SO | 1.000 | 0.308 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 4.000 | 0.000 | 4.000 | 0.2857 | 0.2857 | 0.3333 | 0.2857 | 0.0000 | 0.0952 | 0.0000 | 0.1905 |
| last_10 | 0.20 | 6 | - | 31.000 | 16.000 | 1.000 | 0.000 | 0.000 | 2.000 | 9.000 | 10.000 | 4.000 | 0.5161 | 0.6341 | 0.5484 | 0.5161 | 0.0000 | 0.0645 | 0.3226 | 0.1290 |
| season | 0.60 | 29 | - | 218.000 | 71.000 | 3.000 | 0.000 | 4.000 | 36.000 | 42.000 | 31.000 | 32.000 | 0.3257 | 0.4096 | 0.3945 | 0.3257 | 0.0184 | 0.1651 | 0.1422 | 0.1468 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1610 |
| predicted_3B | 0.0030 |
| predicted_AB | 6.3200 |
| predicted_AVG | 0.3172 |
| predicted_BB | 0.7120 |
| predicted_H | 2.0050 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.3825 |
| predicted_R | 1.1970 |
| predicted_RBI | 0.9000 |
| predicted_SLG | 0.3895 |
| predicted_SO | 1.0320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0410 | 0.1610 | 0.0912 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 2.9860 | 6.3200 | 4.3815 | model_form_blend |
| predicted_AVG | 0.2850 | 0.3172 | 0.2985 | model_form_blend |
| predicted_BB | 0.4250 | 0.7120 | 0.5451 | model_form_blend |
| predicted_H | 0.7000 | 2.0050 | 1.2462 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0700 | 0.0970 | 0.0813 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3825 | 0.3543 | model_form_blend |
| predicted_R | 0.5750 | 1.1970 | 0.8353 | model_form_blend |
| predicted_RBI | 0.3900 | 0.9000 | 0.6035 | model_form_blend |
| predicted_SLG | 0.3910 | 0.3895 | 0.3904 | model_form_blend |
| predicted_SO | 0.4380 | 1.0320 | 0.6866 | 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 | 79 |
| Season rows before report date | 79 |
| Report year | 2026 |
| Profile rows used | 73 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.326 |
| 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 | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 643396 |
| playerID | 643396 |
| playerName | Isiah Kiner-Falefa |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-03 |
| sl_k_percent | 15.6 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.331 |
| sl_xwoba | 0.319 |
| sl_xba | 0.278 |
| sl_xslg | 0.368 |
| sl_sweet_spot_percent | 41.2 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 29.4 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 17.6 |
| sl_swing_percent | 50.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.155 | 0.000 | 0.000 | Hitting_2B | 0.153 | 0.000 | -0.153 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.198 | 4.000 | 6.000 | Hitting_AB | 3.144 | 4.000 | 0.856 | 0.000 |
| predicted_AVG | 0.246 | 0.500 | 0.167 | Hitting_AVG | 0.205 | 0.500 | 0.295 | 0.000 |
| predicted_BB | 0.310 | 0.000 | 1.000 | Hitting_BB | 0.305 | 0.000 | -0.305 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.670 | 2.000 | 1.000 | Hitting_H | 0.644 | 2.000 | 1.356 | 0.000 |
| predicted_HR | 0.070 | 1.000 | 0.000 | Hitting_HR | 0.059 | 0.000 | 0.941 | 1.000 |
| predicted_OBP | 0.315 | 0.500 | 0.286 | Hitting_OBP | 0.287 | 0.500 | 0.213 | 0.000 |
| predicted_R | 0.405 | 1.000 | 1.000 | Hitting_R | 0.398 | 1.000 | 0.602 | 0.000 |
| predicted_RBI | 0.220 | 2.000 | 0.000 | Hitting_RBI | 0.093 | 0.000 | 1.907 | 2.000 |
| predicted_SLG | 0.345 | 1.250 | 0.167 | Hitting_SLG | 0.310 | 0.500 | 0.940 | 0.750 |
| predicted_SO | 1.086 | 1.000 | 2.000 | Hitting_SO | 1.068 | 2.000 | -0.068 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.2200 -> 2.0000 (boost 1.7800, better) |
| Biggest Deboost | predicted_BB: 0.3100 -> 0.0000 (deboost -0.3100, 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 | 5 | 4 | predicted_AB: 3.1980 -> 6.0831 (boost 2.8851, better) | predicted_SLG: 0.3450 -> 0.3145 (deboost -0.0305, 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.2923 -> 0.2579 (deboost -0.0344, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_BB: 0.5584 -> 1.0000 (boost 0.4416, better) | predicted_2B: 0.2548 -> 0.0000 (deboost -0.2548, worse) | AB rounded to 6 (raw=6.08), rates preserved: AVG=0.190 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6891 -> 1.0000 (boost 0.3109, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2579 -> 0.2860 (boost 0.0281, better) | predicted_SLG: 0.2850 -> 0.1670 (deboost -0.1180, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 3 | 3 | 4 | 2 | predicted_RBI: 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 |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1670 -> 0.2850 (boost 0.1180, better) | predicted_OBP: 0.2860 -> 0.2579 (deboost -0.0281, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665966",
"player_name": "Carlos Narváez",
"position": "C",
"team": "BOS",
"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.155,
"predicted_3B": 0.0,
"predicted_AB": 3.198,
"predicted_AVG": 0.246,
"predicted_BB": 0.31,
"predicted_H": 0.67,
"predicted_HR": 0.07,
"predicted_OBP": 0.315,
"predicted_R": 0.405,
"predicted_RBI": 0.22,
"predicted_SLG": 0.345,
"predicted_SO": 1.086
},
"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.2548,
"predicted_3B": 0.0013,
"predicted_AB": 6.0831,
"predicted_AVG": 0.2202,
"predicted_BB": 0.563,
"predicted_H": 1.1742,
"predicted_HBP": 0.144,
"predicted_HR": 0.1087,
"predicted_OBP": 0.2923,
"predicted_R": 0.71,
"predicted_RBI": 0.2561,
"predicted_SLG": 0.3145,
"predicted_SO": 2.1835
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.2548,
"delta": 0.0998,
"percent_delta": 0.6439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.198,
"after": 6.0831,
"delta": 2.8851,
"percent_delta": 0.9022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2202,
"delta": -0.0258,
"percent_delta": -0.1049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.563,
"delta": 0.253,
"percent_delta": 0.8161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.1742,
"delta": 0.5042,
"percent_delta": 0.7525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1087,
"delta": 0.0387,
"percent_delta": 0.5529,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.2923,
"delta": -0.0227,
"percent_delta": -0.0721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.71,
"delta": 0.305,
"percent_delta": 0.7531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.2561,
"delta": 0.0361,
"percent_delta": 0.1641,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3145,
"delta": -0.0305,
"percent_delta": -0.0884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.086,
"after": 2.1835,
"delta": 1.0975,
"percent_delta": 1.0106,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.198,
"after": 6.0831,
"delta": 2.8851,
"percent_delta": 0.9022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3145,
"delta": -0.0305,
"percent_delta": -0.0884,
"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": 2,
"last_10": 4,
"season": 35
}
},
{
"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.2548,
"predicted_3B": 0.0013,
"predicted_AB": 6.0831,
"predicted_AVG": 0.1898,
"predicted_BB": 0.5584,
"predicted_H": 1.1546,
"predicted_HBP": 0.144,
"predicted_HR": 0.1073,
"predicted_OBP": 0.2579,
"predicted_R": 0.6891,
"predicted_RBI": 0.2486,
"predicted_SLG": 0.285,
"predicted_SO": 2.2014
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2548,
"after": 0.2548,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0831,
"after": 6.0831,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2202,
"after": 0.1898,
"delta": -0.0304,
"percent_delta": -0.1381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.563,
"after": 0.5584,
"delta": -0.0046,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1742,
"after": 1.1546,
"delta": -0.0196,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.144,
"after": 0.144,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1087,
"after": 0.1073,
"delta": -0.0014,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2923,
"after": 0.2579,
"delta": -0.0344,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.71,
"after": 0.6891,
"delta": -0.0209,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2561,
"after": 0.2486,
"delta": -0.0075,
"percent_delta": -0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3145,
"after": 0.285,
"delta": -0.0295,
"percent_delta": -0.0938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1835,
"after": 2.2014,
"delta": 0.0179,
"percent_delta": 0.0082,
"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.2923,
"after": 0.2579,
"delta": -0.0344,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.08), rates preserved: AVG=0.190 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2548,
"after": 0.0,
"delta": -0.2548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0831,
"after": 6.0,
"delta": -0.0831,
"percent_delta": -0.0137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5584,
"after": 1.0,
"delta": 0.4416,
"percent_delta": 0.7908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1546,
"after": 1.0,
"delta": -0.1546,
"percent_delta": -0.1339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.144,
"after": 0.0,
"delta": -0.144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1073,
"after": 0.0,
"delta": -0.1073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2486,
"after": 0.0,
"delta": -0.2486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2014,
"after": 2.0,
"delta": -0.2014,
"percent_delta": -0.0915,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5584,
"after": 1.0,
"delta": 0.4416,
"percent_delta": 0.7908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2548,
"after": 0.0,
"delta": -0.2548,
"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": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 6.0,
"after": 6.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.6891,
"after": 1.0,
"delta": 0.3109,
"percent_delta": 0.4512,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6891,
"after": 1.0,
"delta": 0.3109,
"percent_delta": 0.4512,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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": 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.1898,
"after": 0.167,
"delta": -0.0228,
"percent_delta": -0.1201,
"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.2579,
"after": 0.286,
"delta": 0.0281,
"percent_delta": 0.109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.285,
"after": 0.167,
"delta": -0.118,
"percent_delta": -0.414,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2579,
"after": 0.286,
"delta": 0.0281,
"percent_delta": 0.109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.285,
"after": 0.167,
"delta": -0.118,
"percent_delta": -0.414,
"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": 2.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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"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": 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.1898,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2579,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.285,
"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.167,
"after": 0.1898,
"delta": 0.0228,
"percent_delta": 0.1365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2579,
"delta": -0.0281,
"percent_delta": -0.0982,
"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.167,
"after": 0.285,
"delta": 0.118,
"percent_delta": 0.7068,
"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.167,
"after": 0.285,
"delta": 0.118,
"percent_delta": 0.7068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2579,
"delta": -0.0281,
"percent_delta": -0.0982,
"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.155,
"after": 0.0,
"delta": -0.155,
"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.198,
"after": 4.0,
"delta": 0.802,
"percent_delta": 0.2508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.1898,
"delta": -0.0562,
"percent_delta": -0.2285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 2.0,
"delta": 1.33,
"percent_delta": 1.9851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 1.0,
"delta": 0.93,
"percent_delta": 13.2857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.2579,
"delta": -0.0571,
"percent_delta": -0.1813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 2.0,
"delta": 1.78,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.285,
"delta": -0.06,
"percent_delta": -0.1739,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.086,
"after": 1.0,
"delta": -0.086,
"percent_delta": -0.0792,
"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_RBI",
"before": 0.22,
"after": 2.0,
"delta": 1.78,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"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.155 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.198 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.310 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.345 | - |
| predicted_SO | 1.086 | - |
Final model 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.255 | 0.100 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.083 | 2.885 |
| predicted_AVG | 0.220 | -0.026 |
| predicted_BB | 0.563 | 0.253 |
| predicted_H | 1.174 | 0.504 |
| predicted_HBP | 0.144 | - |
| predicted_HR | 0.109 | 0.039 |
| predicted_OBP | 0.292 | -0.023 |
| predicted_R | 0.710 | 0.305 |
| predicted_RBI | 0.256 | 0.036 |
| predicted_SLG | 0.315 | -0.030 |
| predicted_SO | 2.183 | 1.097 |
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.255 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.083 | 0.000 |
| predicted_AVG | 0.190 | -0.030 |
| predicted_BB | 0.558 | -0.005 |
| predicted_H | 1.155 | -0.020 |
| predicted_HBP | 0.144 | 0.000 |
| predicted_HR | 0.107 | -0.001 |
| predicted_OBP | 0.258 | -0.034 |
| predicted_R | 0.689 | -0.021 |
| predicted_RBI | 0.249 | -0.008 |
| predicted_SLG | 0.285 | -0.030 |
| predicted_SO | 2.201 | 0.018 |
AB rounded to 6 (raw=6.08), rates preserved: AVG=0.190 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.255 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.083 |
| predicted_AVG | 0.167 | -0.023 |
| predicted_BB | 1.000 | 0.442 |
| predicted_H | 1.000 | -0.155 |
| predicted_HR | 0.000 | -0.107 |
| predicted_OBP | 0.286 | 0.028 |
| predicted_R | 1.000 | 0.311 |
| predicted_RBI | 0.000 | -0.249 |
| predicted_SLG | 0.167 | -0.118 |
| predicted_SO | 2.000 | -0.201 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 20.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 10.000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.0000 | 0.0000 | 0.0000 | 0.5000 |
| last_10 | 0.20 | 4 | - | 35.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 5.000 | 19.000 | 0.0857 | 0.2000 | 0.0857 | 0.0857 | 0.0000 | 0.0000 | 0.1429 | 0.5429 |
| season | 0.60 | 35 | - | 371.000 | 76.000 | 18.000 | 0.000 | 7.000 | 11.000 | 47.000 | 36.000 | 126.000 | 0.2049 | 0.2874 | 0.3100 | 0.2049 | 0.0189 | 0.0296 | 0.0970 | 0.3396 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3870 |
| predicted_3B | 0.0030 |
| predicted_AB | 9.9040 |
| predicted_AVG | 0.1860 |
| predicted_BB | 0.8980 |
| predicted_H | 1.8420 |
| predicted_HBP | 0.1440 |
| predicted_HR | 0.1600 |
| predicted_OBP | 0.2622 |
| predicted_R | 1.1140 |
| predicted_RBI | 0.3040 |
| predicted_SLG | 0.2740 |
| predicted_SO | 3.6370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.3870 | 0.2548 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.1980 | 9.9040 | 6.0831 | model_form_blend |
| predicted_AVG | 0.2460 | 0.1860 | 0.2202 | model_form_blend |
| predicted_BB | 0.3100 | 0.8980 | 0.5630 | model_form_blend |
| predicted_H | 0.6700 | 1.8420 | 1.1742 | model_form_blend |
| predicted_HBP | - | 0.1440 | 0.1440 | form_only |
| predicted_HR | 0.0700 | 0.1600 | 0.1087 | model_form_blend |
| predicted_OBP | 0.3150 | 0.2622 | 0.2923 | model_form_blend |
| predicted_R | 0.4050 | 1.1140 | 0.7100 | model_form_blend |
| predicted_RBI | 0.2200 | 0.3040 | 0.2561 | model_form_blend |
| predicted_SLG | 0.3450 | 0.2740 | 0.3145 | model_form_blend |
| predicted_SO | 1.0860 | 3.6370 | 2.1835 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 118 |
| Season rows before report date | 118 |
| Report year | 2026 |
| Profile rows used | 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 | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| 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 | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260531_BOS@CLE |
| game_type | full |
| mlbID | 665966 |
| playerID | 665966 |
| playerName | Carlos Narváez |
| pos | C |
| started | True |
| startingPosition | C |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-31 |
| sl_k_percent | 30.3 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.283 |
| sl_xwoba | 0.291 |
| sl_xba | 0.229 |
| sl_xslg | 0.343 |
| sl_sweet_spot_percent | 39.7 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 38.4 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 53.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.237 | 0.000 | 1.000 | Hitting_2B | 0.234 | 1.000 | -0.234 | -1.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 3.445 | 4.000 | 6.000 | Hitting_AB | 3.406 | 4.000 | 0.594 | 0.000 |
| predicted_AVG | 0.245 | 0.250 | 0.167 | Hitting_AVG | 0.191 | 0.500 | 0.059 | -0.250 |
| predicted_BB | 0.266 | 0.000 | 0.000 | Hitting_BB | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.770 | 1.000 | 1.000 | Hitting_H | 0.651 | 2.000 | 0.349 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_OBP | 0.295 | 0.250 | 0.167 | Hitting_OBP | 0.267 | 0.500 | -0.017 | -0.250 |
| predicted_R | 0.410 | 0.000 | 1.000 | Hitting_R | 0.406 | 2.000 | -0.406 | -2.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.429 | 1.000 | -0.429 | -1.000 |
| predicted_SLG | 0.392 | 0.250 | 0.333 | Hitting_SLG | 0.289 | 0.750 | -0.039 | -0.500 |
| predicted_SO | 0.555 | 2.000 | 1.000 | Hitting_SO | 0.549 | 0.000 | 1.451 | 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.5550 -> 2.0000 (boost 1.4450, worse) |
| Biggest Deboost | predicted_RBI: 0.5300 -> 0.0000 (deboost -0.5300, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.4450 -> 5.8675 (boost 2.4225, 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.3975 -> 0.3786 (deboost -0.0189, 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_2B: 0.5606 -> 1.0000 (boost 0.4394, better) | predicted_H: 1.3767 -> 1.0000 (deboost -0.3767, worse) | AB rounded to 6 (raw=5.87), rates preserved: AVG=0.235 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6768 -> 1.0000 (boost 0.3232, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2786 -> 0.1670 (deboost -0.1116, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.1670 -> 0.2786 (boost 0.1116, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702332",
"player_name": "Caleb Durbin",
"position": "3B",
"team": "BOS",
"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.237,
"predicted_3B": 0.006,
"predicted_AB": 3.445,
"predicted_AVG": 0.245,
"predicted_BB": 0.266,
"predicted_H": 0.77,
"predicted_HR": 0.05,
"predicted_OBP": 0.295,
"predicted_R": 0.41,
"predicted_RBI": 0.53,
"predicted_SLG": 0.392,
"predicted_SO": 0.555
},
"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.5606,
"predicted_3B": 0.0602,
"predicted_AB": 5.8675,
"predicted_AVG": 0.2454,
"predicted_BB": 0.3605,
"predicted_H": 1.4001,
"predicted_HBP": 0.161,
"predicted_HR": 0.0552,
"predicted_OBP": 0.2964,
"predicted_R": 0.6973,
"predicted_RBI": 0.9891,
"predicted_SLG": 0.3975,
"predicted_SO": 0.9179
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.237,
"after": 0.5606,
"delta": 0.3236,
"percent_delta": 1.3654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0602,
"delta": 0.0542,
"percent_delta": 9.0333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.445,
"after": 5.8675,
"delta": 2.4225,
"percent_delta": 0.7032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2454,
"delta": 0.0004,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 0.3605,
"delta": 0.0945,
"percent_delta": 0.3553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.4001,
"delta": 0.6301,
"percent_delta": 0.8183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0552,
"delta": 0.0052,
"percent_delta": 0.104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2964,
"delta": 0.0014,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 0.6973,
"delta": 0.2873,
"percent_delta": 0.7007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.9891,
"delta": 0.4591,
"percent_delta": 0.8662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3975,
"delta": 0.0055,
"percent_delta": 0.014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.555,
"after": 0.9179,
"delta": 0.3629,
"percent_delta": 0.6539,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.445,
"after": 5.8675,
"delta": 2.4225,
"percent_delta": 0.7032,
"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": 52
}
},
{
"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.5606,
"predicted_3B": 0.0602,
"predicted_AB": 5.8675,
"predicted_AVG": 0.2346,
"predicted_BB": 0.3575,
"predicted_H": 1.3767,
"predicted_HBP": 0.161,
"predicted_HR": 0.0545,
"predicted_OBP": 0.2786,
"predicted_R": 0.6768,
"predicted_RBI": 0.96,
"predicted_SLG": 0.3786,
"predicted_SO": 0.9254
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5606,
"after": 0.5606,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0602,
"after": 0.0602,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.8675,
"after": 5.8675,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2454,
"after": 0.2346,
"delta": -0.0108,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3605,
"after": 0.3575,
"delta": -0.003,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4001,
"after": 1.3767,
"delta": -0.0234,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.161,
"after": 0.161,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0552,
"after": 0.0545,
"delta": -0.0007,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2964,
"after": 0.2786,
"delta": -0.0178,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6973,
"after": 0.6768,
"delta": -0.0205,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9891,
"after": 0.96,
"delta": -0.0291,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3975,
"after": 0.3786,
"delta": -0.0189,
"percent_delta": -0.0475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9179,
"after": 0.9254,
"delta": 0.0075,
"percent_delta": 0.0082,
"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.3975,
"after": 0.3786,
"delta": -0.0189,
"percent_delta": -0.0475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.87), rates preserved: AVG=0.235 HR/AB=0.009",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5606,
"after": 1.0,
"delta": 0.4394,
"percent_delta": 0.7838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0602,
"after": 0.0,
"delta": -0.0602,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.8675,
"after": 6.0,
"delta": 0.1325,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3575,
"after": 0.0,
"delta": -0.3575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3767,
"after": 1.0,
"delta": -0.3767,
"percent_delta": -0.2736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0545,
"after": 0.0,
"delta": -0.0545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.96,
"after": 1.0,
"delta": 0.04,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9254,
"after": 1.0,
"delta": 0.0746,
"percent_delta": 0.0806,
"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_2B",
"before": 0.5606,
"after": 1.0,
"delta": 0.4394,
"percent_delta": 0.7838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3767,
"after": 1.0,
"delta": -0.3767,
"percent_delta": -0.2736,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6768,
"after": 1.0,
"delta": 0.3232,
"percent_delta": 0.4775,
"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.6768,
"after": 1.0,
"delta": 0.3232,
"percent_delta": 0.4775,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"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": 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.2346,
"after": 0.167,
"delta": -0.0676,
"percent_delta": -0.2882,
"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.2786,
"after": 0.167,
"delta": -0.1116,
"percent_delta": -0.4006,
"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.3786,
"after": 0.333,
"delta": -0.0456,
"percent_delta": -0.1204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2786,
"after": 0.167,
"delta": -0.1116,
"percent_delta": -0.4006,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 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.2346,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2786,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3786,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2346,
"delta": 0.0676,
"percent_delta": 0.405,
"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.167,
"after": 0.2786,
"delta": 0.1116,
"percent_delta": 0.6682,
"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.3786,
"delta": 0.0456,
"percent_delta": 0.1368,
"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_OBP",
"before": 0.167,
"after": 0.2786,
"delta": 0.1116,
"percent_delta": 0.6682,
"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.237,
"after": 0.0,
"delta": -0.237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.445,
"after": 4.0,
"delta": 0.555,
"percent_delta": 0.1611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2346,
"delta": -0.0104,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 0.0,
"delta": -0.266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.0,
"delta": 0.23,
"percent_delta": 0.2987,
"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.295,
"after": 0.2786,
"delta": -0.0164,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3786,
"delta": -0.0134,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.555,
"after": 2.0,
"delta": 1.445,
"percent_delta": 2.6036,
"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.555,
"after": 2.0,
"delta": 1.445,
"percent_delta": 2.6036,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"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.237 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 3.445 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.266 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.410 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.392 | - |
| predicted_SO | 0.555 | - |
Final model 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.561 | 0.324 |
| predicted_3B | 0.060 | 0.054 |
| predicted_AB | 5.867 | 2.422 |
| predicted_AVG | 0.245 | 0.000 |
| predicted_BB | 0.360 | 0.094 |
| predicted_H | 1.400 | 0.630 |
| predicted_HBP | 0.161 | - |
| predicted_HR | 0.055 | 0.005 |
| predicted_OBP | 0.296 | 0.001 |
| predicted_R | 0.697 | 0.287 |
| predicted_RBI | 0.989 | 0.459 |
| predicted_SLG | 0.398 | 0.006 |
| predicted_SO | 0.918 | 0.363 |
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.561 | 0.000 |
| predicted_3B | 0.060 | 0.000 |
| predicted_AB | 5.867 | 0.000 |
| predicted_AVG | 0.235 | -0.011 |
| predicted_BB | 0.357 | -0.003 |
| predicted_H | 1.377 | -0.023 |
| predicted_HBP | 0.161 | 0.000 |
| predicted_HR | 0.054 | -0.001 |
| predicted_OBP | 0.279 | -0.018 |
| predicted_R | 0.677 | -0.021 |
| predicted_RBI | 0.960 | -0.029 |
| predicted_SLG | 0.379 | -0.019 |
| predicted_SO | 0.925 | 0.007 |
AB rounded to 6 (raw=5.87), rates preserved: AVG=0.235 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 1.000 | 0.439 |
| predicted_3B | 0.000 | -0.060 |
| predicted_AB | 6.000 | 0.133 |
| predicted_AVG | 0.167 | -0.068 |
| predicted_BB | 0.000 | -0.357 |
| predicted_H | 1.000 | -0.377 |
| predicted_HR | 0.000 | -0.054 |
| predicted_OBP | 0.167 | -0.112 |
| predicted_R | 1.000 | 0.323 |
| predicted_RBI | 1.000 | 0.040 |
| predicted_SLG | 0.333 | -0.046 |
| predicted_SO | 1.000 | 0.075 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 4.000 | 1.000 | 0.000 | 6.000 | 2.000 | 0.000 | 3.000 | 0.3500 | 0.3500 | 0.6500 | 0.3500 | 0.0000 | 0.3000 | 0.0000 | 0.1500 |
| last_10 | 0.20 | 7 | - | 38.000 | 15.000 | 8.000 | 1.000 | 0.000 | 10.000 | 6.000 | 0.000 | 3.000 | 0.3947 | 0.3947 | 0.6579 | 0.3947 | 0.0000 | 0.2632 | 0.0000 | 0.0790 |
| season | 0.60 | 52 | - | 596.000 | 114.000 | 41.000 | 1.000 | 5.000 | 75.000 | 71.000 | 46.000 | 96.000 | 0.1913 | 0.2671 | 0.2886 | 0.1913 | 0.0084 | 0.1258 | 0.0772 | 0.1611 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9770 |
| predicted_3B | 0.1300 |
| predicted_AB | 8.9850 |
| predicted_AVG | 0.2460 |
| predicted_BB | 0.4820 |
| predicted_H | 2.2110 |
| predicted_HBP | 0.1610 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.2982 |
| predicted_R | 1.0670 |
| predicted_RBI | 1.5800 |
| predicted_SLG | 0.4045 |
| predicted_SO | 1.3850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2370 | 0.9770 | 0.5606 | model_form_blend |
| predicted_3B | 0.0060 | 0.1300 | 0.0602 | model_form_blend |
| predicted_AB | 3.4450 | 8.9850 | 5.8675 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2460 | 0.2454 | model_form_blend |
| predicted_BB | 0.2660 | 0.4820 | 0.3605 | model_form_blend |
| predicted_H | 0.7700 | 2.2110 | 1.4001 | model_form_blend |
| predicted_HBP | - | 0.1610 | 0.1610 | form_only |
| predicted_HR | 0.0500 | 0.0620 | 0.0552 | model_form_blend |
| predicted_OBP | 0.2950 | 0.2982 | 0.2964 | model_form_blend |
| predicted_R | 0.4100 | 1.0670 | 0.6973 | model_form_blend |
| predicted_RBI | 0.5300 | 1.5800 | 0.9891 | model_form_blend |
| predicted_SLG | 0.3920 | 0.4045 | 0.3975 | model_form_blend |
| predicted_SO | 0.5550 | 1.3850 | 0.9179 | 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 | 175 |
| Season rows before report date | 175 |
| Report year | 2026 |
| Profile rows used | 173 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.191 |
| 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 | 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 | 3 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_BAL@BOS |
| game_type | full |
| mlbID | 702332 |
| playerID | 702332 |
| playerName | Caleb Durbin |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-03 |
| sl_k_percent | 14.8 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.252 |
| sl_xwoba | 0.27 |
| sl_xba | 0.229 |
| sl_xslg | 0.295 |
| sl_sweet_spot_percent | 24.7 |
| sl_barrel_batted_rate | 2.1 |
| sl_hard_hit_percent | 28.8 |
| sl_exit_velocity_avg | 85.0 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 15.6 |
| sl_swing_percent | 44.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.365 | 0.000 | 1.000 | Hitting_2B | 0.361 | 1.000 | -0.361 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.552 | 4.000 | 6.000 | Hitting_AB | 3.515 | 3.000 | 0.485 | 1.000 |
| predicted_AVG | 0.229 | 0.250 | 0.167 | Hitting_AVG | 0.258 | 0.333 | -0.008 | -0.083 |
| predicted_BB | 0.260 | 0.000 | 0.000 | Hitting_BB | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_H | 0.290 | 1.000 | 1.000 | Hitting_H | 0.907 | 1.000 | 0.093 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_OBP | 0.260 | 0.250 | 0.167 | Hitting_OBP | 0.309 | 0.333 | -0.059 | -0.083 |
| predicted_R | 0.469 | 1.000 | 1.000 | Hitting_R | 0.464 | 1.000 | 0.536 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 1.000 | Hitting_RBI | 0.454 | 0.000 | -0.454 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_SLG | 0.354 | 0.250 | 0.333 | Hitting_SLG | 0.413 | 0.667 | -0.163 | -0.417 |
| predicted_SO | 0.802 | 1.000 | 2.000 | Hitting_SO | 0.794 | 1.000 | 0.206 | 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_H: 0.2900 -> 1.0000 (boost 0.7100, better) |
| Biggest Deboost | predicted_2B: 0.3650 -> 0.0000 (deboost -0.3650, 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 | 7 | 0 | 6 | 1 | predicted_AB: 3.5520 -> 6.2362 (boost 2.6842, 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.2241 -> 0.1704 (deboost -0.0537, 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.5293 -> 1.0000 (boost 0.4707, better) | predicted_BB: 0.4251 -> 0.0000 (deboost -0.4251, worse) | AB rounded to 6 (raw=6.24), rates preserved: AVG=0.170 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7538 -> 1.0000 (boost 0.2462, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2990 -> 0.3330 (boost 0.0340, better) | predicted_OBP: 0.2233 -> 0.1670 (deboost -0.0563, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.1670 -> 0.2233 (boost 0.0563, better) | predicted_SLG: 0.3330 -> 0.2990 (deboost -0.0340, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "655316",
"player_name": "Andruw Monasterio",
"position": "2B",
"team": "BOS",
"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.365,
"predicted_3B": 0.0,
"predicted_AB": 3.552,
"predicted_AVG": 0.229,
"predicted_BB": 0.26,
"predicted_H": 0.29,
"predicted_HR": 0.03,
"predicted_OBP": 0.26,
"predicted_R": 0.469,
"predicted_RBI": 0.15,
"predicted_SLG": 0.354,
"predicted_SO": 0.802
},
"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.5648,
"predicted_3B": 0.0013,
"predicted_AB": 6.2362,
"predicted_AVG": 0.2241,
"predicted_BB": 0.4286,
"predicted_H": 1.0806,
"predicted_HBP": 0.007,
"predicted_HR": 0.0792,
"predicted_OBP": 0.2624,
"predicted_R": 0.7766,
"predicted_RBI": 0.5453,
"predicted_SLG": 0.351,
"predicted_SO": 1.807
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.365,
"after": 0.5648,
"delta": 0.1998,
"percent_delta": 0.5474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.552,
"after": 6.2362,
"delta": 2.6842,
"percent_delta": 0.7557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2241,
"delta": -0.0049,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.26,
"after": 0.4286,
"delta": 0.1686,
"percent_delta": 0.6485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.29,
"after": 1.0806,
"delta": 0.7906,
"percent_delta": 2.7262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0792,
"delta": 0.0492,
"percent_delta": 1.64,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.26,
"after": 0.2624,
"delta": 0.0024,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.7766,
"delta": 0.3076,
"percent_delta": 0.6559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.5453,
"delta": 0.3953,
"percent_delta": 2.6353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.351,
"delta": -0.003,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.802,
"after": 1.807,
"delta": 1.005,
"percent_delta": 1.2531,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.552,
"after": 6.2362,
"delta": 2.6842,
"percent_delta": 0.7557,
"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": 2,
"last_10": 5,
"season": 30
}
},
{
"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.5648,
"predicted_3B": 0.0013,
"predicted_AB": 6.2362,
"predicted_AVG": 0.1704,
"predicted_BB": 0.4251,
"predicted_H": 1.0626,
"predicted_HBP": 0.007,
"predicted_HR": 0.0782,
"predicted_OBP": 0.2233,
"predicted_R": 0.7538,
"predicted_RBI": 0.5293,
"predicted_SLG": 0.299,
"predicted_SO": 1.8218
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5648,
"after": 0.5648,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.2362,
"after": 6.2362,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2241,
"after": 0.1704,
"delta": -0.0537,
"percent_delta": -0.2396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4286,
"after": 0.4251,
"delta": -0.0035,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0806,
"after": 1.0626,
"delta": -0.018,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0792,
"after": 0.0782,
"delta": -0.001,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2624,
"after": 0.2233,
"delta": -0.0391,
"percent_delta": -0.149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7766,
"after": 0.7538,
"delta": -0.0228,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5453,
"after": 0.5293,
"delta": -0.016,
"percent_delta": -0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.299,
"delta": -0.052,
"percent_delta": -0.1481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.807,
"after": 1.8218,
"delta": 0.0148,
"percent_delta": 0.0082,
"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.2241,
"after": 0.1704,
"delta": -0.0537,
"percent_delta": -0.2396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.24), rates preserved: AVG=0.170 HR/AB=0.013",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5648,
"after": 1.0,
"delta": 0.4352,
"percent_delta": 0.7705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.2362,
"after": 6.0,
"delta": -0.2362,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4251,
"after": 0.0,
"delta": -0.4251,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0626,
"after": 1.0,
"delta": -0.0626,
"percent_delta": -0.0589,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0782,
"after": 0.0,
"delta": -0.0782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5293,
"after": 1.0,
"delta": 0.4707,
"percent_delta": 0.8893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8218,
"after": 2.0,
"delta": 0.1782,
"percent_delta": 0.0978,
"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.5293,
"after": 1.0,
"delta": 0.4707,
"percent_delta": 0.8893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4251,
"after": 0.0,
"delta": -0.4251,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7538,
"after": 1.0,
"delta": 0.2462,
"percent_delta": 0.3266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7538,
"after": 1.0,
"delta": 0.2462,
"percent_delta": 0.3266,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.1704,
"after": 0.167,
"delta": -0.0034,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2233,
"after": 0.167,
"delta": -0.0563,
"percent_delta": -0.2521,
"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.299,
"after": 0.333,
"delta": 0.034,
"percent_delta": 0.1137,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.299,
"after": 0.333,
"delta": 0.034,
"percent_delta": 0.1137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2233,
"after": 0.167,
"delta": -0.0563,
"percent_delta": -0.2521,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 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.1704,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2233,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.299,
"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.167,
"after": 0.1704,
"delta": 0.0034,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.2233,
"delta": 0.0563,
"percent_delta": 0.3373,
"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.333,
"after": 0.299,
"delta": -0.034,
"percent_delta": -0.1022,
"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_OBP",
"before": 0.167,
"after": 0.2233,
"delta": 0.0563,
"percent_delta": 0.3373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.299,
"delta": -0.034,
"percent_delta": -0.1022,
"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.365,
"after": 0.0,
"delta": -0.365,
"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.552,
"after": 4.0,
"delta": 0.448,
"percent_delta": 0.1261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.1704,
"delta": -0.0586,
"percent_delta": -0.2559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.26,
"after": 0.2233,
"delta": -0.0367,
"percent_delta": -0.1412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 1.0,
"delta": 0.531,
"percent_delta": 1.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.299,
"delta": -0.055,
"percent_delta": -0.1554,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.802,
"after": 1.0,
"delta": 0.198,
"percent_delta": 0.2469,
"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_H",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.365,
"after": 0.0,
"delta": -0.365,
"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.365 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.552 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.260 | - |
| predicted_H | 0.290 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.260 | - |
| predicted_R | 0.469 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.354 | - |
| predicted_SO | 0.802 | - |
Final model 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.565 | 0.200 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.236 | 2.684 |
| predicted_AVG | 0.224 | -0.005 |
| predicted_BB | 0.429 | 0.169 |
| predicted_H | 1.081 | 0.791 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.079 | 0.049 |
| predicted_OBP | 0.262 | 0.002 |
| predicted_R | 0.777 | 0.308 |
| predicted_RBI | 0.545 | 0.395 |
| predicted_SLG | 0.351 | -0.003 |
| predicted_SO | 1.807 | 1.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.565 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.236 | 0.000 |
| predicted_AVG | 0.170 | -0.054 |
| predicted_BB | 0.425 | -0.004 |
| predicted_H | 1.063 | -0.018 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.078 | -0.001 |
| predicted_OBP | 0.223 | -0.039 |
| predicted_R | 0.754 | -0.023 |
| predicted_RBI | 0.529 | -0.016 |
| predicted_SLG | 0.299 | -0.052 |
| predicted_SO | 1.822 | 0.015 |
AB rounded to 6 (raw=6.24), rates preserved: AVG=0.170 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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 | 1.000 | 0.435 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.236 |
| predicted_AVG | 0.167 | -0.003 |
| predicted_BB | 0.000 | -0.425 |
| predicted_H | 1.000 | -0.063 |
| predicted_HR | 0.000 | -0.078 |
| predicted_OBP | 0.167 | -0.056 |
| predicted_R | 1.000 | 0.246 |
| predicted_RBI | 1.000 | 0.471 |
| predicted_SLG | 0.333 | 0.034 |
| predicted_SO | 2.000 | 0.178 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 19.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 13.000 | 0.0526 | 0.0526 | 0.1053 | 0.0526 | 0.0000 | 0.0000 | 0.0000 | 0.6842 |
| last_10 | 0.20 | 5 | - | 28.000 | 3.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 17.000 | 0.1071 | 0.1667 | 0.1429 | 0.1071 | 0.0000 | 0.0714 | 0.0714 | 0.6071 |
| season | 0.60 | 30 | - | 341.000 | 88.000 | 35.000 | 0.000 | 6.000 | 44.000 | 45.000 | 25.000 | 77.000 | 0.2581 | 0.3087 | 0.4135 | 0.2581 | 0.0176 | 0.1290 | 0.0733 | 0.2258 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8320 |
| predicted_3B | 0.0030 |
| predicted_AB | 9.8260 |
| predicted_AVG | 0.2176 |
| predicted_BB | 0.6540 |
| predicted_H | 2.1380 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.2657 |
| predicted_R | 1.1880 |
| predicted_RBI | 1.0740 |
| predicted_SLG | 0.3471 |
| predicted_SO | 3.1510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3650 | 0.8320 | 0.5648 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.5520 | 9.8260 | 6.2362 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2176 | 0.2241 | model_form_blend |
| predicted_BB | 0.2600 | 0.6540 | 0.4286 | model_form_blend |
| predicted_H | 0.2900 | 2.1380 | 1.0806 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0300 | 0.1450 | 0.0792 | model_form_blend |
| predicted_OBP | 0.2600 | 0.2657 | 0.2624 | model_form_blend |
| predicted_R | 0.4690 | 1.1880 | 0.7766 | model_form_blend |
| predicted_RBI | 0.1500 | 1.0740 | 0.5453 | model_form_blend |
| predicted_SLG | 0.3540 | 0.3471 | 0.3510 | model_form_blend |
| predicted_SO | 0.8020 | 3.1510 | 1.8070 | 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 | 97 |
| Season rows before report date | 97 |
| Report year | 2026 |
| Profile rows used | 96 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.258 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260530_BOS@CLE |
| game_type | full |
| mlbID | 655316 |
| playerID | 655316 |
| playerName | Andruw Monasterio |
| pos | SS |
| started | True |
| startingPosition | DH |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-30 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.291 |
| sl_xwoba | 0.287 |
| sl_xba | 0.248 |
| sl_xslg | 0.355 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 38.6 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 18.0 |
| sl_swing_percent | 47.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.333 | 1.000 | 1.000 | Hitting_2B | 0.324 | 1.000 | 0.676 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.072 | 4.000 | 5.000 | Hitting_AB | 2.986 | 3.000 | 1.014 | 1.000 |
| predicted_AVG | 0.251 | 0.500 | 0.200 | Hitting_AVG | 0.241 | 0.333 | 0.259 | 0.167 |
| predicted_BB | 0.319 | 0.000 | 1.000 | Hitting_BB | 0.310 | 1.000 | -0.310 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.240 | 2.000 | 1.000 | Hitting_H | 0.718 | 1.000 | 1.282 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.299 | 0.500 | 0.333 | Hitting_OBP | 0.332 | 0.500 | 0.168 | 0.000 |
| predicted_R | 0.319 | 1.000 | 1.000 | Hitting_R | 0.310 | 2.000 | 0.690 | -1.000 |
| predicted_RBI | 0.160 | 2.000 | 1.000 | Hitting_RBI | 0.451 | 0.000 | 1.549 | 2.000 |
| predicted_SLG | 0.384 | 0.750 | 0.400 | Hitting_SLG | 0.349 | 0.667 | 0.401 | 0.083 |
| predicted_SO | 0.754 | 2.000 | 1.000 | Hitting_SO | 0.732 | 1.000 | 1.268 | 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_RBI: 0.1600 -> 2.0000 (boost 1.8400, better) |
| Biggest Deboost | predicted_BB: 0.3190 -> 0.0000 (deboost -0.3190, 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 | 10 | 8 | 2 | 7 | 3 | predicted_AB: 3.0720 -> 5.3017 (boost 2.2297, better) | predicted_SLG: 0.3840 -> 0.3692 (deboost -0.0148, 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.3692 -> 0.3004 (deboost -0.0688, 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 | 5 | 2 | predicted_2B: 0.5660 -> 1.0000 (boost 0.4340, better) | predicted_SO: 1.5097 -> 1.0000 (deboost -0.5097, better) | AB rounded to 5 (raw=5.30), rates preserved: AVG=0.176 HR/AB=0.006 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5926 -> 1.0000 (boost 0.4074, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3004 -> 0.4000 (boost 0.0996, better) | - | 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_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4000 -> 0.3004 (deboost -0.0996, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "657136",
"player_name": "Connor Wong",
"position": "DH",
"team": "BOS",
"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.333,
"predicted_3B": 0.0,
"predicted_AB": 3.072,
"predicted_AVG": 0.251,
"predicted_BB": 0.319,
"predicted_H": 0.24,
"predicted_HR": 0.03,
"predicted_OBP": 0.299,
"predicted_R": 0.319,
"predicted_RBI": 0.16,
"predicted_SLG": 0.384,
"predicted_SO": 0.754
},
"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.566,
"predicted_3B": 0.0017,
"predicted_AB": 5.3017,
"predicted_AVG": 0.2424,
"predicted_BB": 0.6105,
"predicted_H": 0.9491,
"predicted_HBP": 0.203,
"predicted_HR": 0.0304,
"predicted_OBP": 0.3112,
"predicted_R": 0.6105,
"predicted_RBI": 0.6173,
"predicted_SLG": 0.3692,
"predicted_SO": 1.4974
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.333,
"after": 0.566,
"delta": 0.233,
"percent_delta": 0.6997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0017,
"delta": 0.0017,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.072,
"after": 5.3017,
"delta": 2.2297,
"percent_delta": 0.7258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2424,
"delta": -0.0086,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.319,
"after": 0.6105,
"delta": 0.2915,
"percent_delta": 0.9138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.9491,
"delta": 0.7091,
"percent_delta": 2.9546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0304,
"delta": 0.0004,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.3112,
"delta": 0.0122,
"percent_delta": 0.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.319,
"after": 0.6105,
"delta": 0.2915,
"percent_delta": 0.9138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.6173,
"delta": 0.4573,
"percent_delta": 2.8581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.3692,
"delta": -0.0148,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.754,
"after": 1.4974,
"delta": 0.7434,
"percent_delta": 0.9859,
"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": 3.072,
"after": 5.3017,
"delta": 2.2297,
"percent_delta": 0.7258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.3692,
"delta": -0.0148,
"percent_delta": -0.0385,
"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": 3,
"last_10": 4,
"season": 22
}
},
{
"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.566,
"predicted_3B": 0.0017,
"predicted_AB": 5.3017,
"predicted_AVG": 0.176,
"predicted_BB": 0.6055,
"predicted_H": 0.9333,
"predicted_HBP": 0.203,
"predicted_HR": 0.03,
"predicted_OBP": 0.2605,
"predicted_R": 0.5926,
"predicted_RBI": 0.5992,
"predicted_SLG": 0.3004,
"predicted_SO": 1.5097
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.566,
"after": 0.566,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3017,
"after": 5.3017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2424,
"after": 0.176,
"delta": -0.0664,
"percent_delta": -0.2739,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6105,
"after": 0.6055,
"delta": -0.005,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9491,
"after": 0.9333,
"delta": -0.0158,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.203,
"after": 0.203,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0304,
"after": 0.03,
"delta": -0.0004,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3112,
"after": 0.2605,
"delta": -0.0507,
"percent_delta": -0.1629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6105,
"after": 0.5926,
"delta": -0.0179,
"percent_delta": -0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6173,
"after": 0.5992,
"delta": -0.0181,
"percent_delta": -0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3692,
"after": 0.3004,
"delta": -0.0688,
"percent_delta": -0.1863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4974,
"after": 1.5097,
"delta": 0.0123,
"percent_delta": 0.0082,
"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.3692,
"after": 0.3004,
"delta": -0.0688,
"percent_delta": -0.1863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.30), rates preserved: AVG=0.176 HR/AB=0.006",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.566,
"after": 1.0,
"delta": 0.434,
"percent_delta": 0.7668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3017,
"after": 5.0,
"delta": -0.3017,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6055,
"after": 1.0,
"delta": 0.3945,
"percent_delta": 0.6515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9333,
"after": 1.0,
"delta": 0.0667,
"percent_delta": 0.0715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.203,
"after": 0.0,
"delta": -0.203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5992,
"after": 1.0,
"delta": 0.4008,
"percent_delta": 0.6689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5097,
"after": 1.0,
"delta": -0.5097,
"percent_delta": -0.3376,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.566,
"after": 1.0,
"delta": 0.434,
"percent_delta": 0.7668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5097,
"after": 1.0,
"delta": -0.5097,
"percent_delta": -0.3376,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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_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.5926,
"after": 1.0,
"delta": 0.4074,
"percent_delta": 0.6875,
"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.5926,
"after": 1.0,
"delta": 0.4074,
"percent_delta": 0.6875,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.4,
"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.176,
"after": 0.2,
"delta": 0.024,
"percent_delta": 0.1364,
"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.2605,
"after": 0.333,
"delta": 0.0725,
"percent_delta": 0.2783,
"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.3004,
"after": 0.4,
"delta": 0.0996,
"percent_delta": 0.3316,
"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.3004,
"after": 0.4,
"delta": 0.0996,
"percent_delta": 0.3316,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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": 4.0,
"predicted_AVG": 0.176,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2605,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3004,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2,
"after": 0.176,
"delta": -0.024,
"percent_delta": -0.1199,
"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.2605,
"delta": -0.0725,
"percent_delta": -0.2178,
"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.4,
"after": 0.3004,
"delta": -0.0996,
"percent_delta": -0.249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.3004,
"delta": -0.0996,
"percent_delta": -0.249,
"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.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"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.072,
"after": 4.0,
"delta": 0.928,
"percent_delta": 0.3021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.176,
"delta": -0.075,
"percent_delta": -0.2988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.319,
"after": 0.0,
"delta": -0.319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 2.0,
"delta": 1.76,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2605,
"delta": -0.0385,
"percent_delta": -0.1288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.319,
"after": 1.0,
"delta": 0.681,
"percent_delta": 2.1348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 2.0,
"delta": 1.84,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.3004,
"delta": -0.0836,
"percent_delta": -0.2177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.754,
"after": 2.0,
"delta": 1.246,
"percent_delta": 1.6525,
"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_RBI",
"before": 0.16,
"after": 2.0,
"delta": 1.84,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.319,
"after": 0.0,
"delta": -0.319,
"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.333 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.072 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.319 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.319 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.384 | - |
| predicted_SO | 0.754 | - |
Final model 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.566 | 0.233 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 5.302 | 2.230 |
| predicted_AVG | 0.242 | -0.009 |
| predicted_BB | 0.611 | 0.292 |
| predicted_H | 0.949 | 0.709 |
| predicted_HBP | 0.203 | - |
| predicted_HR | 0.030 | 0.000 |
| predicted_OBP | 0.311 | 0.012 |
| predicted_R | 0.611 | 0.292 |
| predicted_RBI | 0.617 | 0.457 |
| predicted_SLG | 0.369 | -0.015 |
| predicted_SO | 1.497 | 0.743 |
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.566 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 5.302 | 0.000 |
| predicted_AVG | 0.176 | -0.066 |
| predicted_BB | 0.606 | -0.005 |
| predicted_H | 0.933 | -0.016 |
| predicted_HBP | 0.203 | 0.000 |
| predicted_HR | 0.030 | -0.000 |
| predicted_OBP | 0.261 | -0.051 |
| predicted_R | 0.593 | -0.018 |
| predicted_RBI | 0.599 | -0.018 |
| predicted_SLG | 0.300 | -0.069 |
| predicted_SO | 1.510 | 0.012 |
AB rounded to 5 (raw=5.30), rates preserved: AVG=0.176 HR/AB=0.006
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.434 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 5.000 | -0.302 |
| predicted_AVG | 0.200 | 0.024 |
| predicted_BB | 1.000 | 0.394 |
| predicted_H | 1.000 | 0.067 |
| predicted_HR | 0.000 | -0.030 |
| predicted_OBP | 0.333 | 0.073 |
| predicted_R | 1.000 | 0.407 |
| predicted_RBI | 1.000 | 0.401 |
| predicted_SLG | 0.400 | 0.100 |
| predicted_SO | 1.000 | -0.510 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.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 | 3 | - | 17.000 | 3.000 | 2.000 | 0.000 | 0.000 | 3.000 | 3.000 | 4.000 | 10.000 | 0.1765 | 0.3333 | 0.2941 | 0.1765 | 0.0000 | 0.1765 | 0.2353 | 0.5882 |
| last_10 | 0.20 | 4 | - | 36.000 | 7.000 | 6.000 | 0.000 | 0.000 | 3.000 | 7.000 | 5.000 | 17.000 | 0.1944 | 0.2927 | 0.3611 | 0.1944 | 0.0000 | 0.0833 | 0.1389 | 0.4722 |
| season | 0.60 | 22 | - | 212.000 | 51.000 | 23.000 | 0.000 | 0.000 | 32.000 | 22.000 | 22.000 | 52.000 | 0.2406 | 0.3320 | 0.3491 | 0.2406 | 0.0000 | 0.1509 | 0.1038 | 0.2453 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8910 |
| predicted_3B | 0.0040 |
| predicted_AB | 8.4110 |
| predicted_AVG | 0.2305 |
| predicted_BB | 1.0170 |
| predicted_H | 1.9380 |
| predicted_HBP | 0.2030 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.3283 |
| predicted_R | 1.0170 |
| predicted_RBI | 1.2550 |
| predicted_SLG | 0.3485 |
| predicted_SO | 2.5340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3330 | 0.8910 | 0.5660 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0017 | model_form_blend |
| predicted_AB | 3.0720 | 8.4110 | 5.3017 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2305 | 0.2424 | model_form_blend |
| predicted_BB | 0.3190 | 1.0170 | 0.6105 | model_form_blend |
| predicted_H | 0.2400 | 1.9380 | 0.9491 | model_form_blend |
| predicted_HBP | - | 0.2030 | 0.2030 | form_only |
| predicted_HR | 0.0300 | 0.0310 | 0.0304 | model_form_blend |
| predicted_OBP | 0.2990 | 0.3283 | 0.3112 | model_form_blend |
| predicted_R | 0.3190 | 1.0170 | 0.6105 | model_form_blend |
| predicted_RBI | 0.1600 | 1.2550 | 0.6173 | model_form_blend |
| predicted_SLG | 0.3840 | 0.3485 | 0.3692 | model_form_blend |
| predicted_SO | 0.7540 | 2.5340 | 1.4974 | 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 | 71 |
| Season rows before report date | 71 |
| Report year | 2026 |
| Profile rows used | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260531_BOS@CLE |
| game_type | full |
| mlbID | 657136 |
| playerID | 657136 |
| playerName | Connor Wong |
| pos | C |
| started | True |
| startingPosition | DH |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.324 |
| sl_xwoba | 0.286 |
| sl_xba | 0.217 |
| sl_xslg | 0.33 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 37.3 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 25.5 |
| 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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.909 | 0.000 | 0.091 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 3.182 | 0.000 | -0.182 | 3.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 6.455 | 4.000 | -0.455 | 2.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 4.900 | 7.000 | -0.800 | -2.900 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 3.636 | 5.000 | 4.364 | 3.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_ER: 2.0000 -> 3.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_quality_floor | 3 | 2 | 1 | 0 | 3 | predicted_ER: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse) | Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "678394",
"player_name": "Brayan Bello",
"position": "Starter",
"team": "BOS",
"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": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.3333,
"predicted_SO": 8.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"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": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"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.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_R": 3.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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.1,
"after": 4.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 2.0,
"after": 2.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": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"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.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.333 | - |
| predicted_SO | 8.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 | 2.000 | 0.000 |
| predicted_ER | 3.000 | 1.000 |
| predicted_H | 6.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.100 | -0.233 |
| predicted_SO | 8.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 | 30.100 | 9.000 | 28.000 | 6.000 | 23.000 | 2.000 | 2.6703 | 1.1209 | 0.2967 | 0.9231 | 0.1978 | 0.7582 | 0.0659 |
| last_10 | 0.35 | 10 | 51.100 | 30.000 | 63.000 | 18.000 | 38.000 | 9.000 | 5.2597 | 1.5779 | 0.5844 | 1.2273 | 0.3507 | 0.7403 | 0.1753 |
| season | 0.20 | 11 | 56.000 | 35.000 | 71.000 | 21.000 | 40.000 | 10.000 | 5.6250 | 1.6429 | 0.6250 | 1.2679 | 0.3750 | 0.7143 | 0.1786 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5900 |
| predicted_ER | 2.3930 |
| predicted_ERA | 4.2222 |
| predicted_H | 5.3760 |
| predicted_HR | 0.6630 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.1060 |
| predicted_WHIP | 1.3657 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.5900 | 1.7876 | model_form_blend |
| predicted_ER | 2.0000 | 2.3930 | 2.2036 | model_form_blend |
| predicted_ERA | - | 4.2222 | 4.2222 | form_only |
| predicted_H | 5.0000 | 5.3760 | 5.1948 | model_form_blend |
| predicted_HR | 0.0000 | 0.6630 | 0.3434 | model_form_blend |
| predicted_IP | 4.1000 | 5.0000 | 4.2000 | model_form_blend |
| predicted_SO | 8.0000 | 4.1060 | 5.9830 | model_form_blend |
| predicted_WHIP | - | 1.3657 | 1.3657 | 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 | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 11 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.1 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 8 |
| HR | 0 |
| BF | 21 |
| Pitches | 85 |
| 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 | 24 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.63 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 8 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 63 |
| Pitching_R | 0 |
| Pitching_SO | 5 |
| Pitching_Strikes | 42 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260529_BOS@CLE |
| game_type | full |
| mlbID | 678394 |
| playerID | 678394 |
| playerName | Brayan Bello |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-29 |
| sl_k_percent | 15.6 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.37 |
| sl_xwoba | 0.376 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 42.6 |
| sl_whiff_percent | 25.7 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 78.935311563 |
| sl_avg_hyper_speed | 95.198465812 |
| 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.700 | 0.000 | -0.700 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.550 | 0.000 | -0.550 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.950 | 0.000 | -0.950 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.410 | 1.100 | -0.310 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.750 | 1.000 | -0.750 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663558",
"player_name": "Jovani Morán",
"position": "Middle Reliever",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 3.000 | 4.000 | 0.000 | 7.000 | 1.000 | 4.7647 | 0.7059 | 0.5294 | 0.7059 | 0.0000 | 1.2353 | 0.1765 |
| last_10 | 0.35 | 10 | 11.200 | 6.000 | 9.000 | 3.000 | 18.000 | 3.000 | 4.6286 | 1.0286 | 0.5143 | 0.7714 | 0.2571 | 1.5429 | 0.2571 |
| season | 0.20 | 19 | 31.000 | 10.000 | 18.000 | 12.000 | 35.000 | 5.000 | 2.9032 | 0.9677 | 0.3226 | 0.5806 | 0.3871 | 1.1290 | 0.1613 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3310 |
| predicted_ER | 0.6210 |
| predicted_ERA | 4.3438 |
| predicted_H | 1.0520 |
| predicted_HR | 0.2220 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4810 |
| predicted_WHIP | 1.0743 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3310 | 0.1523 | model_form_blend |
| predicted_ER | 0.0000 | 0.6210 | 0.2857 | model_form_blend |
| predicted_ERA | - | 4.3438 | 4.3438 | form_only |
| predicted_H | 0.0000 | 1.0520 | 0.4839 | model_form_blend |
| predicted_HR | 0.0000 | 0.2220 | 0.1021 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.4810 | 1.2213 | model_form_blend |
| predicted_WHIP | - | 1.0743 | 1.0743 | 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 | 20 |
| Season rows before report date | 20 |
| Report year | 2026 |
| Profile rows used | 19 |
| 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 | 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.19 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260531_BOS@CLE |
| game_type | full |
| mlbID | 663558 |
| playerID | 663558 |
| playerName | Jovani Morán |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-31 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.274 |
| sl_xwoba | 0.273 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 28.9 |
| sl_whiff_percent | 31.6 |
| sl_swing_percent | 46.1 |
| sl_avg_best_speed | 78.452456486 |
| sl_avg_hyper_speed | 93.438877703 |
| 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.368 | 0.000 | 0.632 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.474 | 1.000 | -0.474 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.958 | 1.000 | 0.142 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.316 | 2.000 | -1.316 | -2.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": "547973",
"player_name": "Aroldis Chapman",
"position": "Middle Reliever",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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 | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 2.000 | 2.000 | 6.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.4000 | 0.4000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 4.000 | 4.000 | 15.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.4000 | 0.4000 | 1.5000 | 0.0000 |
| season | 0.20 | 19 | 18.200 | 1.000 | 9.000 | 7.000 | 25.000 | 0.000 | 0.4821 | 0.8571 | 0.0536 | 0.4821 | 0.3750 | 1.3393 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3790 |
| predicted_ER | 0.2820 |
| predicted_ERA | 2.5414 |
| predicted_H | 0.7270 |
| predicted_HR | 0.0790 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1070 |
| predicted_WHIP | 1.1058 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3790 | 0.7474 | model_form_blend |
| predicted_ER | 0.0000 | 0.2820 | 0.1147 | model_form_blend |
| predicted_ERA | - | 2.5414 | 2.5414 | form_only |
| predicted_H | 0.0000 | 0.7270 | 0.2957 | model_form_blend |
| predicted_HR | 0.0000 | 0.0790 | 0.0321 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1070 | 0.4502 | model_form_blend |
| predicted_WHIP | - | 1.1058 | 1.1058 | 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 | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.48 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260531_BOS@CLE |
| game_type | full |
| mlbID | 547973 |
| playerID | 547973 |
| playerName | Aroldis Chapman |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-31 |
| sl_k_percent | 34.7 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.211 |
| sl_xwoba | 0.273 |
| sl_sweet_spot_percent | 20.5 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 46.2 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 50.2 |
| sl_avg_best_speed | 76.905575263 |
| sl_avg_hyper_speed | 96.053327632 |
| 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.308 | 0.000 | -0.308 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.423 | 0.000 | -0.423 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.962 | 0.000 | -0.962 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.800 | 1.200 | 0.200 | -0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.962 | 3.000 | 0.038 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 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 | 1 | 0 | 1 | 1 | 0 | - | predicted_H: 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": "669711",
"player_name": "Greg Weissert",
"position": "Middle Reliever",
"team": "BOS",
"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": 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": 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": 1.0,
"after": 0.0,
"delta": -1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "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": 1.0,
"after": 0.0,
"delta": -1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "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 | 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.200 | 2.000 | 4.000 | 2.000 | 6.000 | 1.000 | 3.1765 | 1.0588 | 0.3529 | 0.7059 | 0.3529 | 1.0588 | 0.1765 |
| last_10 | 0.35 | 10 | 11.100 | 2.000 | 6.000 | 3.000 | 7.000 | 1.000 | 1.5882 | 0.7941 | 0.1765 | 0.5294 | 0.2647 | 0.6177 | 0.0882 |
| season | 0.20 | 25 | 25.000 | 10.000 | 23.000 | 7.000 | 25.000 | 5.000 | 3.6000 | 1.2000 | 0.4000 | 0.9200 | 0.2800 | 1.0000 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3370 |
| predicted_ER | 0.3920 |
| predicted_ERA | 3.5294 |
| predicted_H | 0.8220 |
| predicted_HR | 0.1440 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9170 |
| predicted_WHIP | 1.1596 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3370 | 0.1474 | model_form_blend |
| predicted_ER | 0.0000 | 0.3920 | 0.1714 | model_form_blend |
| predicted_ERA | - | 3.5294 | 3.5294 | form_only |
| predicted_H | 1.0000 | 0.8220 | 0.9222 | model_form_blend |
| predicted_HR | 0.0000 | 0.1440 | 0.0630 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9170 | 0.9637 | model_form_blend |
| predicted_WHIP | - | 1.1596 | 1.1596 | 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 | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.96 |
| 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 | 1.2 |
| Pitching_Pitches | 25 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260602_BAL@BOS |
| game_type | full |
| mlbID | 669711 |
| playerID | 669711 |
| playerName | Greg Weissert |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-02 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.331 |
| sl_xwoba | 0.292 |
| sl_sweet_spot_percent | 28.8 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 31.5 |
| sl_whiff_percent | 23.5 |
| sl_swing_percent | 46.6 |
| sl_avg_best_speed | 75.826406667 |
| sl_avg_hyper_speed | 93.137561667 |
| 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.364 | 1.000 | 0.636 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.364 | 0.000 | -0.364 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.818 | 1.000 | 0.182 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.782 | 1.100 | 0.218 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.273 | 2.000 | -0.273 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| 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 | 1 | 0 | 1 | 1 | 0 | - | 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": "686580",
"player_name": "Justin Slaten",
"position": "Middle Reliever",
"team": "BOS",
"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": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 1,
"worse_metrics": 0,
"biggest_boost": null,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 1,
"worse_metrics": 0,
"biggest_boost": null,
"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 | 1.000 | - |
| predicted_HR | 1.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 | 4.000 | 6.000 | 2.000 | 8.000 | 2.000 | 7.7143 | 1.7143 | 0.8571 | 1.2857 | 0.4286 | 1.7143 | 0.4286 |
| last_10 | 0.35 | 10 | 9.000 | 4.000 | 9.000 | 3.000 | 12.000 | 2.000 | 4.0000 | 1.3333 | 0.4444 | 1.0000 | 0.3333 | 1.3333 | 0.2222 |
| season | 0.20 | 11 | 10.000 | 4.000 | 9.000 | 4.000 | 14.000 | 2.000 | 3.6000 | 1.3000 | 0.4000 | 0.9000 | 0.4000 | 1.4000 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3730 |
| predicted_ER | 0.5220 |
| predicted_ERA | 4.6960 |
| predicted_H | 0.9990 |
| predicted_HR | 0.1860 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1040 |
| predicted_WHIP | 1.3724 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3730 | 0.7824 | model_form_blend |
| predicted_ER | 1.0000 | 0.5220 | 0.8341 | model_form_blend |
| predicted_ERA | - | 4.6960 | 4.6960 | form_only |
| predicted_H | 1.0000 | 0.9990 | 0.9997 | model_form_blend |
| predicted_HR | 1.0000 | 0.1860 | 0.7175 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1040 | 1.0361 | model_form_blend |
| predicted_WHIP | - | 1.3724 | 1.3724 | 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 | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 11 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 1 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.60 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 21 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260530_BOS@CLE |
| game_type | full |
| mlbID | 686580 |
| playerID | 686580 |
| playerName | Justin Slaten |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-30 |
| sl_k_percent | 32.6 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.317 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 36.0 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 49.7 |
| sl_avg_best_speed | 78.317470769 |
| sl_avg_hyper_speed | 94.0746912 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | CLE 2 - 3 NYY | NYY | 0.567 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CLE 2 - 4 NYY | NYY | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| 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 | 7 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5666 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 4.567 | 5.761 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 3 | 0.5666 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 3 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 2 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5140800000000001,
"base_low_score_probability": 0.42424242424242425,
"low_score_signal_threshold": 0.5042424242424243,
"low_score_signal_strength": 0.08983757575757584,
"confidence": 0.7058800000000001,
"factors": {
"environmental": 1.1016000000000001,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.2117600000000002
},
"prediction": "low_scoring",
"expected_total_runs": 5,
"pre_simulation_expected_total_runs": 7.0,
"low_score_model_expected_total_runs": 7.0,
"final_simulation_total_runs": 6,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 92,
"near_bucket_sample_size": 11,
"medium_bucket_sample_size": 23,
"wide_bucket_sample_size": 92,
"global_sample_size": 107,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.5326,
"bayesian_hit_rate": 0.5273,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8364,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6441,
"calibrated_pick_probability": 0.5666,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "NYY",
"games": 61,
"wins": 36,
"losses": 25,
"win_pct": 0.5901639344262295,
"runs_scored": 313,
"runs_allowed": 221,
"run_differential": 92,
"run_differential_per_game": 1.5081967213114753,
"available": true
},
"away": {
"team": "CLE",
"games": 63,
"wins": 36,
"losses": 27,
"win_pct": 0.5714285714285714,
"runs_scored": 263,
"runs_allowed": 256,
"run_differential": 7,
"run_differential_per_game": 0.1111111111111111,
"available": true
},
"run_differential_edge_per_game": 1.3971,
"win_pct_edge": 0.0187,
"quality_edge": 1.4252,
"margin_adjustment": 0.5986,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.718,
"home_runs": 3.414,
"home_win_probability": 0.6441
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "NYY",
"guardrail_predicted_team": "NYY",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "NYY",
"output_opponent_team": "CLE",
"final_score_winner": "NYY",
"pre_simulation_winner": "NYY",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "CLE 2 - 3 NYY",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "CLE 2 - 4 NYY",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "NYY",
"games": 61,
"wins": 36,
"losses": 25,
"win_pct": 0.5901639344262295,
"runs_scored": 313,
"runs_allowed": 221,
"run_differential": 92,
"run_differential_per_game": 1.5081967213114753,
"available": true
},
"away": {
"team": "CLE",
"games": 63,
"wins": 36,
"losses": 27,
"win_pct": 0.5714285714285714,
"runs_scored": 263,
"runs_allowed": 256,
"run_differential": 7,
"run_differential_per_game": 0.1111111111111111,
"available": true
}
}
}{
"applied": false,
"raw_margin": 1.6956,
"final_margin": 1.6956,
"margin_cap": 4.25,
"season_quality_edge": 1.4252,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.566612,
"final_confidence": 0.566612,
"confidence_cap": 0.66,
"score_gap": 1.6956,
"calibration_sample_size": 92,
"calibration_empirical_hit_rate": 0.5326,
"calibration_bayesian_hit_rate": 0.5273,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.4252,
"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": 2,
"home_runs": 3,
"score_text": "CLE 2 - 3 NYY",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "CLE 2 - 4 NYY",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 2,
"home_runs": 3,
"confidence": 0.566612,
"home_win_probability": 0.566612,
"away_win_probability": 0.433388,
"predicted_score_text": "CLE 2 - 3 NYY",
"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": "CLE",
"original_runs": 2,
"run_delta": -0.2216,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 53.0,
"quality": -0.09739992582169073,
"contact": -0.24099774000988072,
"power": -0.6196534110166457,
"discipline": 0.46297545245040883,
"xwoba": 0.2933396226415094,
"recent_xwoba": 0.2933396226415094,
"barrel": 4.947169811320755,
"ab_hard_contact": -0.27067828322601145,
"ab_bat_speed": 67.58368112823507,
"ab_strikeout_rate": 0.18557761184339722,
"available_players": 8,
"top_players": [
{
"player_id": "680757",
"player_name": "Steven Kwan",
"position": "LF",
"weight": 8.0,
"quality": -0.6840138676407549,
"contact": -0.6437880583446125,
"power": -1.605697663549458,
"discipline": 1.6327687976156644,
"xwoba": 0.295,
"recent_xwoba": 0.295,
"barrel": 0.6,
"ab_hard_contact": -0.7891913662272521,
"ab_bat_speed": 61.68724537037036,
"ab_strikeout_rate": 0.10337690631808279,
"available": 1.0
},
{
"player_id": "608070",
"player_name": "José Ramírez",
"position": "3B",
"weight": 7.0,
"quality": 0.9327651470993022,
"contact": 1.200499814151609,
"power": 0.5701923009890733,
"discipline": 1.2952468944099376,
"xwoba": 0.37,
"recent_xwoba": 0.37,
"barrel": 7.0,
"ab_hard_contact": 0.5484174483528729,
"ab_bat_speed": 69.14786904761904,
"ab_strikeout_rate": 0.1242559523809524,
"available": 1.0
},
{
"player_id": "595978",
"player_name": "Austin Hedges",
"position": "C",
"weight": 6.0,
"quality": -0.26976473794538497,
"contact": -0.5748841711091608,
"power": -1.2920248980114775,
"discipline": 0.2566655452035886,
"xwoba": 0.274,
"recent_xwoba": 0.274,
"barrel": 0.0,
"ab_hard_contact": -0.29345034118196717,
"ab_bat_speed": 66.08498842592593,
"ab_strikeout_rate": 0.21319444444444446,
"available": 1.0
},
{
"player_id": "656413",
"player_name": "Stuart Fairchild",
"position": "CF",
"weight": 3.0,
"quality": -0.0,
"contact": -2.0,
"power": -2.0,
"discipline": -1.9500000000000004,
"xwoba": 0.0,
"recent_xwoba": 0.0,
"barrel": 7.8,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.27378889089306,
"ab_strikeout_rate": 0.22267573696145126,
"available": 0.0
},
{
"player_id": "681807",
"player_name": "David Fry",
"position": "DH",
"weight": 4.0,
"quality": -0.331582007473781,
"contact": -0.9939189363869395,
"power": -0.9500618350844598,
"discipline": 0.2569314182194615,
"xwoba": 0.28,
"recent_xwoba": 0.28,
"barrel": 5.7,
"ab_hard_contact": -0.8359033683558805,
"ab_bat_speed": 68.97549537037038,
"ab_strikeout_rate": 0.305,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "607074",
"player_name": "Carlos Rodón",
"quality": 0.0928674977658487,
"contact": 0.8152715566392745,
"command": -0.23561904761904773,
"movement": 0.4218118058534462,
"xwoba": 0.283,
"whiff": 25.0,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
},
"home": {
"team": "NYY",
"original_runs": 3,
"run_delta": 0.4539,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 56.0,
"quality": 0.2594333075242773,
"contact": 0.27521608408346915,
"power": 0.2601493051825387,
"discipline": 0.2891273059245182,
"xwoba": 0.3369464285714286,
"recent_xwoba": 0.3369464285714286,
"barrel": 8.975,
"ab_hard_contact": 0.01404052541946249,
"ab_bat_speed": 69.03381229286956,
"ab_strikeout_rate": 0.22153625515208625,
"available_players": 9,
"top_players": [
{
"player_id": "700250",
"player_name": "Ben Rice",
"position": "DH",
"weight": 8.0,
"quality": 1.2922275851212448,
"contact": 1.5170592887021437,
"power": 1.8784402301354484,
"discipline": 0.3973089692398696,
"xwoba": 0.4060000000000001,
"recent_xwoba": 0.406,
"barrel": 17.2,
"ab_hard_contact": 0.7768046027089349,
"ab_bat_speed": 70.94105952380953,
"ab_strikeout_rate": 0.23469387755102042,
"available": 1.0
},
{
"player_id": "676609",
"player_name": "José Caballero",
"position": "SS",
"weight": 6.0,
"quality": -0.660128931122402,
"contact": -0.8153249620483154,
"power": -1.1037238666190514,
"discipline": -0.3394759891879459,
"xwoba": 0.287,
"recent_xwoba": 0.287,
"barrel": 3.0,
"ab_hard_contact": -1.2794297133334338,
"ab_bat_speed": 65.39745987654321,
"ab_strikeout_rate": 0.1774074074074074,
"available": 1.0
},
{
"player_id": "641355",
"player_name": "Cody Bellinger",
"position": "LF",
"weight": 7.0,
"quality": 0.8559775730620551,
"contact": 1.1141460686395155,
"power": 0.5088859832356463,
"discipline": 1.3103044340924774,
"xwoba": 0.38,
"recent_xwoba": 0.38,
"barrel": 8.6,
"ab_hard_contact": 0.7712434742367112,
"ab_bat_speed": 69.28407278806584,
"ab_strikeout_rate": 0.13055555555555556,
"available": 1.0
},
{
"player_id": "502671",
"player_name": "Paul Goldschmidt",
"position": "1B",
"weight": 6.0,
"quality": 0.44192061530886295,
"contact": 1.0776531853250784,
"power": 1.1359548141283904,
"discipline": 0.18719332298136634,
"xwoba": 0.384,
"recent_xwoba": 0.384,
"barrel": 13.0,
"ab_hard_contact": 0.3008105682820702,
"ab_bat_speed": 69.01389880952381,
"ab_strikeout_rate": 0.2095238095238095,
"available": 1.0
},
{
"player_id": "663757",
"player_name": "Trent Grisham",
"position": "CF",
"weight": 7.0,
"quality": 0.5437594850540163,
"contact": 0.4022881689685363,
"power": 0.594852202077905,
"discipline": 1.2415560680794058,
"xwoba": 0.341,
"recent_xwoba": 0.341,
"barrel": 12.2,
"ab_hard_contact": -0.01228929177524865,
"ab_bat_speed": 67.3272961406785,
"ab_strikeout_rate": 0.20980392156862743,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "677944",
"player_name": "Slade Cecconi",
"quality": -0.34340964546884806,
"contact": -0.3649156257041388,
"command": -0.4374761904761907,
"movement": -0.4543671545802169,
"xwoba": 0.337,
"whiff": 20.6,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 3,
"predicted_score_text": "CLE 2 - 3 NYY",
"confidence": 0.566612,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "CLE 2 - 3 NYY",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "CLE 2 - 4 NYY",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 CLE | True | 0.9918 | 0.9918 | 1 | 9 | 0 |
| Home NYY | True | 1.0253 | 1.0253 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Rhys Hoskins | 230 | 1.0014 | 0.0185 | neutral | 0.3150 | 0.1840 | 0.3420 | 13.30 | 44.40 | 88.60 | 22.50 | 30.10 | 27.80 | 18.30 | -0.7429 |
| DH | David Fry | 220 | 0.9708 | -0.3895 | negative_batter_regression | 0.2800 | 0.2090 | 0.2840 | 5.70 | 34 | 86.30 | 16.40 | 30.50 | 29.50 | 14.70 | -1.9143 |
| RF | Angel Martínez | 178 | 0.9927 | -0.0975 | neutral | 0.2970 | 0.2480 | 0.3980 | 7.80 | 34.60 | 87.60 | 13.90 | 19 | 21.50 | 2.90 | -0.4857 |
| 2B | Travis Bazzana | 112 | 1.0036 | 0.0485 | neutral | 0.3270 | 0.2590 | 0.3840 | 3.30 | 37.40 | 89.70 | 13.20 | 23.50 | 18.50 | 11.10 | -0.8571 |
| 3B | José Ramírez | 34 | 1.0915 | 1.2202 | neutral | 0.3700 | 0.2890 | 0.4690 | 7 | 45 | 90.70 | 19.80 | 15.90 | 12.70 | 14.10 | 0.8000 |
| CF | Stuart Fairchild | 392 | 0.9532 | -0.6244 | neutral | 0 | 0 | 0 | 7.80 | 40.30 | 89.20 | 14 | 92.30 | 100 | 0 | 0 |
| LF | Steven Kwan | 262 | 0.9569 | -0.5752 | neutral | 0.2950 | 0.2300 | 0.2890 | 0.60 | 8.90 | 82.40 | 14.90 | 8.10 | 10.30 | 14 | 0.4857 |
| C | Austin Hedges | 194 | 0.9717 | -0.3768 | neutral | 0.2740 | 0.2390 | 0.2840 | 0 | 34.40 | 86.40 | 4.70 | 24 | 18.90 | 10 | -0.6286 |
| SS | Brayan Rocchio | 56 | 0.9847 | -0.2041 | negative_batter_regression | 0.3150 | 0.2540 | 0.3580 | 3 | 32.70 | 86.60 | 10.70 | 23.60 | 12.50 | 8.90 | -0.9714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Paul Goldschmidt | 92 | 1.0500 | 0.6668 | neutral | 0.3840 | 0.2850 | 0.5170 | 13 | 46.70 | 89.20 | 14.20 | 23.40 | 20.60 | 9.60 | -0.1429 |
| LF | Cody Bellinger | 3 | 1.0901 | 1.2018 | neutral | 0.3800 | 0.2910 | 0.4670 | 8.60 | 38.60 | 89.50 | 19.50 | 17.10 | 12.70 | 14.60 | 0.2857 |
| CF | Trent Grisham | 198 | 1.0537 | 0.7163 | neutral | 0.3410 | 0.2300 | 0.4190 | 12.20 | 44.20 | 90.50 | 17.30 | 16.70 | 17.20 | 15.50 | 0.6857 |
| DH | Ben Rice | 25 | 1.1178 | 1.5710 | negative_batter_regression | 0.4060 | 0.2930 | 0.5580 | 17.20 | 51 | 92.40 | 13.60 | 25.60 | 23.10 | 12.60 | -0.9714 |
| 2B | Jazz Chisholm Jr. | 177 | 0.9701 | -0.3982 | neutral | 0.2870 | 0.2130 | 0.3560 | 6.80 | 37.40 | 89.30 | 15.30 | 31.20 | 28.30 | 9.30 | -0.8000 |
| 3B | Ryan McMahon | 353 | 0.9995 | -0.0064 | neutral | 0.2850 | 0.2190 | 0.3740 | 10 | 49.50 | 90.50 | 12.80 | 31.80 | 31.90 | 7.20 | 0.3714 |
| C | J.C. Escarra | 355 | 0.9964 | -0.0486 | positive_batter_regression | 0.2890 | 0.2300 | 0.3460 | 4.30 | 31.90 | 89 | 10.20 | 28.70 | 20 | 7.70 | 1.5714 |
| SS | José Caballero | 83 | 0.9609 | -0.5209 | negative_batter_regression | 0.2870 | 0.2400 | 0.3420 | 3 | 27.80 | 83.20 | 10.40 | 26.10 | 18.80 | 5.50 | -1 |
| RF | Max Schuemann | 227 | 0.9896 | -0.1382 | negative_batter_regression | 0.3450 | 0.2040 | 0.2530 | 0 | 50 | 88.10 | 22.10 | 31.30 | 20.80 | 29.20 | -2 |
{
"home": {
"applied": true,
"offense_factor": 1.0253,
"raw_average_factor": 1.0253,
"team_espn_average_rank": 168.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "502671",
"player_name": "Paul Goldschmidt",
"offense_factor": 1.05,
"quality_score": 0.6668,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "502671",
"espn_id": 31027,
"player_name": "Paul Goldschmidt",
"team": "NYY",
"role": "batter",
"espn_rank": 92,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 92,
"gp_value": 36.0,
"gp_rank": 295,
"ab_value": 120.0,
"ab_rank": 243,
"r_value": 21.0,
"r_rank": 168,
"h_value": 33.0,
"h_rank": 205,
"avg_value": 0.275,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 23.0,
"rbi_rank": 134,
"tb_value": 64.0,
"tb_rank": 699,
"bb_value": 13.0,
"bb_rank": 202,
"so_value": 28.0,
"so_rank": 239,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3602941,
"obp_rank": "-",
"slg_value": 0.5333333,
"slg_rank": "-",
"ops_value": 0.8936274,
"ops_rank": null,
"war_value": 1.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 107.0,
"k_percent": 20.6,
"bb_percent": 9.6,
"woba": 0.389,
"xwoba": 0.384,
"xba": 0.285,
"xslg": 0.517,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 46.7,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 14.2,
"whiff_percent": 23.4,
"swing_percent": 47.7
},
"components": {
"expected_quality": 1.6174,
"regression_edge": -0.1429,
"xwoba_edge": 2.2429,
"xba_edge": 1.3714,
"xslg_edge": 2.0143,
"barrel_edge": 1.3556,
"hard_hit_edge": 1.1714,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.9667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "641355",
"player_name": "Cody Bellinger",
"offense_factor": 1.0901,
"quality_score": 1.2018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641355",
"espn_id": 33912,
"player_name": "Cody Bellinger",
"team": "NYY",
"role": "batter",
"espn_rank": 3,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 3,
"gp_value": 60.0,
"gp_rank": 42,
"ab_value": 217.0,
"ab_rank": 69,
"r_value": 37.0,
"r_rank": 33,
"h_value": 59.0,
"h_rank": 46,
"avg_value": 0.2718894,
"avg_rank": 53.0,
"2b_value": 13.0,
"2b_rank": 28,
"3b_value": 3.0,
"3b_rank": 5,
"hr_value": 8.0,
"hr_rank": 65,
"rbi_value": 40.0,
"rbi_rank": 16,
"tb_value": 102.0,
"tb_rank": 279,
"bb_value": 38.0,
"bb_rank": 14,
"so_value": 33.0,
"so_rank": 200,
"sb_value": 6.0,
"sb_rank": 61,
"obp_value": 0.3730769,
"obp_rank": "27",
"slg_value": 0.470046,
"slg_rank": "44",
"ops_value": 0.8431229,
"ops_rank": 34.0,
"war_value": 3.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 230.0,
"k_percent": 12.7,
"bb_percent": 14.6,
"woba": 0.37,
"xwoba": 0.38,
"xba": 0.291,
"xslg": 0.467,
"sweet_spot_percent": 41.3,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 38.6,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 19.5,
"whiff_percent": 17.1,
"swing_percent": 43.1
},
"components": {
"expected_quality": 1.3509,
"regression_edge": 0.2857,
"xwoba_edge": 2.1286,
"xba_edge": 1.5429,
"xslg_edge": 1.3,
"barrel_edge": 0.3778,
"hard_hit_edge": 0.0143,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 1.3333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "663757",
"player_name": "Trent Grisham",
"offense_factor": 1.0537,
"quality_score": 0.7163,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663757",
"espn_id": 34995,
"player_name": "Trent Grisham",
"team": "NYY",
"role": "batter",
"espn_rank": 198,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 198,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 194.0,
"ab_rank": 123,
"r_value": 33.0,
"r_rank": 54,
"h_value": 40.0,
"h_rank": 166,
"avg_value": 0.2061855,
"avg_rank": 159.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 31.0,
"rbi_rank": 56,
"tb_value": 72.0,
"tb_rank": 625,
"bb_value": 36.0,
"bb_rank": 17,
"so_value": 40.0,
"so_rank": 148,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.3275862,
"obp_rank": "88",
"slg_value": 0.371134,
"slg_rank": "126",
"ops_value": 0.6987202,
"ops_rank": 118.0,
"war_value": 0.46,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 207.0,
"k_percent": 17.2,
"bb_percent": 15.5,
"woba": 0.317,
"xwoba": 0.341,
"xba": 0.23,
"xslg": 0.419,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 12.2,
"hard_hit_percent": 44.2,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 17.3,
"whiff_percent": 16.7,
"swing_percent": 34.6
},
"components": {
"expected_quality": 0.7736,
"regression_edge": 0.6857,
"xwoba_edge": 1.0143,
"xba_edge": -0.2,
"xslg_edge": 0.6143,
"barrel_edge": 1.1778,
"hard_hit_edge": 0.8143,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "700250",
"player_name": "Ben Rice",
"offense_factor": 1.1178,
"quality_score": 1.571,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "700250",
"espn_id": 5016968,
"player_name": "Ben Rice",
"team": "NYY",
"role": "batter",
"espn_rank": 25,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 25,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 204.0,
"ab_rank": 105,
"r_value": 46.0,
"r_rank": 3,
"h_value": 62.0,
"h_rank": 34,
"avg_value": 0.3039215,
"avg_rank": 12.0,
"2b_value": 15.0,
"2b_rank": 12,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 17.0,
"hr_rank": 4,
"rbi_value": 44.0,
"rbi_rank": 6,
"tb_value": 132.0,
"tb_rank": 80,
"bb_value": 30.0,
"bb_rank": 35,
"so_value": 55.0,
"so_rank": 68,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.3949579,
"obp_rank": "11",
"slg_value": 0.6470588,
"slg_rank": "2",
"ops_value": 1.0420167,
"ops_rank": 2.0,
"war_value": 2.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 207.0,
"k_percent": 23.1,
"bb_percent": 12.6,
"woba": 0.44,
"xwoba": 0.406,
"xba": 0.293,
"xslg": 0.558,
"sweet_spot_percent": 42.4,
"barrel_batted_rate": 17.2,
"hard_hit_percent": 51.0,
"exit_velocity_avg": 92.4,
"launch_angle_avg": 13.6,
"whiff_percent": 25.6,
"swing_percent": 41.5
},
"components": {
"expected_quality": 2.0996,
"regression_edge": -0.9714,
"xwoba_edge": 2.5,
"xba_edge": 1.6,
"xslg_edge": 2.5,
"barrel_edge": 2.2889,
"hard_hit_edge": 1.7857,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": 1.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "665862",
"player_name": "Jazz Chisholm Jr.",
"offense_factor": 0.9701,
"quality_score": -0.3982,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665862",
"espn_id": 41433,
"player_name": "Jazz Chisholm Jr.",
"team": "NYY",
"role": "batter",
"espn_rank": 177,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 177,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 213.0,
"ab_rank": 83,
"r_value": 27.0,
"r_rank": 92,
"h_value": 51.0,
"h_rank": 94,
"avg_value": 0.2394366,
"avg_rank": 114.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 21.0,
"rbi_rank": 154,
"tb_value": 84.0,
"tb_rank": 518,
"bb_value": 22.0,
"bb_rank": 79,
"so_value": 67.0,
"so_rank": 24,
"sb_value": 14.0,
"sb_rank": 8,
"obp_value": 0.3122362,
"obp_rank": "119",
"slg_value": 0.3943661,
"slg_rank": "108",
"ops_value": 0.7066023,
"ops_rank": 111.0,
"war_value": 0.56,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 28.3,
"bb_percent": 9.3,
"woba": 0.315,
"xwoba": 0.287,
"xba": 0.213,
"xslg": 0.356,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 37.4,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 15.3,
"whiff_percent": 31.2,
"swing_percent": 44.2
},
"components": {
"expected_quality": -0.348,
"regression_edge": -0.8,
"xwoba_edge": -0.5286,
"xba_edge": -0.6857,
"xslg_edge": -0.2857,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.1571,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "641857",
"player_name": "Ryan McMahon",
"offense_factor": 0.9995,
"quality_score": -0.0064,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641857",
"espn_id": 33247,
"player_name": "Ryan McMahon",
"team": "NYY",
"role": "batter",
"espn_rank": 353,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 353,
"gp_value": 55.0,
"gp_rank": 140,
"ab_value": 153.0,
"ab_rank": 193,
"r_value": 16.0,
"r_rank": 219,
"h_value": 31.0,
"h_rank": 227,
"avg_value": 0.2026143,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 267,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 19.0,
"rbi_rank": 184,
"tb_value": 53.0,
"tb_rank": 719,
"bb_value": 12.0,
"bb_rank": 221,
"so_value": 53.0,
"so_rank": 78,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.260606,
"obp_rank": "-",
"slg_value": 0.3464052,
"slg_rank": "-",
"ops_value": 0.6070112,
"ops_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 149.0,
"k_percent": 31.9,
"bb_percent": 7.2,
"woba": 0.272,
"xwoba": 0.285,
"xba": 0.219,
"xslg": 0.374,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 49.5,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 12.8,
"whiff_percent": 31.8,
"swing_percent": 46.5
},
"components": {
"expected_quality": -0.0714,
"regression_edge": 0.3714,
"xwoba_edge": -0.5857,
"xba_edge": -0.5143,
"xslg_edge": -0.0286,
"barrel_edge": 0.6889,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -0.7667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "641555",
"player_name": "J.C. Escarra",
"offense_factor": 0.9964,
"quality_score": -0.0486,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "641555",
"espn_id": 41644,
"player_name": "J.C. Escarra",
"team": "NYY",
"role": "batter",
"espn_rank": 355,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 355,
"gp_value": 21.0,
"gp_rank": 381,
"ab_value": 59.0,
"ab_rank": 371,
"r_value": 5.0,
"r_rank": 392,
"h_value": 11.0,
"h_rank": 379,
"avg_value": 0.1864406,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 7.0,
"rbi_rank": 334,
"tb_value": 16.0,
"tb_rank": 2021,
"bb_value": 5.0,
"bb_rank": 351,
"so_value": 13.0,
"so_rank": 387,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.2461538,
"obp_rank": "-",
"slg_value": 0.2711864,
"slg_rank": "-",
"ops_value": 0.5173402,
"ops_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 60.0,
"k_percent": 20.0,
"bb_percent": 7.7,
"woba": 0.234,
"xwoba": 0.289,
"xba": 0.23,
"xslg": 0.346,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 31.9,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 10.2,
"whiff_percent": 28.7,
"swing_percent": 46.0
},
"components": {
"expected_quality": -0.3814,
"regression_edge": 1.5714,
"xwoba_edge": -0.4714,
"xba_edge": -0.2,
"xslg_edge": -0.4286,
"barrel_edge": -0.5778,
"hard_hit_edge": -0.9429,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "676609",
"player_name": "José Caballero",
"offense_factor": 0.9609,
"quality_score": -0.5209,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676609",
"espn_id": 42135,
"player_name": "Jose Caballero",
"team": "NYY",
"role": "batter",
"espn_rank": 83,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 83,
"gp_value": 51.0,
"gp_rank": 177,
"ab_value": 167.0,
"ab_rank": 167,
"r_value": 22.0,
"r_rank": 150,
"h_value": 44.0,
"h_rank": 136,
"avg_value": 0.263473,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 16.0,
"rbi_rank": 218,
"tb_value": 67.0,
"tb_rank": 1047,
"bb_value": 10.0,
"bb_rank": 253,
"so_value": 34.0,
"so_rank": 194,
"sb_value": 15.0,
"sb_rank": 6,
"obp_value": 0.3204419,
"obp_rank": "-",
"slg_value": 0.4011976,
"slg_rank": "-",
"ops_value": 0.7216395,
"ops_rank": null,
"war_value": 1.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 163.0,
"k_percent": 18.8,
"bb_percent": 5.5,
"woba": 0.322,
"xwoba": 0.287,
"xba": 0.24,
"xslg": 0.342,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 3.0,
"hard_hit_percent": 27.8,
"exit_velocity_avg": 83.2,
"launch_angle_avg": 10.4,
"whiff_percent": 26.1,
"swing_percent": 49.6
},
"components": {
"expected_quality": -0.6548,
"regression_edge": -1.0,
"xwoba_edge": -0.5286,
"xba_edge": 0.0857,
"xslg_edge": -0.4857,
"barrel_edge": -0.8667,
"hard_hit_edge": -1.5286,
"exit_velocity_edge": -2.24,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "680474",
"player_name": "Max Schuemann",
"offense_factor": 0.9896,
"quality_score": -0.1382,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "680474",
"espn_id": 3962127,
"player_name": "Max Schuemann",
"team": "NYY",
"role": "batter",
"espn_rank": 227,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 227,
"gp_value": 13.0,
"gp_rank": 426,
"ab_value": 17.0,
"ab_rank": 477,
"r_value": 7.0,
"r_rank": 361,
"h_value": 5.0,
"h_rank": 443,
"avg_value": 0.2941176,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 3.0,
"rbi_rank": 422,
"tb_value": 8.0,
"tb_rank": 2313,
"bb_value": 7.0,
"bb_rank": 305,
"so_value": 5.0,
"so_rank": 472,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.5,
"obp_rank": "-",
"slg_value": 0.4705882,
"slg_rank": "-",
"ops_value": 0.9705882,
"ops_rank": null,
"war_value": 0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 19.0,
"k_percent": 20.8,
"bb_percent": 29.2,
"woba": 0.439,
"xwoba": 0.345,
"xba": 0.204,
"xslg": 0.253,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 22.1,
"whiff_percent": 31.3,
"swing_percent": 39.3
},
"components": {
"expected_quality": -0.0316,
"regression_edge": -2.0,
"xwoba_edge": 1.1286,
"xba_edge": -0.9429,
"xslg_edge": -1.7571,
"barrel_edge": -1.5333,
"hard_hit_edge": 1.6429,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 0.9918,
"raw_average_factor": 0.9918,
"team_espn_average_rank": 186.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "656555",
"player_name": "Rhys Hoskins",
"offense_factor": 1.0014,
"quality_score": 0.0185,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656555",
"espn_id": 35291,
"player_name": "Rhys Hoskins",
"team": "CLE",
"role": "batter",
"espn_rank": 230,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 230,
"gp_value": 49.0,
"gp_rank": 188,
"ab_value": 133.0,
"ab_rank": 221,
"r_value": 23.0,
"r_rank": 134,
"h_value": 27.0,
"h_rank": 246,
"avg_value": 0.2030075,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 24.0,
"rbi_rank": 125,
"tb_value": 55.0,
"tb_rank": 1003,
"bb_value": 31.0,
"bb_rank": 33,
"so_value": 47.0,
"so_rank": 101,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3491124,
"obp_rank": "-",
"slg_value": 0.4135338,
"slg_rank": "-",
"ops_value": 0.7626462,
"ops_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 149.0,
"k_percent": 27.8,
"bb_percent": 18.3,
"woba": 0.341,
"xwoba": 0.315,
"xba": 0.184,
"xslg": 0.342,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 22.5,
"whiff_percent": 30.1,
"swing_percent": 41.0
},
"components": {
"expected_quality": 0.1526,
"regression_edge": -0.7429,
"xwoba_edge": 0.2714,
"xba_edge": -1.5143,
"xslg_edge": -0.4857,
"barrel_edge": 1.4222,
"hard_hit_edge": 0.8429,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "681807",
"player_name": "David Fry",
"offense_factor": 0.9708,
"quality_score": -0.3895,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "681807",
"espn_id": 41672,
"player_name": "David Fry",
"team": "CLE",
"role": "batter",
"espn_rank": 220,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 220,
"gp_value": 37.0,
"gp_rank": 287,
"ab_value": 81.0,
"ab_rank": 331,
"r_value": 12.0,
"r_rank": 279,
"h_value": 21.0,
"h_rank": 297,
"avg_value": 0.2592592,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 8.0,
"rbi_rank": 321,
"tb_value": 33.0,
"tb_rank": 1564,
"bb_value": 14.0,
"bb_rank": 190,
"so_value": 28.0,
"so_rank": 239,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.368421,
"obp_rank": "-",
"slg_value": 0.4074074,
"slg_rank": "-",
"ops_value": 0.7758284,
"ops_rank": null,
"war_value": 0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 29.5,
"bb_percent": 14.7,
"woba": 0.347,
"xwoba": 0.28,
"xba": 0.209,
"xslg": 0.284,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 34.0,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 16.4,
"whiff_percent": 30.5,
"swing_percent": 41.5
},
"components": {
"expected_quality": -0.6948,
"regression_edge": -1.9143,
"xwoba_edge": -0.7286,
"xba_edge": -0.8,
"xslg_edge": -1.3143,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.6429,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "682657",
"player_name": "Angel Martínez",
"offense_factor": 0.9927,
"quality_score": -0.0975,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682657",
"espn_id": 42497,
"player_name": "Angel Martinez",
"team": "CLE",
"role": "batter",
"espn_rank": 178,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 178,
"gp_value": 57.0,
"gp_rank": 108,
"ab_value": 194.0,
"ab_rank": 123,
"r_value": 25.0,
"r_rank": 120,
"h_value": 47.0,
"h_rank": 118,
"avg_value": 0.242268,
"avg_rank": 102.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 9.0,
"hr_rank": 53,
"rbi_value": 29.0,
"rbi_rank": 73,
"tb_value": 86.0,
"tb_rank": 461,
"bb_value": 6.0,
"bb_rank": 322,
"so_value": 45.0,
"so_rank": 118,
"sb_value": 9.0,
"sb_rank": 34,
"obp_value": 0.2780487,
"obp_rank": "156",
"slg_value": 0.4432989,
"slg_rank": "65",
"ops_value": 0.7213476,
"ops_rank": 102.0,
"war_value": 0.56,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 185.0,
"k_percent": 21.5,
"bb_percent": 2.9,
"woba": 0.314,
"xwoba": 0.297,
"xba": 0.248,
"xslg": 0.398,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 34.6,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 13.9,
"whiff_percent": 19.0,
"swing_percent": 54.7
},
"components": {
"expected_quality": -0.0558,
"regression_edge": -0.4857,
"xwoba_edge": -0.2429,
"xba_edge": 0.3143,
"xslg_edge": 0.3143,
"barrel_edge": 0.2,
"hard_hit_edge": -0.5571,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "683953",
"player_name": "Travis Bazzana",
"offense_factor": 1.0036,
"quality_score": 0.0485,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683953",
"espn_id": 5007707,
"player_name": "Travis Bazzana",
"team": "CLE",
"role": "batter",
"espn_rank": 112,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 112,
"gp_value": 32.0,
"gp_rank": 315,
"ab_value": 117.0,
"ab_rank": 253,
"r_value": 13.0,
"r_rank": 268,
"h_value": 33.0,
"h_rank": 205,
"avg_value": 0.2820512,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 15.0,
"rbi_rank": 229,
"tb_value": 51.0,
"tb_rank": 1276,
"bb_value": 15.0,
"bb_rank": 173,
"so_value": 25.0,
"so_rank": 274,
"sb_value": 8.0,
"sb_rank": 41,
"obp_value": 0.3703703,
"obp_rank": "-",
"slg_value": 0.4358974,
"slg_rank": "-",
"ops_value": 0.8062677,
"ops_rank": null,
"war_value": 0.97,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 109.0,
"k_percent": 18.5,
"bb_percent": 11.1,
"woba": 0.357,
"xwoba": 0.327,
"xba": 0.259,
"xslg": 0.384,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 37.4,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 13.2,
"whiff_percent": 23.5,
"swing_percent": 43.6
},
"components": {
"expected_quality": 0.2533,
"regression_edge": -0.8571,
"xwoba_edge": 0.6143,
"xba_edge": 0.6286,
"xslg_edge": 0.1143,
"barrel_edge": -0.8,
"hard_hit_edge": -0.1571,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "608070",
"player_name": "José Ramírez",
"offense_factor": 1.0915,
"quality_score": 1.2202,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608070",
"espn_id": 32801,
"player_name": "Jose Ramirez",
"team": "CLE",
"role": "batter",
"espn_rank": 34,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 34,
"gp_value": 63.0,
"gp_rank": 1,
"ab_value": 233.0,
"ab_rank": 22,
"r_value": 36.0,
"r_rank": 40,
"h_value": 57.0,
"h_rank": 59,
"avg_value": 0.2446351,
"avg_rank": 97.0,
"2b_value": 17.0,
"2b_rank": 4,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 9.0,
"hr_rank": 53,
"rbi_value": 32.0,
"rbi_rank": 48,
"tb_value": 101.0,
"tb_rank": 556,
"bb_value": 39.0,
"bb_rank": 13,
"so_value": 35.0,
"so_rank": 184,
"sb_value": 21.0,
"sb_rank": 2,
"obp_value": 0.3514492,
"obp_rank": "52",
"slg_value": 0.4334763,
"slg_rank": "74",
"ops_value": 0.7849255,
"ops_rank": 68.0,
"war_value": 2.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 243.0,
"k_percent": 12.7,
"bb_percent": 14.1,
"woba": 0.342,
"xwoba": 0.37,
"xba": 0.289,
"xslg": 0.469,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 45.0,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 19.8,
"whiff_percent": 15.9,
"swing_percent": 46.6
},
"components": {
"expected_quality": 1.2885,
"regression_edge": 0.8,
"xwoba_edge": 1.8429,
"xba_edge": 1.4857,
"xslg_edge": 1.3286,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.9286,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "656413",
"player_name": "Stuart Fairchild",
"offense_factor": 0.9532,
"quality_score": -0.6244,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656413",
"espn_id": 40346,
"player_name": "Stuart Fairchild",
"team": "CLE",
"role": "batter",
"espn_rank": 392,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 392,
"gp_value": 2.0,
"gp_rank": 523,
"ab_value": 5.0,
"ab_rank": 516,
"r_value": 0.0,
"r_rank": 510,
"h_value": 0.0,
"h_rank": 524,
"avg_value": 0.0,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 0.0,
"rbi_rank": 493,
"tb_value": 0.0,
"tb_rank": 2545,
"bb_value": 0.0,
"bb_rank": 491,
"so_value": 5.0,
"so_rank": 472,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.0,
"obp_rank": "-",
"slg_value": 0.0,
"slg_rank": "-",
"ops_value": 0.0,
"ops_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 100.0,
"bb_percent": 0.0,
"woba": 0.0,
"xwoba": 0.0,
"xba": 0.0,
"xslg": 0.0,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 14.0,
"whiff_percent": 92.3,
"swing_percent": 56.5
},
"components": {
"expected_quality": -1.6133,
"regression_edge": 0.0,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -2.5,
"barrel_edge": 0.2,
"hard_hit_edge": 0.2571,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "680757",
"player_name": "Steven Kwan",
"offense_factor": 0.9569,
"quality_score": -0.5752,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680757",
"espn_id": 41996,
"player_name": "Steven Kwan",
"team": "CLE",
"role": "batter",
"espn_rank": 262,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 262,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 201.0,
"ab_rank": 113,
"r_value": 27.0,
"r_rank": 92,
"h_value": 42.0,
"h_rank": 151,
"avg_value": 0.2089552,
"avg_rank": 154.0,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 12.0,
"rbi_rank": 265,
"tb_value": 52.0,
"tb_rank": 1643,
"bb_value": 34.0,
"bb_rank": 22,
"so_value": 25.0,
"so_rank": 274,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.3263598,
"obp_rank": "92",
"slg_value": 0.2587064,
"slg_rank": "172",
"ops_value": 0.5850662,
"ops_rank": 166.0,
"war_value": 0.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 226.0,
"k_percent": 10.3,
"bb_percent": 14.0,
"woba": 0.278,
"xwoba": 0.295,
"xba": 0.23,
"xslg": 0.289,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 0.6,
"hard_hit_percent": 8.9,
"exit_velocity_avg": 82.4,
"launch_angle_avg": 14.9,
"whiff_percent": 8.1,
"swing_percent": 35.2
},
"components": {
"expected_quality": -0.7479,
"regression_edge": 0.4857,
"xwoba_edge": -0.3,
"xba_edge": -0.2,
"xslg_edge": -1.2429,
"barrel_edge": -1.4,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "595978",
"player_name": "Austin Hedges",
"offense_factor": 0.9717,
"quality_score": -0.3768,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "595978",
"espn_id": 32168,
"player_name": "Austin Hedges",
"team": "CLE",
"role": "batter",
"espn_rank": 194,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 194,
"gp_value": 28.0,
"gp_rank": 343,
"ab_value": 78.0,
"ab_rank": 338,
"r_value": 12.0,
"r_rank": 279,
"h_value": 19.0,
"h_rank": 312,
"avg_value": 0.2435897,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 267,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 6.0,
"rbi_rank": 354,
"tb_value": 26.0,
"tb_rank": 1894,
"bb_value": 9.0,
"bb_rank": 271,
"so_value": 17.0,
"so_rank": 353,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3181818,
"obp_rank": "-",
"slg_value": 0.3333333,
"slg_rank": "-",
"ops_value": 0.6515151,
"ops_rank": null,
"war_value": 0.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 80.0,
"k_percent": 18.9,
"bb_percent": 10.0,
"woba": 0.296,
"xwoba": 0.274,
"xba": 0.239,
"xslg": 0.284,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 34.4,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 4.7,
"whiff_percent": 24.0,
"swing_percent": 44.3
},
"components": {
"expected_quality": -0.8714,
"regression_edge": -0.6286,
"xwoba_edge": -0.9,
"xba_edge": 0.0571,
"xslg_edge": -1.3143,
"barrel_edge": -1.5333,
"hard_hit_edge": -0.5857,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": -1.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"offense_factor": 0.9847,
"quality_score": -0.2041,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677587",
"espn_id": 41217,
"player_name": "Brayan Rocchio",
"team": "CLE",
"role": "batter",
"espn_rank": 56,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 56,
"gp_value": 60.0,
"gp_rank": 42,
"ab_value": 194.0,
"ab_rank": 123,
"r_value": 27.0,
"r_rank": 92,
"h_value": 56.0,
"h_rank": 66,
"avg_value": 0.2886597,
"avg_rank": 24.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 4.0,
"hr_rank": 173,
"rbi_value": 28.0,
"rbi_rank": 80,
"tb_value": 79.0,
"tb_rank": 804,
"bb_value": 20.0,
"bb_rank": 108,
"so_value": 28.0,
"so_rank": 239,
"sb_value": 11.0,
"sb_rank": 17,
"obp_value": 0.3693693,
"obp_rank": "29",
"slg_value": 0.4072164,
"slg_rank": "95",
"ops_value": 0.7765857,
"ops_rank": 72.0,
"war_value": 1.65,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 12.5,
"bb_percent": 8.9,
"woba": 0.349,
"xwoba": 0.315,
"xba": 0.254,
"xslg": 0.358,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 3.0,
"hard_hit_percent": 32.7,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 10.7,
"whiff_percent": 23.6,
"swing_percent": 47.9
},
"components": {
"expected_quality": -0.1069,
"regression_edge": -0.9714,
"xwoba_edge": 0.2714,
"xba_edge": 0.4857,
"xslg_edge": -0.2571,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.8286,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": -0.25,
"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 CLE | True | 363 | -0.3304 | 1 | 1.0281 | 0.9469 | 0.9640 | 1.0226 | neutral | 0.3370 | 0.3530 | 18.40 | 7.40 | 20.60 | 8.60 | 34.70 | |
| Home NYY | True | 201 | 0.1656 | 0.4500 | 0.9859 | 1.0036 | 1.0612 | 0.9591 | neutral | 0.2830 | 0.2910 | 24.70 | 16 | 25 | 6.40 | 29.80 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CLE | True | None | 84 | 88.09 | 2291 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0902 | |
| Home NYY | True | None | 87 | 90.95 | 2329 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0703 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9937 |
| home_runs_vs_away_pitcher | 1.0281 |
| home_pitcher_quality_edge | 0.4960 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "607074",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 58.0,
"k_percent": 24.7,
"bb_percent": 16.0,
"woba": 0.291,
"xwoba": 0.283,
"sweet_spot_percent": 17.0,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 29.8,
"avg_best_speed": 80.6718,
"avg_hyper_speed": 93.5976,
"whiff_percent": 25.0,
"swing_percent": 47.5
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.717,
"command_and_miss": -0.2386,
"regression_edge": 0.2286,
"xwoba_edge": 0.9143,
"barrel_edge": 0.1778,
"hard_hit_edge": 1.2286,
"whiff_edge": -0.1143,
"bb_edge": -1.7,
"pitch_design_score": 0.0703
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607074",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 90.95479470821574,
"release_spin_rate": 2329.098631047315,
"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": 87,
"pitch_usage": 0.0,
"release_speed": 90.95479470821574,
"release_spin_rate": 2329.098631047315,
"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.9548,
"release_spin_rate": 2329.0986,
"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.0703,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5018,
"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.1656,
"sample_weight": 0.45,
"run_prevention_factor": 0.9859,
"strikeout_factor": 1.0036,
"walk_factor": 1.0612,
"homer_factor": 0.9591,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607074",
"espn_id": 33696,
"player_name": "Carlos Rodon",
"team": "NYY",
"role": "pitcher",
"espn_rank": 201,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 201,
"gp_value": 4.0,
"gp_rank": 479,
"gs_value": 4.0,
"gs_rank": 164,
"qs_value": 1.0,
"qs_rank": 127,
"era_value": 3.3157,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 19.0,
"ip_rank": 352,
"h_value": 12.0,
"h_rank": 410,
"er_value": 7.0,
"er_rank": 363,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 13.0,
"bb_rank": 188,
"k_value": 20.0,
"k_rank": 303,
"k_per_9_value": 9.473684,
"k_per_9_rank": 23,
"whip_value": 1.3157,
"whip_rank": null,
"war_value": 0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "677944",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 252.0,
"k_percent": 18.4,
"bb_percent": 7.4,
"woba": 0.353,
"xwoba": 0.337,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 34.7,
"avg_best_speed": 76.3823,
"avg_hyper_speed": 93.7339,
"whiff_percent": 20.6,
"swing_percent": 46.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4574,
"command_and_miss": -0.4336,
"regression_edge": 0.4571,
"xwoba_edge": -0.6286,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.5286,
"whiff_edge": -0.7429,
"bb_edge": 0.45,
"pitch_design_score": -0.0902
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "677944",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 84,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 88.0896636931375,
"release_spin_rate": 2290.9079320703245,
"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": 84,
"pitch_usage": 0.0,
"release_speed": 88.0896636931375,
"release_spin_rate": 2290.9079320703245,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.0897,
"release_spin_rate": 2290.9079,
"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.0902,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6443,
"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.3304,
"sample_weight": 1.0,
"run_prevention_factor": 1.0281,
"strikeout_factor": 0.9469,
"walk_factor": 0.964,
"homer_factor": 1.0226,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677944",
"espn_id": 41462,
"player_name": "Slade Cecconi",
"team": "CLE",
"role": "pitcher",
"espn_rank": 363,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 363,
"gp_value": 12.0,
"gp_rank": 254,
"gs_value": 12.0,
"gs_rank": 23,
"qs_value": 2.0,
"qs_rank": 103,
"era_value": 5.254,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 5.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 61.2,
"ip_rank": 71,
"h_value": 72.0,
"h_rank": 8,
"er_value": 36.0,
"er_rank": 14,
"hr_value": 9.0,
"hr_rank": 40,
"bb_value": 20.0,
"bb_rank": 71,
"k_value": 50.0,
"k_rank": 84,
"k_per_9_value": 7.297297,
"k_per_9_rank": 31,
"whip_value": 1.4918,
"whip_rank": null,
"war_value": 0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9937,
"home_runs_vs_away_pitcher": 1.0281,
"home_pitcher_quality_edge": 0.496
},
"score_before": {
"away_runs": 2.0,
"home_runs": 3.0
},
"score_after": {
"away_runs": 1.9873,
"home_runs": 3.0843,
"home_win_probability": 0.6022
},
"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 CLE | 20-39 | 0.339 | 0.90 | 3 | -122 | cold | strong | |
| Home NYY | 15-40 | 0.273 | 1.30 | 2.70 | -74 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CLE | 36-27 | 0.571 | 7 | 0.111 | True |
| Home NYY | 36-25 | 0.590 | 92 | 1.508 | True |
| Signal | - | - | 1.397 | 1.425 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CLE | - | - | 2 | - | - | - | - |
| Game target NYY | - | - | 3 | - | - | - | - |
| Player finalized CLE | 53 | 12 | 8 | 0 | 5 | 6 | 14 |
| Player finalized NYY | 56 | 16 | 9 | 1 | 9 | 6 | 12 |
| Player model fractional CLE | 53.37 | 12.31 | 7.22 | 1.35 | 5.97 | 6.10 | 12.86 |
| Player model fractional NYY | 56.50 | 14.62 | 9.20 | 2.28 | 8.77 | 7.47 | 13.19 |
| Simulation box CLE | 31 | 4 | 2 | 1 | 2 | 3 | 3 |
| Simulation box NYY | 28 | 5 | 4 | 1 | 4 | 6 | 8 |
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 CLE | Starter | Slade Cecconi | 4.20 | 3 | 5 | 5 | 1 | 4.42 | 1.43 | True |
| Away CLE | Middle Reliever | Cade Smith | 1 | 0 | 1 | 0 | 0 | 3.52 | 1.07 | True |
| Away CLE | Middle Reliever | Shawn Armstrong | 1 | 0 | 1 | 0 | 2 | 3.26 | 1.16 | True |
| Away CLE | Middle Reliever | Hunter Gaddis | 1.10 | 1 | 1 | 0 | 3 | 3.02 | 1.16 | True |
| Home NYY | Starter | Carlos Rodón | 5.10 | 1 | 1 | 3 | 3 | 3.89 | 1.32 | True |
| Home NYY | Middle Reliever | David Bednar | 1.10 | 0 | 1 | 0 | 0 | 5.28 | 1.58 | True |
| Home NYY | Middle Reliever | Fernando Cruz | 1 | 0 | 0 | 0 | 0 | 2.89 | 1.12 | True |
| Home NYY | Middle Reliever | Tim Hill | 1.10 | 1 | 1 | 1 | 0 | 6.69 | 1.68 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | CLE | batter | CF | Stuart Fairchild | worse | 7 | 1 | 6 | 2 | 5 | predicted_SO | -2.5000 | deboost | better |
| home | NYY | batter | DH | Ben Rice | better | 10 | 7 | 3 | 7 | 3 | predicted_RBI | 2.1900 | boost | better |
| away | CLE | batter | 2B | Travis Bazzana | better | 11 | 7 | 4 | 8 | 3 | predicted_RBI | 1.4800 | boost | better |
| away | CLE | batter | DH | David Fry | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 1.3000 | boost | better |
| away | CLE | batter | 3B | José Ramírez | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -1.2100 | deboost | worse |
| home | NYY | batter | 1B | Paul Goldschmidt | worse | 11 | 5 | 6 | 4 | 7 | predicted_SO | 1.1770 | boost | worse |
| away | CLE | pitcher | Starter | Slade Cecconi | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -1.1333 | deboost | worse |
| away | CLE | batter | 1B | Rhys Hoskins | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -1.0840 | deboost | better |
| away | CLE | pitcher | Middle Reliever | Hunter Gaddis | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | NYY | batter | LF | Cody Bellinger | better | 11 | 5 | 6 | 6 | 5 | predicted_AB | -0.9100 | deboost | worse |
| home | NYY | batter | 2B | Jazz Chisholm Jr. | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -0.8900 | deboost | worse |
| home | NYY | batter | 3B | Ryan McMahon | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 0.8780 | boost | worse |
| away | CLE | batter | LF | Steven Kwan | worse | 10 | 1 | 9 | 2 | 8 | predicted_H | -0.8200 | deboost | worse |
| home | NYY | batter | CF | Trent Grisham | better | 9 | 6 | 3 | 5 | 4 | predicted_AB | -0.8100 | deboost | worse |
| home | NYY | batter | C | J.C. Escarra | better | 12 | 8 | 4 | 7 | 5 | predicted_2B | 0.8060 | boost | better |
| home | NYY | batter | RF | Max Schuemann | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -0.7140 | deboost | better |
| home | NYY | batter | SS | José Caballero | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -0.6730 | deboost | better |
| away | CLE | batter | C | Austin Hedges | worse | 10 | 1 | 9 | 0 | 10 | predicted_H | -0.6300 | deboost | worse |
| away | CLE | batter | RF | Angel Martínez | worse | 11 | 2 | 9 | 1 | 10 | predicted_R | -0.5380 | deboost | worse |
| away | CLE | batter | SS | Brayan Rocchio | worse | 11 | 1 | 10 | 2 | 9 | predicted_R | -0.4660 | deboost | worse |
| home | NYY | pitcher | Middle Reliever | David Bednar | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | NYY | pitcher | Middle Reliever | Tim Hill | 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 | Slade Cecconi |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3304 |
| ESPN Rank | 363 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0902 |
| Avg Velo | 88.0897 |
| Avg Spin | 2290.9079 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 5.2541 |
| Season WHIP | 1.4919 |
| Role Avg IP | 5.1390 |
| Recent Avg IP | 5.2000 |
| Last Start IP | 4.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 70,
"wins": 40,
"losses": 30,
"win_pct": 0.5714,
"runs_scored": 309.0,
"runs_allowed": 298.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1571,
"avg_runs_scored": 4.4143,
"avg_runs_allowed": 4.2571,
"offense_index": 0.989,
"defense_index": 1.0485,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 5.1,
"run_differential": -17.0
},
"available": true,
"quality_score": 0.08
},
"opponent": {
"team": "NYY",
"games": 70,
"wins": 41,
"losses": 29,
"win_pct": 0.5857,
"runs_scored": 343.0,
"runs_allowed": 260.0,
"run_differential": 83.0,
"run_differential_per_game": 1.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 3.7143,
"offense_index": 1.0978,
"defense_index": 1.2017,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.4,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2539
},
"edges": {
"quality_edge": -0.1739,
"offense_edge": -0.011,
"opponent_offense_edge": 0.0978,
"defense_strength": 0.0485,
"opponent_defense_weakness": -0.2017,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9906,
"run_prevention": 1.0195,
"strikeout": 0.987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "677944",
"profile": {
"available": true,
"pitcher_id": "677944",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 252.0,
"k_percent": 18.4,
"bb_percent": 7.4,
"woba": 0.353,
"xwoba": 0.337,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 34.7,
"avg_best_speed": 76.3823,
"avg_hyper_speed": 93.7339,
"whiff_percent": 20.6,
"swing_percent": 46.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4574,
"command_and_miss": -0.4336,
"regression_edge": 0.4571,
"xwoba_edge": -0.6286,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.5286,
"whiff_edge": -0.7429,
"bb_edge": 0.45,
"pitch_design_score": -0.0902
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "677944",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 84,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 88.0896636931375,
"release_spin_rate": 2290.9079320703245,
"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": 84,
"pitch_usage": 0.0,
"release_speed": 88.0896636931375,
"release_spin_rate": 2290.9079320703245,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.0897,
"release_spin_rate": 2290.9079,
"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.0902,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6443,
"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.3304,
"sample_weight": 1.0,
"run_prevention_factor": 1.0281,
"strikeout_factor": 0.9469,
"walk_factor": 0.964,
"homer_factor": 1.0226,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677944",
"espn_id": 41462,
"player_name": "Slade Cecconi",
"team": "CLE",
"role": "pitcher",
"espn_rank": 363,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 363,
"gp_value": 12.0,
"gp_rank": 254,
"gs_value": 12.0,
"gs_rank": 23,
"qs_value": 2.0,
"qs_rank": 103,
"era_value": 5.254,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 5.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 61.2,
"ip_rank": 71,
"h_value": 72.0,
"h_rank": 8,
"er_value": 36.0,
"er_rank": 14,
"hr_value": 9.0,
"hr_rank": 40,
"bb_value": 20.0,
"bb_rank": 71,
"k_value": 50.0,
"k_rank": 84,
"k_per_9_value": 7.297297,
"k_per_9_rank": 31,
"whip_value": 1.4918,
"whip_rank": null,
"war_value": 0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0281,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 1.0281,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.964,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0226,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9469,
"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": 51.1,
"ER": 30,
"H": 65,
"BB": 16,
"SO": 39,
"HR": 8,
"ERA": 5.259740259740259,
"WHIP": 1.577922077922078,
"K9": 6.837662337662337,
"HR9": 1.4025974025974026,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "677944",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 84,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 88.0896636931375,
"release_spin_rate": 2290.9079320703245,
"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": 84,
"pitch_usage": 0.0,
"release_speed": 88.0896636931375,
"release_spin_rate": 2290.9079320703245,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.0897,
"release_spin_rate": 2290.9079,
"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.0902,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6443,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"role": "pitcher",
"player_id": "677944",
"report_date": "20260604_C",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.0,
"ER": 10.0,
"R": 10.0,
"H": 29.0,
"BB": 7.0,
"SO": 22.0,
"HR": 1.0,
"BF": 108.0,
"Pitches": 422.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 5.8,
"BB": 1.4,
"SO": 4.4,
"HR": 0.2,
"BF": 21.6,
"Pitches": 84.4
},
"rates": {
"ERA": 3.4615,
"WHIP": 1.3846,
"ER_per_IP": 0.38462,
"H_per_IP": 1.11538,
"BB_per_IP": 0.26923,
"SO_per_IP": 0.84615,
"HR_per_IP": 0.03846
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.1,
"ER": 30.0,
"R": 32.0,
"H": 65.0,
"BB": 16.0,
"SO": 39.0,
"HR": 8.0,
"BF": 227.0,
"Pitches": 847.0
},
"per_game": {
"IP": 5.0,
"ER": 3.0,
"R": 3.2,
"H": 6.5,
"BB": 1.6,
"SO": 3.9,
"HR": 0.8,
"BF": 22.7,
"Pitches": 84.7
},
"rates": {
"ERA": 5.2597,
"WHIP": 1.5779,
"ER_per_IP": 0.58442,
"H_per_IP": 1.26623,
"BB_per_IP": 0.31169,
"SO_per_IP": 0.75974,
"HR_per_IP": 0.15584
}
},
"season": {
"games": 12,
"totals": {
"IP": 61.2,
"ER": 36.0,
"R": 38.0,
"H": 72.0,
"BB": 20.0,
"SO": 50.0,
"HR": 9.0,
"BF": 272.0,
"Pitches": 1025.0
},
"per_game": {
"IP": 5.0,
"ER": 3.0,
"R": 3.1667,
"H": 6.0,
"BB": 1.6667,
"SO": 4.1667,
"HR": 0.75,
"BF": 22.6667,
"Pitches": 85.4167
},
"rates": {
"ERA": 5.2541,
"WHIP": 1.4919,
"ER_per_IP": 0.58378,
"H_per_IP": 1.16757,
"BB_per_IP": 0.32432,
"SO_per_IP": 0.81081,
"HR_per_IP": 0.14595
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.555,
"predicted_H": 5.793,
"predicted_BB": 1.645,
"predicted_SO": 4.411,
"predicted_HR": 0.581,
"predicted_ERA": 4.418,
"predicted_WHIP": 1.4293
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7059,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.555,
"final": 2.766,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.793,
"final": 5.4169,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.645,
"final": 1.3391,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.411,
"final": 4.6903,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.581,
"final": 0.7797,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.418,
"final": 4.418,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4293,
"final": 1.4293,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Cade Smith |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4014 |
| ESPN Rank | 144 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1458 |
| Avg Velo | 92.3032 |
| Avg Spin | 1832.1074 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.8256 |
| Season WHIP | 1.0814 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 70,
"wins": 40,
"losses": 30,
"win_pct": 0.5714,
"runs_scored": 309.0,
"runs_allowed": 298.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1571,
"avg_runs_scored": 4.4143,
"avg_runs_allowed": 4.2571,
"offense_index": 0.989,
"defense_index": 1.0485,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 5.1,
"run_differential": -17.0
},
"available": true,
"quality_score": 0.08
},
"opponent": {
"team": "NYY",
"games": 70,
"wins": 41,
"losses": 29,
"win_pct": 0.5857,
"runs_scored": 343.0,
"runs_allowed": 260.0,
"run_differential": 83.0,
"run_differential_per_game": 1.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 3.7143,
"offense_index": 1.0978,
"defense_index": 1.2017,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.4,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2539
},
"edges": {
"quality_edge": -0.1739,
"offense_edge": -0.011,
"opponent_offense_edge": 0.0978,
"defense_strength": 0.0485,
"opponent_defense_weakness": -0.2017,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9906,
"run_prevention": 1.0195,
"strikeout": 0.987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "671922",
"profile": {
"available": true,
"pitcher_id": "671922",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 37.4,
"bb_percent": 4.3,
"woba": 0.266,
"xwoba": 0.247,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 43.1,
"avg_best_speed": 82.1909,
"avg_hyper_speed": 94.8801,
"whiff_percent": 36.2,
"swing_percent": 50.1
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6754,
"command_and_miss": 1.7229,
"regression_edge": 0.5429,
"xwoba_edge": 1.9429,
"barrel_edge": -0.4444,
"hard_hit_edge": -0.6714,
"whiff_edge": 1.4857,
"bb_edge": 1.225,
"pitch_design_score": 0.1458
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "671922",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.3032049686205,
"release_spin_rate": 1832.107424086915,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 92.3032049686205,
"release_spin_rate": 1832.107424086915,
"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.3032,
"release_spin_rate": 1832.1074,
"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.1458,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0412,
"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.4014,
"sample_weight": 0.45,
"run_prevention_factor": 0.9659,
"strikeout_factor": 1.0651,
"walk_factor": 0.9559,
"homer_factor": 1.0019,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671922",
"espn_id": 4987924,
"player_name": "Cade Smith",
"team": "CLE",
"role": "pitcher",
"espn_rank": 144,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 144,
"gp_value": 28.0,
"gp_rank": 21,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.8255,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 21.0,
"sv_rank": 1,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 28.2,
"ip_rank": 191,
"h_value": 26.0,
"h_rank": 198,
"er_value": 9.0,
"er_rank": 297,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 5.0,
"bb_rank": 433,
"k_value": 43.0,
"k_rank": 111,
"k_per_9_value": 13.5,
"k_per_9_rank": 15,
"whip_value": 1.0813,
"whip_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9847,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9847,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9802,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0009,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0293,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 2,
"H": 7,
"BB": 1,
"SO": 19,
"HR": 0,
"ERA": 1.7419354838709677,
"WHIP": 0.7741935483870968,
"K9": 16.548387096774192,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "671922",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.3032049686205,
"release_spin_rate": 1832.107424086915,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 92.3032049686205,
"release_spin_rate": 1832.107424086915,
"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.3032,
"release_spin_rate": 1832.1074,
"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.1458,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0412,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.658,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5309,
"prior_weight": 0.4691
},
"role": "pitcher",
"player_id": "671922",
"report_date": "20260604_C",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 0.0,
"SO": 8.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.0,
"SO": 1.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 13.4
},
"rates": {
"ERA": 3.6,
"WHIP": 0.8,
"ER_per_IP": 0.4,
"H_per_IP": 0.8,
"BB_per_IP": 0.0,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 2.0,
"R": 3.0,
"H": 7.0,
"BB": 1.0,
"SO": 19.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.7,
"BB": 0.1,
"SO": 1.9,
"HR": 0.0,
"BF": 3.9,
"Pitches": 15.2
},
"rates": {
"ERA": 1.7419,
"WHIP": 0.7742,
"ER_per_IP": 0.19355,
"H_per_IP": 0.67742,
"BB_per_IP": 0.09677,
"SO_per_IP": 1.83871,
"HR_per_IP": 0.0
}
},
"season": {
"games": 28,
"totals": {
"IP": 28.2,
"ER": 9.0,
"R": 11.0,
"H": 26.0,
"BB": 5.0,
"SO": 43.0,
"HR": 1.0,
"BF": 115.0,
"Pitches": 491.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3214,
"R": 0.3929,
"H": 0.9286,
"BB": 0.1786,
"SO": 1.5357,
"HR": 0.0357,
"BF": 4.1071,
"Pitches": 17.5357
},
"rates": {
"ERA": 2.8256,
"WHIP": 1.0814,
"ER_per_IP": 0.31395,
"H_per_IP": 0.90698,
"BB_per_IP": 0.17442,
"SO_per_IP": 1.5,
"HR_per_IP": 0.03488
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.391,
"predicted_H": 0.862,
"predicted_BB": 0.209,
"predicted_SO": 1.325,
"predicted_HR": 0.068,
"predicted_ERA": 3.5209,
"predicted_WHIP": 1.0703
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5482,
"form_weight": 0.4518,
"form_reliability": 0.5309,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.658,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5309,
"prior_weight": 0.4691
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.391,
"final": 0.1767,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.862,
"final": 0.3895,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.209,
"final": 0.0944,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.325,
"final": 1.1468,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.068,
"final": 0.0307,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5209,
"final": 3.5209,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0703,
"final": 1.0703,
"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 | Shawn Armstrong |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0694 |
| ESPN Rank | 216 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0214 |
| Avg Velo | 90.0827 |
| Avg Spin | 2333.5185 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 1.6875 |
| Season WHIP | 1.1250 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 70,
"wins": 40,
"losses": 30,
"win_pct": 0.5714,
"runs_scored": 309.0,
"runs_allowed": 298.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1571,
"avg_runs_scored": 4.4143,
"avg_runs_allowed": 4.2571,
"offense_index": 0.989,
"defense_index": 1.0485,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 5.1,
"run_differential": -17.0
},
"available": true,
"quality_score": 0.08
},
"opponent": {
"team": "NYY",
"games": 70,
"wins": 41,
"losses": 29,
"win_pct": 0.5857,
"runs_scored": 343.0,
"runs_allowed": 260.0,
"run_differential": 83.0,
"run_differential_per_game": 1.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 3.7143,
"offense_index": 1.0978,
"defense_index": 1.2017,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.4,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2539
},
"edges": {
"quality_edge": -0.1739,
"offense_edge": -0.011,
"opponent_offense_edge": 0.0978,
"defense_strength": 0.0485,
"opponent_defense_weakness": -0.2017,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9906,
"run_prevention": 1.0195,
"strikeout": 0.987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "542888",
"profile": {
"available": true,
"pitcher_id": "542888",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 57.0,
"k_percent": 29.9,
"bb_percent": 11.9,
"woba": 0.307,
"xwoba": 0.305,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 42.1,
"avg_best_speed": 77.0468,
"avg_hyper_speed": 93.7927,
"whiff_percent": 27.8,
"swing_percent": 46.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0575,
"command_and_miss": 0.4407,
"regression_edge": 0.0571,
"xwoba_edge": 0.2857,
"barrel_edge": -0.1556,
"hard_hit_edge": -0.5286,
"whiff_edge": 0.2857,
"bb_edge": -0.675,
"pitch_design_score": 0.0214
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "542888",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 90.08271377170253,
"release_spin_rate": 2333.5185479930437,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 90.08271377170253,
"release_spin_rate": 2333.5185479930437,
"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.0827,
"release_spin_rate": 2333.5185,
"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.0214,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.153,
"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.0694,
"sample_weight": 0.45,
"run_prevention_factor": 0.9941,
"strikeout_factor": 1.0242,
"walk_factor": 1.0243,
"homer_factor": 1.0113,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "542888",
"espn_id": 33499,
"player_name": "Shawn Armstrong",
"team": "CLE",
"role": "pitcher",
"espn_rank": 216,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 216,
"gp_value": 18.0,
"gp_rank": 164,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.375,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 5.0,
"hld_rank": 75,
"ip_value": 16.0,
"ip_rank": 395,
"h_value": 12.0,
"h_rank": 410,
"er_value": 6.0,
"er_rank": 404,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 8.0,
"bb_rank": 312,
"k_value": 20.0,
"k_rank": 303,
"k_per_9_value": 11.25,
"k_per_9_rank": 20,
"whip_value": 1.25,
"whip_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9973,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9973,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0109,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0051,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0109,
"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": 1,
"H": 5,
"BB": 1,
"SO": 9,
"HR": 0,
"ERA": 1.08,
"WHIP": 0.7200000000000001,
"K9": 9.72,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "542888",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 90.08271377170253,
"release_spin_rate": 2333.5185479930437,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 90.08271377170253,
"release_spin_rate": 2333.5185479930437,
"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.0827,
"release_spin_rate": 2333.5185,
"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.0214,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.153,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.158,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3871,
"prior_weight": 0.6129
},
"role": "pitcher",
"player_id": "542888",
"report_date": "20260604_C",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 0.0,
"SO": 5.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 3.4,
"Pitches": 14.6
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.8571,
"ER_per_IP": 0.21429,
"H_per_IP": 0.85714,
"BB_per_IP": 0.0,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 11.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 149.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.2,
"SO": 1.1,
"HR": 0.0,
"BF": 3.5,
"Pitches": 14.9
},
"rates": {
"ERA": 0.9643,
"WHIP": 0.8571,
"ER_per_IP": 0.10714,
"H_per_IP": 0.64286,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.0
}
},
"season": {
"games": 17,
"totals": {
"IP": 16.0,
"ER": 3.0,
"R": 3.0,
"H": 12.0,
"BB": 6.0,
"SO": 20.0,
"HR": 2.0,
"BF": 64.0,
"Pitches": 276.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1765,
"R": 0.1765,
"H": 0.7059,
"BB": 0.3529,
"SO": 1.1765,
"HR": 0.1176,
"BF": 3.7647,
"Pitches": 16.2353
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.125,
"ER_per_IP": 0.1875,
"H_per_IP": 0.75,
"BB_per_IP": 0.375,
"SO_per_IP": 1.25,
"HR_per_IP": 0.125
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.362,
"predicted_H": 0.88,
"predicted_BB": 0.283,
"predicted_SO": 1.02,
"predicted_HR": 0.094,
"predicted_ERA": 3.2588,
"predicted_WHIP": 1.1632
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.609,
"form_weight": 0.391,
"form_reliability": 0.3871,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.158,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3871,
"prior_weight": 0.6129
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.362,
"final": 0.1416,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.88,
"final": 0.3441,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.283,
"final": 1.3286,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.02,
"final": 1.0078,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.094,
"final": 0.0368,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2588,
"final": 3.2588,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1632,
"final": 1.1632,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Hunter Gaddis |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1539 |
| ESPN Rank | 248 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0367 |
| Avg Velo | 89.0446 |
| Avg Spin | 2243.6404 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 0 |
| Pre BB | 3 |
| Pre SO | 1 |
| Season ERA | 3.3061 |
| Season WHIP | 1.2245 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 70,
"wins": 40,
"losses": 30,
"win_pct": 0.5714,
"runs_scored": 309.0,
"runs_allowed": 298.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1571,
"avg_runs_scored": 4.4143,
"avg_runs_allowed": 4.2571,
"offense_index": 0.989,
"defense_index": 1.0485,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 5.1,
"run_differential": -17.0
},
"available": true,
"quality_score": 0.08
},
"opponent": {
"team": "NYY",
"games": 70,
"wins": 41,
"losses": 29,
"win_pct": 0.5857,
"runs_scored": 343.0,
"runs_allowed": 260.0,
"run_differential": 83.0,
"run_differential_per_game": 1.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 3.7143,
"offense_index": 1.0978,
"defense_index": 1.2017,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.4,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2539
},
"edges": {
"quality_edge": -0.1739,
"offense_edge": -0.011,
"opponent_offense_edge": 0.0978,
"defense_strength": 0.0485,
"opponent_defense_weakness": -0.2017,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9906,
"run_prevention": 1.0195,
"strikeout": 0.987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683769",
"profile": {
"available": true,
"pitcher_id": "683769",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 61.0,
"k_percent": 18.9,
"bb_percent": 8.1,
"woba": 0.317,
"xwoba": 0.291,
"sweet_spot_percent": 25.9,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 29.6,
"avg_best_speed": 78.0939,
"avg_hyper_speed": 92.6159,
"whiff_percent": 30.2,
"swing_percent": 49.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.4631,
"command_and_miss": 0.0436,
"regression_edge": 0.7429,
"xwoba_edge": 0.6857,
"barrel_edge": -0.0444,
"hard_hit_edge": 1.2571,
"whiff_edge": 0.6286,
"bb_edge": 0.275,
"pitch_design_score": -0.0367
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "683769",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.04455364080364,
"release_spin_rate": 2243.640442977162,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 89.04455364080364,
"release_spin_rate": 2243.640442977162,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.0446,
"release_spin_rate": 2243.6404,
"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.0367,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2623,
"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.1539,
"sample_weight": 0.45,
"run_prevention_factor": 0.9869,
"strikeout_factor": 1.0021,
"walk_factor": 0.9901,
"homer_factor": 0.9697,
"woba_minus_xwoba": 0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683769",
"espn_id": 4187661,
"player_name": "Hunter Gaddis",
"team": "CLE",
"role": "pitcher",
"espn_rank": 248,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 248,
"gp_value": 19.0,
"gp_rank": 155,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.8571,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 9.0,
"hld_rank": 21,
"ip_value": 16.1,
"ip_rank": 390,
"h_value": 18.0,
"h_rank": 308,
"er_value": 7.0,
"er_rank": 363,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 6.0,
"bb_rank": 388,
"k_value": 14.0,
"k_rank": 387,
"k_per_9_value": 7.714286,
"k_per_9_rank": 26,
"whip_value": 1.4693,
"whip_rank": null,
"war_value": 0.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9864,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0009,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 1,
"H": 8,
"BB": 1,
"SO": 7,
"HR": 0,
"ERA": 0.9000000000000001,
"WHIP": 0.9000000000000001,
"K9": 6.300000000000001,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "683769",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.04455364080364,
"release_spin_rate": 2243.640442977162,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 89.04455364080364,
"release_spin_rate": 2243.640442977162,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.0446,
"release_spin_rate": 2243.6404,
"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.0367,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2623,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.224,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.392,
"prior_weight": 0.608
},
"role": "pitcher",
"player_id": "683769",
"report_date": "20260604_C",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 0.0,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 8.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 149.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.8,
"BB": 0.1,
"SO": 0.7,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.9
},
"rates": {
"ERA": 0.9,
"WHIP": 0.9,
"ER_per_IP": 0.1,
"H_per_IP": 0.8,
"BB_per_IP": 0.1,
"SO_per_IP": 0.7,
"HR_per_IP": 0.0
}
},
"season": {
"games": 18,
"totals": {
"IP": 16.1,
"ER": 6.0,
"R": 6.0,
"H": 16.0,
"BB": 4.0,
"SO": 14.0,
"HR": 2.0,
"BF": 70.0,
"Pitches": 263.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3333,
"R": 0.3333,
"H": 0.8889,
"BB": 0.2222,
"SO": 0.7778,
"HR": 0.1111,
"BF": 3.8889,
"Pitches": 14.6111
},
"rates": {
"ERA": 3.3061,
"WHIP": 1.2245,
"ER_per_IP": 0.36735,
"H_per_IP": 0.97959,
"BB_per_IP": 0.2449,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.12245
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.2,
"predicted_H": 0.535,
"predicted_BB": 0.152,
"predicted_SO": 0.555,
"predicted_HR": 0.055,
"predicted_ERA": 3.023,
"predicted_WHIP": 1.156
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6069,
"form_weight": 0.3931,
"form_reliability": 0.392,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.224,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.392,
"prior_weight": 0.608
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.2,
"final": 0.6855,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.535,
"final": 0.2103,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 0.152,
"final": 1.8804,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.555,
"final": 0.8251,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.055,
"final": 0.0216,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.023,
"final": 3.023,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.156,
"final": 1.156,
"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.247 | 0.000 | 0.000 | Hitting_2B | 0.241 | 0.000 | -0.241 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.123 | 3.000 | 5.000 | Hitting_AB | 3.044 | 3.000 | -0.044 | 0.000 |
| predicted_AVG | 0.243 | 0.000 | 0.200 | Hitting_AVG | 0.206 | 0.667 | -0.206 | -0.667 |
| predicted_BB | 0.688 | 1.000 | 1.000 | Hitting_BB | 0.690 | 1.000 | 0.310 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.730 | 0.000 | 1.000 | Hitting_H | 0.627 | 2.000 | -0.627 | -2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.146 | 1.000 | -0.146 | -1.000 |
| predicted_OBP | 0.331 | 0.250 | 0.333 | Hitting_OBP | 0.349 | 0.750 | -0.099 | -0.500 |
| predicted_R | 0.558 | 0.000 | 1.000 | Hitting_R | 0.544 | 1.000 | -0.544 | -1.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.544 | 3.000 | -0.544 | -3.000 |
| predicted_SLG | 0.443 | 0.000 | 0.200 | Hitting_SLG | 0.428 | 1.667 | -0.428 | -1.667 |
| predicted_SO | 1.084 | 0.000 | 2.000 | Hitting_SO | 1.057 | 0.000 | -1.057 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.6880 -> 1.0000 (boost 0.3120, better) |
| Biggest Deboost | predicted_SO: 1.0840 -> 0.0000 (deboost -1.0840, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.1230 -> 5.4486 (boost 2.3256, 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 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3405 -> 0.3543 (boost 0.0138, better) | predicted_AVG: 0.2397 -> 0.2285 (deboost -0.0112, 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 | 0 | 7 | predicted_SO: 1.9245 -> 2.0000 (boost 0.0755, worse) | predicted_AB: 5.4486 -> 5.0000 (deboost -0.4486, worse) | AB rounded to 5 (raw=5.45), rates preserved: AVG=0.228 HR/AB=0.061 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273) |
| 6 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4882 -> 0.2000 (deboost -0.2882, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4882 (boost 0.2882, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656555",
"player_name": "Rhys Hoskins",
"position": "1B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.247,
"predicted_3B": 0.0,
"predicted_AB": 3.123,
"predicted_AVG": 0.243,
"predicted_BB": 0.688,
"predicted_H": 0.73,
"predicted_HR": 0.16,
"predicted_OBP": 0.331,
"predicted_R": 0.558,
"predicted_RBI": 0.53,
"predicted_SLG": 0.443,
"predicted_SO": 1.084
},
"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.4123,
"predicted_3B": 0.0009,
"predicted_AB": 5.4486,
"predicted_AVG": 0.2397,
"predicted_BB": 1.0683,
"predicted_H": 1.2796,
"predicted_HBP": 0.052,
"predicted_HR": 0.3441,
"predicted_OBP": 0.3405,
"predicted_R": 1.0273,
"predicted_RBI": 1.073,
"predicted_SLG": 0.4749,
"predicted_SO": 1.9136
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.4123,
"delta": 0.1653,
"percent_delta": 0.6692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.123,
"after": 5.4486,
"delta": 2.3256,
"percent_delta": 0.7447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2397,
"delta": -0.0033,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.688,
"after": 1.0683,
"delta": 0.3803,
"percent_delta": 0.5528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.2796,
"delta": 0.5496,
"percent_delta": 0.7529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.3441,
"delta": 0.1841,
"percent_delta": 1.1506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3405,
"delta": 0.0095,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.558,
"after": 1.0273,
"delta": 0.4693,
"percent_delta": 0.841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 1.073,
"delta": 0.543,
"percent_delta": 1.0245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4749,
"delta": 0.0319,
"percent_delta": 0.072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.084,
"after": 1.9136,
"delta": 0.8296,
"percent_delta": 0.7653,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.123,
"after": 5.4486,
"delta": 2.3256,
"percent_delta": 0.7447,
"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": 6,
"season": 45
}
},
{
"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.4123,
"predicted_3B": 0.0009,
"predicted_AB": 5.4486,
"predicted_AVG": 0.2285,
"predicted_BB": 1.0622,
"predicted_H": 1.2448,
"predicted_HBP": 0.052,
"predicted_HR": 0.3337,
"predicted_OBP": 0.3543,
"predicted_R": 0.9812,
"predicted_RBI": 1.0248,
"predicted_SLG": 0.4882,
"predicted_SO": 1.9245
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4123,
"after": 0.4123,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.4486,
"after": 5.4486,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2397,
"after": 0.2285,
"delta": -0.0112,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0683,
"after": 1.0622,
"delta": -0.0061,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2796,
"after": 1.2448,
"delta": -0.0348,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.052,
"after": 0.052,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3441,
"after": 0.3337,
"delta": -0.0104,
"percent_delta": -0.0302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3405,
"after": 0.3543,
"delta": 0.0138,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0273,
"after": 0.9812,
"delta": -0.0461,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.073,
"after": 1.0248,
"delta": -0.0482,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4749,
"after": 0.4882,
"delta": 0.0133,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9136,
"after": 1.9245,
"delta": 0.0109,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3405,
"after": 0.3543,
"delta": 0.0138,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2397,
"after": 0.2285,
"delta": -0.0112,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.45), rates preserved: AVG=0.228 HR/AB=0.061",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4123,
"after": 0.0,
"delta": -0.4123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.4486,
"after": 5.0,
"delta": -0.4486,
"percent_delta": -0.0823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0622,
"after": 1.0,
"delta": -0.0622,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2448,
"after": 1.0,
"delta": -0.2448,
"percent_delta": -0.1967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.052,
"after": 0.0,
"delta": -0.052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3337,
"after": 0.0,
"delta": -0.3337,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0248,
"after": 1.0,
"delta": -0.0248,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.9245,
"after": 2.0,
"delta": 0.0755,
"percent_delta": 0.0392,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.9245,
"after": 2.0,
"delta": 0.0755,
"percent_delta": 0.0392,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.4486,
"after": 5.0,
"delta": -0.4486,
"percent_delta": -0.0823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8927,
"bvp": 0.1073
},
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9812,
"after": 1.0,
"delta": 0.0188,
"percent_delta": 0.0192,
"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_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"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.2285,
"after": 0.2,
"delta": -0.0285,
"percent_delta": -0.1247,
"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.3543,
"after": 0.333,
"delta": -0.0213,
"percent_delta": -0.0601,
"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.4882,
"after": 0.2,
"delta": -0.2882,
"percent_delta": -0.5903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4882,
"after": 0.2,
"delta": -0.2882,
"percent_delta": -0.5903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2285,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3543,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4882,
"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.2,
"after": 0.2285,
"delta": 0.0285,
"percent_delta": 0.1423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3543,
"delta": 0.0213,
"percent_delta": 0.0641,
"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.2,
"after": 0.4882,
"delta": 0.2882,
"percent_delta": 1.441,
"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.2,
"after": 0.4882,
"delta": 0.2882,
"percent_delta": 1.441,
"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.247,
"after": 0.0,
"delta": -0.247,
"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.123,
"after": 3.0,
"delta": -0.123,
"percent_delta": -0.0394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2285,
"delta": -0.0145,
"percent_delta": -0.0597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.688,
"after": 1.0,
"delta": 0.312,
"percent_delta": 0.4535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3543,
"delta": 0.0233,
"percent_delta": 0.0704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.558,
"after": 0.0,
"delta": -0.558,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4882,
"delta": 0.0452,
"percent_delta": 0.102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.084,
"after": 0.0,
"delta": -1.084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.688,
"after": 1.0,
"delta": 0.312,
"percent_delta": 0.4535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.084,
"after": 0.0,
"delta": -1.084,
"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.247 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.123 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.688 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.558 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.443 | - |
| predicted_SO | 1.084 | - |
Final model 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.412 | 0.165 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.449 | 2.326 |
| predicted_AVG | 0.240 | -0.003 |
| predicted_BB | 1.068 | 0.380 |
| predicted_H | 1.280 | 0.550 |
| predicted_HBP | 0.052 | - |
| predicted_HR | 0.344 | 0.184 |
| predicted_OBP | 0.341 | 0.010 |
| predicted_R | 1.027 | 0.469 |
| predicted_RBI | 1.073 | 0.543 |
| predicted_SLG | 0.475 | 0.032 |
| predicted_SO | 1.914 | 0.830 |
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.412 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.449 | 0.000 |
| predicted_AVG | 0.229 | -0.011 |
| predicted_BB | 1.062 | -0.006 |
| predicted_H | 1.245 | -0.035 |
| predicted_HBP | 0.052 | 0.000 |
| predicted_HR | 0.334 | -0.010 |
| predicted_OBP | 0.354 | 0.014 |
| predicted_R | 0.981 | -0.046 |
| predicted_RBI | 1.025 | -0.048 |
| predicted_SLG | 0.488 | 0.013 |
| predicted_SO | 1.925 | 0.011 |
AB rounded to 5 (raw=5.45), rates preserved: AVG=0.228 HR/AB=0.061
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.412 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.449 |
| predicted_AVG | 0.200 | -0.028 |
| predicted_BB | 1.000 | -0.062 |
| predicted_H | 1.000 | -0.245 |
| predicted_HR | 0.000 | -0.334 |
| predicted_OBP | 0.333 | -0.021 |
| predicted_R | 1.000 | 0.019 |
| predicted_RBI | 1.000 | -0.025 |
| predicted_SLG | 0.200 | -0.288 |
| predicted_SO | 2.000 | 0.075 |
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 | -2.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 16.000 | 5.000 | 1.000 | 0.000 | 2.000 | 5.000 | 4.000 | 2.000 | 6.000 | 0.3125 | 0.3889 | 0.7500 | 0.3125 | 0.1250 | 0.3125 | 0.1250 | 0.3750 |
| last_10 | 0.20 | 6 | - | 36.000 | 10.000 | 3.000 | 0.000 | 5.000 | 10.000 | 7.000 | 2.000 | 17.000 | 0.2778 | 0.3158 | 0.7778 | 0.2778 | 0.1389 | 0.2778 | 0.0556 | 0.4722 |
| season | 0.60 | 45 | - | 481.000 | 99.000 | 38.000 | 0.000 | 23.000 | 85.000 | 86.000 | 106.000 | 167.000 | 0.2058 | 0.3460 | 0.4283 | 0.2058 | 0.0478 | 0.1767 | 0.2204 | 0.3472 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6260 |
| predicted_3B | 0.0020 |
| predicted_AB | 8.4550 |
| predicted_AVG | 0.2354 |
| predicted_BB | 1.5600 |
| predicted_H | 1.9900 |
| predicted_HBP | 0.0520 |
| predicted_HR | 0.5820 |
| predicted_OBP | 0.3528 |
| predicted_R | 1.6340 |
| predicted_RBI | 1.7750 |
| predicted_SLG | 0.5162 |
| predicted_SO | 2.9860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2470 | 0.6260 | 0.4123 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.1230 | 8.4550 | 5.4486 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2354 | 0.2397 | model_form_blend |
| predicted_BB | 0.6880 | 1.5600 | 1.0683 | model_form_blend |
| predicted_H | 0.7300 | 1.9900 | 1.2796 | model_form_blend |
| predicted_HBP | - | 0.0520 | 0.0520 | form_only |
| predicted_HR | 0.1600 | 0.5820 | 0.3441 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3528 | 0.3405 | model_form_blend |
| predicted_R | 0.5580 | 1.6340 | 1.0273 | model_form_blend |
| predicted_RBI | 0.5300 | 1.7750 | 1.0730 | model_form_blend |
| predicted_SLG | 0.4430 | 0.5162 | 0.4749 | model_form_blend |
| predicted_SO | 1.0840 | 2.9860 | 1.9136 | 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 | 158 |
| Season rows before report date | 158 |
| Report year | 2026 |
| Profile rows used | 154 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.206 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 656555 |
| playerID | 656555 |
| playerName | Rhys Hoskins |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-03 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 18.3 |
| sl_woba | 0.341 |
| sl_xwoba | 0.315 |
| sl_xba | 0.184 |
| sl_xslg | 0.342 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 22.5 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 41.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.114 | 1.000 | 0.000 | Hitting_2B | 0.110 | 1.000 | 0.890 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.909 | 4.000 | 4.000 | Hitting_AB | 2.813 | 4.000 | 1.187 | 0.000 |
| predicted_AVG | 0.271 | 0.500 | 0.250 | Hitting_AVG | 0.266 | 0.750 | 0.234 | -0.250 |
| predicted_BB | 0.409 | 0.000 | 0.000 | Hitting_BB | 0.418 | 1.000 | -0.418 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.700 | 2.000 | 1.000 | Hitting_H | 0.747 | 3.000 | 1.253 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.110 | 0.000 | -0.110 | 0.000 |
| predicted_OBP | 0.335 | 0.500 | 0.250 | Hitting_OBP | 0.361 | 0.800 | 0.139 | -0.300 |
| predicted_R | 0.455 | 1.000 | 1.000 | Hitting_R | 0.440 | 1.000 | 0.560 | 0.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.308 | 0.000 | -0.308 | 0.000 |
| predicted_SLG | 0.388 | 0.750 | 0.250 | Hitting_SLG | 0.422 | 1.000 | 0.328 | -0.250 |
| predicted_SO | 1.057 | 1.000 | 2.000 | Hitting_SO | 1.022 | 1.000 | -0.022 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.7000 -> 2.0000 (boost 1.3000, better) |
| Biggest Deboost | predicted_BB: 0.4090 -> 0.0000 (deboost -0.4090, 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 | 9 | 0 | 8 | 1 | predicted_AB: 2.9090 -> 4.2905 (boost 1.3815, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2755 -> 0.2584 (deboost -0.0171, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_BB: 0.5437 -> 1.0000 (boost 0.4563, better) | predicted_RBI: 0.3615 -> 0.0000 (deboost -0.3615, worse) | AB rounded to 4 (raw=4.29), rates preserved: AVG=0.258 HR/AB=0.029 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5848 -> 1.0000 (boost 0.4152, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3905 -> 0.2500 (deboost -0.1405, 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 2.0000 -> 1.0000 (deboost -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.3905 (boost 0.1405, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681807",
"player_name": "David Fry",
"position": "DH",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.114,
"predicted_3B": 0.0,
"predicted_AB": 2.909,
"predicted_AVG": 0.271,
"predicted_BB": 0.409,
"predicted_H": 0.7,
"predicted_HR": 0.09,
"predicted_OBP": 0.335,
"predicted_R": 0.455,
"predicted_RBI": 0.28,
"predicted_SLG": 0.388,
"predicted_SO": 1.057
},
"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.1977,
"predicted_3B": 0.0008,
"predicted_AB": 4.2905,
"predicted_AVG": 0.2755,
"predicted_BB": 0.5468,
"predicted_H": 1.1396,
"predicted_HBP": 0.005,
"predicted_HR": 0.1264,
"predicted_OBP": 0.3453,
"predicted_R": 0.6123,
"predicted_RBI": 0.3785,
"predicted_SLG": 0.4009,
"predicted_SO": 1.6573
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.1977,
"delta": 0.0837,
"percent_delta": 0.7342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.909,
"after": 4.2905,
"delta": 1.3815,
"percent_delta": 0.4749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2755,
"delta": 0.0045,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.5468,
"delta": 0.1378,
"percent_delta": 0.3369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 1.1396,
"delta": 0.4396,
"percent_delta": 0.628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1264,
"delta": 0.0364,
"percent_delta": 0.4044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3453,
"delta": 0.0103,
"percent_delta": 0.0307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.6123,
"delta": 0.1573,
"percent_delta": 0.3457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.3785,
"delta": 0.0985,
"percent_delta": 0.3518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.4009,
"delta": 0.0129,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.057,
"after": 1.6573,
"delta": 0.6003,
"percent_delta": 0.5679,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.909,
"after": 4.2905,
"delta": 1.3815,
"percent_delta": 0.4749,
"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": 4,
"last_10": 6,
"season": 33
}
},
{
"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.1977,
"predicted_3B": 0.0008,
"predicted_AB": 4.2905,
"predicted_AVG": 0.2584,
"predicted_BB": 0.5437,
"predicted_H": 1.1086,
"predicted_HBP": 0.005,
"predicted_HR": 0.1226,
"predicted_OBP": 0.3418,
"predicted_R": 0.5848,
"predicted_RBI": 0.3615,
"predicted_SLG": 0.3905,
"predicted_SO": 1.6667
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1977,
"after": 0.1977,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2905,
"after": 4.2905,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2755,
"after": 0.2584,
"delta": -0.0171,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5468,
"after": 0.5437,
"delta": -0.0031,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1396,
"after": 1.1086,
"delta": -0.031,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1264,
"after": 0.1226,
"delta": -0.0038,
"percent_delta": -0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3453,
"after": 0.3418,
"delta": -0.0035,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6123,
"after": 0.5848,
"delta": -0.0275,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3785,
"after": 0.3615,
"delta": -0.017,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4009,
"after": 0.3905,
"delta": -0.0104,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6573,
"after": 1.6667,
"delta": 0.0094,
"percent_delta": 0.0057,
"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_AVG",
"before": 0.2755,
"after": 0.2584,
"delta": -0.0171,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.29), rates preserved: AVG=0.258 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1977,
"after": 0.0,
"delta": -0.1977,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2905,
"after": 4.0,
"delta": -0.2905,
"percent_delta": -0.0677,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5437,
"after": 1.0,
"delta": 0.4563,
"percent_delta": 0.8392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1086,
"after": 1.0,
"delta": -0.1086,
"percent_delta": -0.098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1226,
"after": 0.0,
"delta": -0.1226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3615,
"after": 0.0,
"delta": -0.3615,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6667,
"after": 2.0,
"delta": 0.3333,
"percent_delta": 0.2,
"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_BB",
"before": 0.5437,
"after": 1.0,
"delta": 0.4563,
"percent_delta": 0.8392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3615,
"after": 0.0,
"delta": -0.3615,
"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=9.0, weight=0.092, 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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.9077,
"bvp": 0.0923
},
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5848,
"after": 1.0,
"delta": 0.4152,
"percent_delta": 0.71,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5848,
"after": 1.0,
"delta": 0.4152,
"percent_delta": 0.71,
"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": 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.2584,
"after": 0.25,
"delta": -0.0084,
"percent_delta": -0.0325,
"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.3418,
"after": 0.25,
"delta": -0.0918,
"percent_delta": -0.2686,
"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.3905,
"after": 0.25,
"delta": -0.1405,
"percent_delta": -0.3598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3905,
"after": 0.25,
"delta": -0.1405,
"percent_delta": -0.3598,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2584,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3418,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3905,
"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": 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.2584,
"delta": 0.0084,
"percent_delta": 0.0335,
"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.25,
"after": 0.3418,
"delta": 0.0918,
"percent_delta": 0.3672,
"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.3905,
"delta": 0.1405,
"percent_delta": 0.5622,
"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.3905,
"delta": 0.1405,
"percent_delta": 0.5622,
"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.114,
"after": 1.0,
"delta": 0.886,
"percent_delta": 7.7719,
"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.909,
"after": 4.0,
"delta": 1.091,
"percent_delta": 0.375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2584,
"delta": -0.0126,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 2.0,
"delta": 1.3,
"percent_delta": 1.8571,
"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.335,
"after": 0.3418,
"delta": 0.0068,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 1.0,
"delta": 0.545,
"percent_delta": 1.1978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3905,
"delta": 0.0025,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.057,
"after": 1.0,
"delta": -0.057,
"percent_delta": -0.0539,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7,
"after": 2.0,
"delta": 1.3,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"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.114 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.909 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.409 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.388 | - |
| predicted_SO | 1.057 | - |
Final model 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.198 | 0.084 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.290 | 1.381 |
| predicted_AVG | 0.276 | 0.005 |
| predicted_BB | 0.547 | 0.138 |
| predicted_H | 1.140 | 0.440 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.126 | 0.036 |
| predicted_OBP | 0.345 | 0.010 |
| predicted_R | 0.612 | 0.157 |
| predicted_RBI | 0.379 | 0.098 |
| predicted_SLG | 0.401 | 0.013 |
| predicted_SO | 1.657 | 0.600 |
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.198 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.290 | 0.000 |
| predicted_AVG | 0.258 | -0.017 |
| predicted_BB | 0.544 | -0.003 |
| predicted_H | 1.109 | -0.031 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.123 | -0.004 |
| predicted_OBP | 0.342 | -0.004 |
| predicted_R | 0.585 | -0.027 |
| predicted_RBI | 0.361 | -0.017 |
| predicted_SLG | 0.391 | -0.010 |
| predicted_SO | 1.667 | 0.009 |
AB rounded to 4 (raw=4.29), rates preserved: AVG=0.258 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, 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 | -1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 2.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.198 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.290 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.544 |
| predicted_H | 1.000 | -0.109 |
| predicted_HR | 0.000 | -0.123 |
| predicted_OBP | 0.250 | -0.092 |
| predicted_R | 1.000 | 0.415 |
| predicted_RBI | 0.000 | -0.361 |
| predicted_SLG | 0.250 | -0.141 |
| predicted_SO | 2.000 | 0.333 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 10.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 7.000 | 0.3000 | 0.3636 | 0.4000 | 0.3000 | 0.0000 | 0.0000 | 0.1000 | 0.7000 |
| last_10 | 0.20 | 6 | - | 25.000 | 10.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 7.000 | 0.4000 | 0.4231 | 0.4400 | 0.4000 | 0.0000 | 0.0000 | 0.0400 | 0.2800 |
| season | 0.60 | 33 | - | 256.000 | 68.000 | 10.000 | 0.000 | 10.000 | 28.000 | 40.000 | 36.000 | 93.000 | 0.2656 | 0.3562 | 0.4219 | 0.2656 | 0.0391 | 0.1094 | 0.1406 | 0.3633 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3120 |
| predicted_3B | 0.0020 |
| predicted_AB | 6.1770 |
| predicted_AVG | 0.2817 |
| predicted_BB | 0.7350 |
| predicted_H | 1.7400 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1760 |
| predicted_OBP | 0.3593 |
| predicted_R | 0.8270 |
| predicted_RBI | 0.5130 |
| predicted_SLG | 0.4184 |
| predicted_SO | 2.4770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.3120 | 0.1977 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9090 | 6.1770 | 4.2905 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2817 | 0.2755 | model_form_blend |
| predicted_BB | 0.4090 | 0.7350 | 0.5468 | model_form_blend |
| predicted_H | 0.7000 | 1.7400 | 1.1396 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0900 | 0.1760 | 0.1264 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3593 | 0.3453 | model_form_blend |
| predicted_R | 0.4550 | 0.8270 | 0.6123 | model_form_blend |
| predicted_RBI | 0.2800 | 0.5130 | 0.3785 | model_form_blend |
| predicted_SLG | 0.3880 | 0.4184 | 0.4009 | model_form_blend |
| predicted_SO | 1.0570 | 2.4770 | 1.6573 | 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 | 91 |
| Season rows before report date | 91 |
| 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 | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.266 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260531_BOS@CLE |
| game_type | full |
| mlbID | 681807 |
| playerID | 681807 |
| playerName | David Fry |
| pos | RF |
| started | True |
| startingPosition | LF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-05-31 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 14.7 |
| sl_woba | 0.347 |
| sl_xwoba | 0.28 |
| sl_xba | 0.209 |
| sl_xslg | 0.284 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 34.0 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 30.5 |
| sl_swing_percent | 41.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.205 | 0.000 | 0.000 | Hitting_2B | 0.202 | 1.000 | -0.202 | -1.000 |
| predicted_3B | 0.005 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 3.856 | 4.000 | 7.000 | Hitting_AB | 3.798 | 4.000 | 0.202 | 0.000 |
| predicted_AVG | 0.223 | 0.000 | 0.143 | Hitting_AVG | 0.259 | 0.250 | -0.259 | -0.250 |
| predicted_BB | 0.128 | 0.000 | 0.000 | Hitting_BB | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 0.330 | 0.000 | 1.000 | Hitting_H | 0.985 | 1.000 | -0.985 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_OBP | 0.248 | 0.000 | 0.143 | Hitting_OBP | 0.298 | 0.250 | -0.298 | -0.250 |
| predicted_R | 0.538 | 0.000 | 1.000 | Hitting_R | 0.530 | 0.000 | -0.530 | 0.000 |
| predicted_RBI | 0.190 | 0.000 | 1.000 | Hitting_RBI | 0.601 | 0.000 | -0.601 | 0.000 |
| predicted_SLG | 0.378 | 0.000 | 0.143 | Hitting_SLG | 0.467 | 0.500 | -0.467 | -0.500 |
| predicted_SO | 0.836 | 1.000 | 2.000 | Hitting_SO | 0.823 | 1.000 | 0.177 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.8360 -> 1.0000 (boost 0.1640, worse) |
| Biggest Deboost | predicted_R: 0.5380 -> 0.0000 (deboost -0.5380, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.8560 -> 7.0294 (boost 3.1734, 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.3976 -> 0.3399 (deboost -0.0577, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 1.7299 -> 2.0000 (boost 0.2701, worse) | predicted_H: 1.4153 -> 1.0000 (deboost -0.4153, worse) | AB rounded to 7 (raw=7.03), rates preserved: AVG=0.201 HR/AB=0.028 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8181 -> 1.0000 (boost 0.1819, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3399 -> 0.1430 (deboost -0.1969, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3399 (boost 0.1969, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682657",
"player_name": "Angel Martínez",
"position": "RF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.205,
"predicted_3B": 0.005,
"predicted_AB": 3.856,
"predicted_AVG": 0.223,
"predicted_BB": 0.128,
"predicted_H": 0.33,
"predicted_HR": 0.05,
"predicted_OBP": 0.248,
"predicted_R": 0.538,
"predicted_RBI": 0.19,
"predicted_SLG": 0.378,
"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.3663,
"predicted_3B": 0.0081,
"predicted_AB": 7.0294,
"predicted_AVG": 0.2397,
"predicted_BB": 0.197,
"predicted_H": 1.4549,
"predicted_HBP": 0.186,
"predicted_HR": 0.2034,
"predicted_OBP": 0.2665,
"predicted_R": 0.8566,
"predicted_RBI": 0.8061,
"predicted_SLG": 0.3976,
"predicted_SO": 1.7201
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.3663,
"delta": 0.1613,
"percent_delta": 0.7868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.005,
"after": 0.0081,
"delta": 0.0031,
"percent_delta": 0.62,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.856,
"after": 7.0294,
"delta": 3.1734,
"percent_delta": 0.823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2397,
"delta": 0.0167,
"percent_delta": 0.0749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.128,
"after": 0.197,
"delta": 0.069,
"percent_delta": 0.5391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.4549,
"delta": 1.1249,
"percent_delta": 3.4088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.2034,
"delta": 0.1534,
"percent_delta": 3.068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.2665,
"delta": 0.0185,
"percent_delta": 0.0746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 0.8566,
"delta": 0.3186,
"percent_delta": 0.5922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.8061,
"delta": 0.6161,
"percent_delta": 3.2426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3976,
"delta": 0.0196,
"percent_delta": 0.0519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.836,
"after": 1.7201,
"delta": 0.8841,
"percent_delta": 1.0575,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.856,
"after": 7.0294,
"delta": 3.1734,
"percent_delta": 0.823,
"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": 6,
"season": 53
}
},
{
"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.3663,
"predicted_3B": 0.0081,
"predicted_AB": 7.0294,
"predicted_AVG": 0.2013,
"predicted_BB": 0.1959,
"predicted_H": 1.4153,
"predicted_HBP": 0.186,
"predicted_HR": 0.1973,
"predicted_OBP": 0.223,
"predicted_R": 0.8181,
"predicted_RBI": 0.7699,
"predicted_SLG": 0.3399,
"predicted_SO": 1.7299
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3663,
"after": 0.3663,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0081,
"after": 0.0081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0294,
"after": 7.0294,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2397,
"after": 0.2013,
"delta": -0.0384,
"percent_delta": -0.1602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.197,
"after": 0.1959,
"delta": -0.0011,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4549,
"after": 1.4153,
"delta": -0.0396,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.186,
"after": 0.186,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2034,
"after": 0.1973,
"delta": -0.0061,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2665,
"after": 0.223,
"delta": -0.0435,
"percent_delta": -0.1632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8566,
"after": 0.8181,
"delta": -0.0385,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8061,
"after": 0.7699,
"delta": -0.0362,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3976,
"after": 0.3399,
"delta": -0.0577,
"percent_delta": -0.1451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7201,
"after": 1.7299,
"delta": 0.0098,
"percent_delta": 0.0057,
"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.3976,
"after": 0.3399,
"delta": -0.0577,
"percent_delta": -0.1451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.03), rates preserved: AVG=0.201 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3663,
"after": 0.0,
"delta": -0.3663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0081,
"after": 0.0,
"delta": -0.0081,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0294,
"after": 7.0,
"delta": -0.0294,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1959,
"after": 0.0,
"delta": -0.1959,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4153,
"after": 1.0,
"delta": -0.4153,
"percent_delta": -0.2934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.186,
"after": 0.0,
"delta": -0.186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1973,
"after": 0.0,
"delta": -0.1973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7699,
"after": 1.0,
"delta": 0.2301,
"percent_delta": 0.2989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7299,
"after": 2.0,
"delta": 0.2701,
"percent_delta": 0.1561,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.7299,
"after": 2.0,
"delta": 0.2701,
"percent_delta": 0.1561,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4153,
"after": 1.0,
"delta": -0.4153,
"percent_delta": -0.2934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"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": 7.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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.8181,
"after": 1.0,
"delta": 0.1819,
"percent_delta": 0.2223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8181,
"after": 1.0,
"delta": 0.1819,
"percent_delta": 0.2223,
"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": 7.0,
"predicted_AVG": 0.143,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.143,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.143,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2013,
"after": 0.143,
"delta": -0.0583,
"percent_delta": -0.2896,
"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.223,
"after": 0.143,
"delta": -0.08,
"percent_delta": -0.3587,
"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.3399,
"after": 0.143,
"delta": -0.1969,
"percent_delta": -0.5793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3399,
"after": 0.143,
"delta": -0.1969,
"percent_delta": -0.5793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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.2013,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.223,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3399,
"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.143,
"after": 0.2013,
"delta": 0.0583,
"percent_delta": 0.408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.143,
"after": 0.223,
"delta": 0.08,
"percent_delta": 0.5594,
"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.143,
"after": 0.3399,
"delta": 0.1969,
"percent_delta": 1.3772,
"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.143,
"after": 0.3399,
"delta": 0.1969,
"percent_delta": 1.3772,
"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.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.856,
"after": 4.0,
"delta": 0.144,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2013,
"delta": -0.0217,
"percent_delta": -0.0973,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"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.248,
"after": 0.223,
"delta": -0.025,
"percent_delta": -0.1008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3399,
"delta": -0.0381,
"percent_delta": -0.1008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.836,
"after": 1.0,
"delta": 0.164,
"percent_delta": 0.1962,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.836,
"after": 1.0,
"delta": 0.164,
"percent_delta": 0.1962,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | - |
| predicted_3B | 0.005 | - |
| predicted_AB | 3.856 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.128 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.248 | - |
| predicted_R | 0.538 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.378 | - |
| 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.366 | 0.161 |
| predicted_3B | 0.008 | 0.003 |
| predicted_AB | 7.029 | 3.173 |
| predicted_AVG | 0.240 | 0.017 |
| predicted_BB | 0.197 | 0.069 |
| predicted_H | 1.455 | 1.125 |
| predicted_HBP | 0.186 | - |
| predicted_HR | 0.203 | 0.153 |
| predicted_OBP | 0.267 | 0.019 |
| predicted_R | 0.857 | 0.319 |
| predicted_RBI | 0.806 | 0.616 |
| predicted_SLG | 0.398 | 0.020 |
| predicted_SO | 1.720 | 0.884 |
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.366 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 7.029 | 0.000 |
| predicted_AVG | 0.201 | -0.038 |
| predicted_BB | 0.196 | -0.001 |
| predicted_H | 1.415 | -0.040 |
| predicted_HBP | 0.186 | 0.000 |
| predicted_HR | 0.197 | -0.006 |
| predicted_OBP | 0.223 | -0.044 |
| predicted_R | 0.818 | -0.038 |
| predicted_RBI | 0.770 | -0.036 |
| predicted_SLG | 0.340 | -0.058 |
| predicted_SO | 1.730 | 0.010 |
AB rounded to 7 (raw=7.03), rates preserved: AVG=0.201 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.366 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 7.000 | -0.029 |
| predicted_AVG | 0.143 | -0.058 |
| predicted_BB | 0.000 | -0.196 |
| predicted_H | 1.000 | -0.415 |
| predicted_HR | 0.000 | -0.197 |
| predicted_OBP | 0.143 | -0.080 |
| predicted_R | 1.000 | 0.182 |
| predicted_RBI | 1.000 | 0.230 |
| predicted_SLG | 0.143 | -0.197 |
| predicted_SO | 2.000 | 0.270 |
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 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -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 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 7.000 | 0.2632 | 0.2632 | 0.3158 | 0.2632 | 0.0000 | 0.1053 | 0.0000 | 0.3684 |
| last_10 | 0.20 | 6 | - | 39.000 | 11.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 0.000 | 13.000 | 0.2821 | 0.2821 | 0.3077 | 0.2821 | 0.0000 | 0.1282 | 0.0000 | 0.3333 |
| season | 0.60 | 53 | - | 752.000 | 195.000 | 40.000 | 1.000 | 38.000 | 119.000 | 105.000 | 25.000 | 163.000 | 0.2593 | 0.2982 | 0.4668 | 0.2593 | 0.0505 | 0.1582 | 0.0332 | 0.2168 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5720 |
| predicted_3B | 0.0120 |
| predicted_AB | 11.0780 |
| predicted_AVG | 0.2609 |
| predicted_BB | 0.2850 |
| predicted_H | 2.8900 |
| predicted_HBP | 0.1860 |
| predicted_HR | 0.3990 |
| predicted_OBP | 0.2900 |
| predicted_R | 1.2630 |
| predicted_RBI | 1.5920 |
| predicted_SLG | 0.4227 |
| predicted_SO | 2.8480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.5720 | 0.3663 | model_form_blend |
| predicted_3B | 0.0050 | 0.0120 | 0.0081 | model_form_blend |
| predicted_AB | 3.8560 | 11.0780 | 7.0294 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2609 | 0.2397 | model_form_blend |
| predicted_BB | 0.1280 | 0.2850 | 0.1970 | model_form_blend |
| predicted_H | 0.3300 | 2.8900 | 1.4549 | model_form_blend |
| predicted_HBP | - | 0.1860 | 0.1860 | form_only |
| predicted_HR | 0.0500 | 0.3990 | 0.2034 | model_form_blend |
| predicted_OBP | 0.2480 | 0.2900 | 0.2665 | model_form_blend |
| predicted_R | 0.5380 | 1.2630 | 0.8566 | model_form_blend |
| predicted_RBI | 0.1900 | 1.5920 | 0.8061 | model_form_blend |
| predicted_SLG | 0.3780 | 0.4227 | 0.3976 | model_form_blend |
| predicted_SO | 0.8360 | 2.8480 | 1.7201 | 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 | 198 |
| Season rows before report date | 198 |
| Report year | 2026 |
| Profile rows used | 195 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| 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 | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 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 | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 682657 |
| playerID | 682657 |
| playerName | Angel Martínez |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-03 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 2.9 |
| sl_woba | 0.314 |
| sl_xwoba | 0.297 |
| sl_xba | 0.248 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 34.6 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 19.0 |
| sl_swing_percent | 54.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.239 | 0.000 | 1.000 | Hitting_2B | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.940 | 3.000 | 7.000 | Hitting_AB | 3.650 | 4.000 | -0.650 | -1.000 |
| predicted_AVG | 0.241 | 0.333 | 0.286 | Hitting_AVG | 0.295 | 0.000 | 0.038 | 0.333 |
| predicted_BB | 0.590 | 1.000 | 1.000 | Hitting_BB | 0.590 | 0.000 | 0.410 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_H | 0.950 | 1.000 | 2.000 | Hitting_H | 1.077 | 0.000 | -0.077 | 1.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.103 | 0.000 | 0.897 | 1.000 |
| predicted_OBP | 0.318 | 0.500 | 0.375 | Hitting_OBP | 0.404 | 0.000 | 0.096 | 0.500 |
| predicted_R | 0.470 | 1.000 | 1.000 | Hitting_R | 0.470 | 0.000 | 0.530 | 1.000 |
| predicted_RBI | 0.520 | 2.000 | 1.000 | Hitting_RBI | 0.444 | 0.000 | 1.556 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_SLG | 0.418 | 1.333 | 0.429 | Hitting_SLG | 0.445 | 0.000 | 0.888 | 1.333 |
| predicted_SO | 0.752 | 0.000 | 2.000 | Hitting_SO | 0.752 | 0.000 | -0.752 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.5200 -> 2.0000 (boost 1.4800, better) |
| Biggest Deboost | predicted_AB: 3.9400 -> 3.0000 (deboost -0.9400, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.9400 -> 6.6533 (boost 2.7133, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3313 -> 0.3374 (boost 0.0061, better) | predicted_SLG: 0.4251 -> 0.4064 (deboost -0.0187, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 6 | 2 | 5 | 3 | predicted_SO: 1.4410 -> 2.0000 (boost 0.5590, worse) | predicted_HBP: 0.1590 -> 0.0000 (deboost -0.1590, worse) | AB rounded to 7 (raw=6.65), rates preserved: AVG=0.255 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7231 -> 1.0000 (boost 0.2769, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3374 -> 0.3750 (boost 0.0376, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 2 | 4 | 3 | 3 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3750 -> 0.3374 (deboost -0.0376, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683953",
"player_name": "Travis Bazzana",
"position": "2B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.239,
"predicted_3B": 0.0,
"predicted_AB": 3.94,
"predicted_AVG": 0.241,
"predicted_BB": 0.59,
"predicted_H": 0.95,
"predicted_HR": 0.1,
"predicted_OBP": 0.318,
"predicted_R": 0.47,
"predicted_RBI": 0.52,
"predicted_SLG": 0.418,
"predicted_SO": 0.752
},
"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.5833,
"predicted_3B": 0.0009,
"predicted_AB": 6.6533,
"predicted_AVG": 0.2547,
"predicted_BB": 0.8324,
"predicted_H": 1.744,
"predicted_HBP": 0.159,
"predicted_HR": 0.1451,
"predicted_OBP": 0.3313,
"predicted_R": 0.7571,
"predicted_RBI": 0.9016,
"predicted_SLG": 0.4251,
"predicted_SO": 1.4328
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.5833,
"delta": 0.3443,
"percent_delta": 1.4406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.94,
"after": 6.6533,
"delta": 2.7133,
"percent_delta": 0.6887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2547,
"delta": 0.0137,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.59,
"after": 0.8324,
"delta": 0.2424,
"percent_delta": 0.4108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.744,
"delta": 0.794,
"percent_delta": 0.8358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1451,
"delta": 0.0451,
"percent_delta": 0.451,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3313,
"delta": 0.0133,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 0.7571,
"delta": 0.2871,
"percent_delta": 0.6109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.9016,
"delta": 0.3816,
"percent_delta": 0.7338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4251,
"delta": 0.0071,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 1.4328,
"delta": 0.6808,
"percent_delta": 0.9053,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.94,
"after": 6.6533,
"delta": 2.7133,
"percent_delta": 0.6887,
"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": 32
}
},
{
"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.5833,
"predicted_3B": 0.0009,
"predicted_AB": 6.6533,
"predicted_AVG": 0.255,
"predicted_BB": 0.8277,
"predicted_H": 1.6966,
"predicted_HBP": 0.159,
"predicted_HR": 0.1407,
"predicted_OBP": 0.3374,
"predicted_R": 0.7231,
"predicted_RBI": 0.8611,
"predicted_SLG": 0.4064,
"predicted_SO": 1.441
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5833,
"after": 0.5833,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.6533,
"after": 6.6533,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2547,
"after": 0.255,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8324,
"after": 0.8277,
"delta": -0.0047,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.744,
"after": 1.6966,
"delta": -0.0474,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.159,
"after": 0.159,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1451,
"after": 0.1407,
"delta": -0.0044,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3313,
"after": 0.3374,
"delta": 0.0061,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7571,
"after": 0.7231,
"delta": -0.034,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9016,
"after": 0.8611,
"delta": -0.0405,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4251,
"after": 0.4064,
"delta": -0.0187,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4328,
"after": 1.441,
"delta": 0.0082,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3313,
"after": 0.3374,
"delta": 0.0061,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4251,
"after": 0.4064,
"delta": -0.0187,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.65), rates preserved: AVG=0.255 HR/AB=0.021",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5833,
"after": 1.0,
"delta": 0.4167,
"percent_delta": 0.7144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.6533,
"after": 7.0,
"delta": 0.3467,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8277,
"after": 1.0,
"delta": 0.1723,
"percent_delta": 0.2082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6966,
"after": 2.0,
"delta": 0.3034,
"percent_delta": 0.1788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.159,
"after": 0.0,
"delta": -0.159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1407,
"after": 0.0,
"delta": -0.1407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8611,
"after": 1.0,
"delta": 0.1389,
"percent_delta": 0.1613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.441,
"after": 2.0,
"delta": 0.559,
"percent_delta": 0.3879,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 6,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.441,
"after": 2.0,
"delta": 0.559,
"percent_delta": 0.3879,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.159,
"after": 0.0,
"delta": -0.159,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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": 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": 7.0,
"after": 7.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": 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.7231,
"after": 1.0,
"delta": 0.2769,
"percent_delta": 0.3829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7231,
"after": 1.0,
"delta": 0.2769,
"percent_delta": 0.3829,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.429,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.286,
"delta": 0.031,
"percent_delta": 0.1216,
"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": 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.3374,
"after": 0.375,
"delta": 0.0376,
"percent_delta": 0.1114,
"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.4064,
"after": 0.429,
"delta": 0.0226,
"percent_delta": 0.0556,
"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_OBP",
"before": 0.3374,
"after": 0.375,
"delta": 0.0376,
"percent_delta": 0.1114,
"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": 1.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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"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.255,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3374,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4064,
"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.286,
"after": 0.255,
"delta": -0.031,
"percent_delta": -0.1084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.375,
"after": 0.3374,
"delta": -0.0376,
"percent_delta": -0.1002,
"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.429,
"after": 0.4064,
"delta": -0.0226,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3374,
"delta": -0.0376,
"percent_delta": -0.1002,
"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.239,
"after": 0.0,
"delta": -0.239,
"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.94,
"after": 3.0,
"delta": -0.94,
"percent_delta": -0.2386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.255,
"delta": 0.014,
"percent_delta": 0.0581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.0,
"delta": 0.05,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3374,
"delta": 0.0194,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 1.0,
"delta": 0.53,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 2.0,
"delta": 1.48,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4064,
"delta": -0.0116,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 0.0,
"delta": -0.752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.52,
"after": 2.0,
"delta": 1.48,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.94,
"after": 3.0,
"delta": -0.94,
"percent_delta": -0.2386,
"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.239 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.940 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.590 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.470 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.418 | - |
| predicted_SO | 0.752 | - |
Final model 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.583 | 0.344 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.653 | 2.713 |
| predicted_AVG | 0.255 | 0.014 |
| predicted_BB | 0.832 | 0.242 |
| predicted_H | 1.744 | 0.794 |
| predicted_HBP | 0.159 | - |
| predicted_HR | 0.145 | 0.045 |
| predicted_OBP | 0.331 | 0.013 |
| predicted_R | 0.757 | 0.287 |
| predicted_RBI | 0.902 | 0.382 |
| predicted_SLG | 0.425 | 0.007 |
| predicted_SO | 1.433 | 0.681 |
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.583 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.653 | 0.000 |
| predicted_AVG | 0.255 | 0.000 |
| predicted_BB | 0.828 | -0.005 |
| predicted_H | 1.697 | -0.047 |
| predicted_HBP | 0.159 | 0.000 |
| predicted_HR | 0.141 | -0.004 |
| predicted_OBP | 0.337 | 0.006 |
| predicted_R | 0.723 | -0.034 |
| predicted_RBI | 0.861 | -0.040 |
| predicted_SLG | 0.406 | -0.019 |
| predicted_SO | 1.441 | 0.008 |
AB rounded to 7 (raw=6.65), rates preserved: AVG=0.255 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 2.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 | 1.000 | 0.417 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.347 |
| predicted_AVG | 0.286 | 0.031 |
| predicted_BB | 1.000 | 0.172 |
| predicted_H | 2.000 | 0.303 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.375 | 0.038 |
| predicted_R | 1.000 | 0.277 |
| predicted_RBI | 1.000 | 0.139 |
| predicted_SLG | 0.429 | 0.023 |
| predicted_SO | 2.000 | 0.559 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | 3.000 | 0.000 | 0.000 | 4.000 | 1.000 | 0.000 | 6.000 | 0.1905 | 0.1905 | 0.3333 | 0.1905 | 0.0000 | 0.1905 | 0.0000 | 0.2857 |
| last_10 | 0.20 | 7 | - | 40.000 | 13.000 | 12.000 | 0.000 | 0.000 | 5.000 | 5.000 | 2.000 | 10.000 | 0.3250 | 0.3488 | 0.6250 | 0.3250 | 0.0000 | 0.1250 | 0.0500 | 0.2500 |
| season | 0.60 | 32 | - | 427.000 | 126.000 | 28.000 | 0.000 | 12.000 | 52.000 | 55.000 | 69.000 | 88.000 | 0.2951 | 0.4043 | 0.4450 | 0.2951 | 0.0281 | 0.1218 | 0.1616 | 0.2061 |
| Metric | Value |
|---|---|
| predicted_2B | 1.0330 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.1970 |
| predicted_AVG | 0.2727 |
| predicted_BB | 1.1490 |
| predicted_H | 2.7810 |
| predicted_HBP | 0.1590 |
| predicted_HR | 0.2040 |
| predicted_OBP | 0.3486 |
| predicted_R | 1.1320 |
| predicted_RBI | 1.4000 |
| predicted_SLG | 0.4344 |
| predicted_SO | 2.3220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2390 | 1.0330 | 0.5833 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.9400 | 10.1970 | 6.6533 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2727 | 0.2547 | model_form_blend |
| predicted_BB | 0.5900 | 1.1490 | 0.8324 | model_form_blend |
| predicted_H | 0.9500 | 2.7810 | 1.7440 | model_form_blend |
| predicted_HBP | - | 0.1590 | 0.1590 | form_only |
| predicted_HR | 0.1000 | 0.2040 | 0.1451 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3486 | 0.3313 | model_form_blend |
| predicted_R | 0.4700 | 1.1320 | 0.7571 | model_form_blend |
| predicted_RBI | 0.5200 | 1.4000 | 0.9016 | model_form_blend |
| predicted_SLG | 0.4180 | 0.4344 | 0.4251 | model_form_blend |
| predicted_SO | 0.7520 | 2.3220 | 1.4328 | 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 | 117 |
| Season rows before report date | 117 |
| Report year | 2026 |
| Profile rows used | 117 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 683953 |
| playerID | 683953 |
| playerName | Travis Bazzana |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.357 |
| sl_xwoba | 0.327 |
| sl_xba | 0.259 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 37.4 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 23.5 |
| sl_swing_percent | 43.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.235 | 0.000 | 1.000 | Hitting_2B | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.210 | 3.000 | 7.000 | Hitting_AB | 3.714 | 4.000 | -0.714 | -1.000 |
| predicted_AVG | 0.250 | 0.000 | 0.286 | Hitting_AVG | 0.239 | 0.750 | -0.239 | -0.750 |
| predicted_BB | 0.671 | 1.000 | 1.000 | Hitting_BB | 0.671 | 0.000 | 0.329 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 1.050 | 0.000 | 2.000 | Hitting_H | 0.886 | 3.000 | -0.886 | -3.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.145 | 1.000 | -0.145 | -1.000 |
| predicted_OBP | 0.344 | 0.250 | 0.375 | Hitting_OBP | 0.353 | 0.750 | -0.103 | -0.500 |
| predicted_R | 0.576 | 0.000 | 1.000 | Hitting_R | 0.576 | 3.000 | -0.576 | -3.000 |
| predicted_RBI | 0.630 | 0.000 | 1.000 | Hitting_RBI | 0.506 | 1.000 | -0.506 | -1.000 |
| predicted_SLG | 0.471 | 0.000 | 0.429 | Hitting_SLG | 0.419 | 1.500 | -0.419 | -1.500 |
| predicted_SO | 0.545 | 0.000 | 1.000 | Hitting_SO | 0.545 | 0.000 | -0.545 | 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: 0.6710 -> 1.0000 (boost 0.3290, better) |
| Biggest Deboost | predicted_AB: 4.2100 -> 3.0000 (deboost -1.2100, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.2100 -> 7.4773 (boost 3.2673, 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 | 5 | 1 | 4 | 1 | 4 | predicted_OBP: 0.3573 -> 0.3627 (boost 0.0054, better) | predicted_R: 1.2742 -> 1.2170 (deboost -0.0572, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_2B: 0.7067 -> 1.0000 (boost 0.2933, better) | predicted_AB: 7.4773 -> 7.0000 (deboost -0.4773, worse) | AB rounded to 7 (raw=7.48), rates preserved: AVG=0.268 HR/AB=0.037 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=53.0, weight=0.250, BvP AVG=0.245) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2170 -> 1.0000 (deboost -0.2170, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2675 -> 0.2860 (boost 0.0185, better) | predicted_SLG: 0.4724 -> 0.4290 (deboost -0.0434, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4290 -> 0.4724 (boost 0.0434, better) | predicted_AVG: 0.2860 -> 0.2675 (deboost -0.0185, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608070",
"player_name": "José Ramírez",
"position": "3B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.0,
"predicted_AB": 4.21,
"predicted_AVG": 0.25,
"predicted_BB": 0.671,
"predicted_H": 1.05,
"predicted_HR": 0.14,
"predicted_OBP": 0.344,
"predicted_R": 0.576,
"predicted_RBI": 0.63,
"predicted_SLG": 0.471,
"predicted_SO": 0.545
},
"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.7067,
"predicted_3B": 0.0004,
"predicted_AB": 7.4773,
"predicted_AVG": 0.2662,
"predicted_BB": 1.1228,
"predicted_H": 2.0562,
"predicted_HBP": 0.035,
"predicted_HR": 0.2834,
"predicted_OBP": 0.3573,
"predicted_R": 1.2742,
"predicted_RBI": 1.2548,
"predicted_SLG": 0.4923,
"predicted_SO": 0.9012
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.7067,
"delta": 0.4717,
"percent_delta": 2.0072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.21,
"after": 7.4773,
"delta": 3.2673,
"percent_delta": 0.7761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2662,
"delta": 0.0162,
"percent_delta": 0.0648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.671,
"after": 1.1228,
"delta": 0.4518,
"percent_delta": 0.6733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 2.0562,
"delta": 1.0062,
"percent_delta": 0.9583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.2834,
"delta": 0.1434,
"percent_delta": 1.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3573,
"delta": 0.0133,
"percent_delta": 0.0387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 1.2742,
"delta": 0.6982,
"percent_delta": 1.2122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 1.2548,
"delta": 0.6248,
"percent_delta": 0.9917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4923,
"delta": 0.0213,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.545,
"after": 0.9012,
"delta": 0.3562,
"percent_delta": 0.6536,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.21,
"after": 7.4773,
"delta": 3.2673,
"percent_delta": 0.7761,
"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": 62
}
},
{
"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.7067,
"predicted_3B": 0.0004,
"predicted_AB": 7.4773,
"predicted_AVG": 0.2675,
"predicted_BB": 1.1164,
"predicted_H": 2.0003,
"predicted_HBP": 0.035,
"predicted_HR": 0.2748,
"predicted_OBP": 0.3627,
"predicted_R": 1.217,
"predicted_RBI": 1.1985,
"predicted_SLG": 0.4724,
"predicted_SO": 0.9063
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.7067,
"after": 0.7067,
"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": 7.4773,
"after": 7.4773,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2662,
"after": 0.2675,
"delta": 0.0013,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.1228,
"after": 1.1164,
"delta": -0.0064,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0562,
"after": 2.0003,
"delta": -0.0559,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2834,
"after": 0.2748,
"delta": -0.0086,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3573,
"after": 0.3627,
"delta": 0.0054,
"percent_delta": 0.0151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2742,
"after": 1.217,
"delta": -0.0572,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2548,
"after": 1.1985,
"delta": -0.0563,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4923,
"after": 0.4724,
"delta": -0.0199,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9012,
"after": 0.9063,
"delta": 0.0051,
"percent_delta": 0.0057,
"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_OBP",
"before": 0.3573,
"after": 0.3627,
"delta": 0.0054,
"percent_delta": 0.0151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.2742,
"after": 1.217,
"delta": -0.0572,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.48), rates preserved: AVG=0.268 HR/AB=0.037",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.7067,
"after": 1.0,
"delta": 0.2933,
"percent_delta": 0.415,
"direction": "boost",
"projection_effect": "better",
"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": 7.4773,
"after": 7.0,
"delta": -0.4773,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1164,
"after": 1.0,
"delta": -0.1164,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0003,
"after": 2.0,
"delta": -0.0003,
"percent_delta": -0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2748,
"after": 0.0,
"delta": -0.2748,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1985,
"after": 1.0,
"delta": -0.1985,
"percent_delta": -0.1656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9063,
"after": 1.0,
"delta": 0.0937,
"percent_delta": 0.1034,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.7067,
"after": 1.0,
"delta": 0.2933,
"percent_delta": 0.415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.4773,
"after": 7.0,
"delta": -0.4773,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=53.0, weight=0.250, BvP AVG=0.245)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"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": 7.0,
"after": 7.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": 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.75,
"bvp": 0.25
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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": 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": 7.0,
"after": 7.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": 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": 1.217,
"after": 1.0,
"delta": -0.217,
"percent_delta": -0.1783,
"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": 1.217,
"after": 1.0,
"delta": -0.217,
"percent_delta": -0.1783,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.429,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2675,
"after": 0.286,
"delta": 0.0185,
"percent_delta": 0.0692,
"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": 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.3627,
"after": 0.375,
"delta": 0.0123,
"percent_delta": 0.0339,
"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.4724,
"after": 0.429,
"delta": -0.0434,
"percent_delta": -0.0919,
"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.2675,
"after": 0.286,
"delta": 0.0185,
"percent_delta": 0.0692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4724,
"after": 0.429,
"delta": -0.0434,
"percent_delta": -0.0919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2675,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3627,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4724,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2675,
"delta": -0.0185,
"percent_delta": -0.0646,
"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.375,
"after": 0.3627,
"delta": -0.0123,
"percent_delta": -0.0329,
"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.429,
"after": 0.4724,
"delta": 0.0434,
"percent_delta": 0.1012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4724,
"delta": 0.0434,
"percent_delta": 0.1012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2675,
"delta": -0.0185,
"percent_delta": -0.0646,
"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.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.21,
"after": 3.0,
"delta": -1.21,
"percent_delta": -0.2874,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2675,
"delta": 0.0175,
"percent_delta": 0.07,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.671,
"after": 1.0,
"delta": 0.329,
"percent_delta": 0.4903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3627,
"delta": 0.0187,
"percent_delta": 0.0544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 0.0,
"delta": -0.576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4724,
"delta": 0.0014,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.545,
"after": 0.0,
"delta": -0.545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.671,
"after": 1.0,
"delta": 0.329,
"percent_delta": 0.4903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.21,
"after": 3.0,
"delta": -1.21,
"percent_delta": -0.2874,
"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.235 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.210 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.671 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.576 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.471 | - |
| predicted_SO | 0.545 | - |
Final model 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.707 | 0.472 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.477 | 3.267 |
| predicted_AVG | 0.266 | 0.016 |
| predicted_BB | 1.123 | 0.452 |
| predicted_H | 2.056 | 1.006 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.283 | 0.143 |
| predicted_OBP | 0.357 | 0.013 |
| predicted_R | 1.274 | 0.698 |
| predicted_RBI | 1.255 | 0.625 |
| predicted_SLG | 0.492 | 0.021 |
| predicted_SO | 0.901 | 0.356 |
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.707 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.477 | 0.000 |
| predicted_AVG | 0.268 | 0.001 |
| predicted_BB | 1.116 | -0.006 |
| predicted_H | 2.000 | -0.056 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.275 | -0.009 |
| predicted_OBP | 0.363 | 0.005 |
| predicted_R | 1.217 | -0.057 |
| predicted_RBI | 1.198 | -0.056 |
| predicted_SLG | 0.472 | -0.020 |
| predicted_SO | 0.906 | 0.005 |
AB rounded to 7 (raw=7.48), rates preserved: AVG=0.268 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.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=53.0, weight=0.250, BvP AVG=0.245)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 1.000 | 0.293 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.477 |
| predicted_AVG | 0.286 | 0.018 |
| predicted_BB | 1.000 | -0.116 |
| predicted_H | 2.000 | -0.000 |
| predicted_HR | 0.000 | -0.275 |
| predicted_OBP | 0.375 | 0.012 |
| predicted_R | 1.000 | -0.217 |
| predicted_RBI | 1.000 | -0.198 |
| predicted_SLG | 0.429 | -0.043 |
| predicted_SO | 1.000 | 0.094 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 9.000 | 5.000 | 0.000 | 1.000 | 5.000 | 6.000 | 1.000 | 1.000 | 0.4286 | 0.4545 | 0.8095 | 0.4286 | 0.0476 | 0.2381 | 0.0476 | 0.0476 |
| last_10 | 0.20 | 7 | - | 33.000 | 10.000 | 6.000 | 0.000 | 1.000 | 11.000 | 6.000 | 5.000 | 1.000 | 0.3030 | 0.3488 | 0.5758 | 0.3030 | 0.0303 | 0.3333 | 0.1515 | 0.0303 |
| season | 0.60 | 62 | - | 947.000 | 226.000 | 60.000 | 0.000 | 37.000 | 129.000 | 147.000 | 171.000 | 139.000 | 0.2386 | 0.3530 | 0.4192 | 0.2387 | 0.0391 | 0.1362 | 0.1806 | 0.1468 |
| Metric | Value |
|---|---|
| predicted_2B | 1.3010 |
| predicted_3B | 0.0010 |
| predicted_AB | 11.5940 |
| predicted_AVG | 0.2867 |
| predicted_BB | 1.6920 |
| predicted_H | 3.3240 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.4640 |
| predicted_OBP | 0.3741 |
| predicted_R | 2.1540 |
| predicted_RBI | 2.0420 |
| predicted_SLG | 0.5192 |
| predicted_SO | 1.3500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 1.3010 | 0.7067 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2100 | 11.5940 | 7.4773 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2867 | 0.2662 | model_form_blend |
| predicted_BB | 0.6710 | 1.6920 | 1.1228 | model_form_blend |
| predicted_H | 1.0500 | 3.3240 | 2.0562 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.1400 | 0.4640 | 0.2834 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3741 | 0.3573 | model_form_blend |
| predicted_R | 0.5760 | 2.1540 | 1.2742 | model_form_blend |
| predicted_RBI | 0.6300 | 2.0420 | 1.2548 | model_form_blend |
| predicted_SLG | 0.4710 | 0.5192 | 0.4923 | model_form_blend |
| predicted_SO | 0.5450 | 1.3500 | 0.9012 | 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 | 255 |
| Season rows before report date | 255 |
| Report year | 2026 |
| Profile rows used | 255 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.239 |
| 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 | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 608070 |
| playerID | 608070 |
| playerName | José Ramírez |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-03 |
| sl_k_percent | 12.7 |
| sl_bb_percent | 14.1 |
| sl_woba | 0.342 |
| sl_xwoba | 0.37 |
| sl_xba | 0.289 |
| sl_xslg | 0.469 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 45.0 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 19.8 |
| sl_whiff_percent | 15.9 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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 | 4.000 | 3.000 | Hitting_AB | 2.500 | 3.000 | 1.500 | 1.000 |
| predicted_AVG | 0.231 | 0.000 | 0.333 | Hitting_AVG | 0.000 | 0.000 | 0.000 | 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.240 | 0.000 | 1.000 | Hitting_H | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.255 | 0.000 | 0.333 | Hitting_OBP | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_R | 0.000 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.344 | 0.000 | 0.333 | Hitting_SLG | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SO | 2.500 | 0.000 | 2.000 | Hitting_SO | 2.500 | 3.000 | -2.500 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 7 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_SO: 2.5000 -> 0.0000 (deboost -2.5000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 5 | 0 | predicted_AB: 2.5000 -> 2.7336 (boost 0.2336, better) | predicted_SO: 2.5000 -> 2.2447 (deboost -0.2553, 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.3452 -> 0.1938 (deboost -0.1514, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 2 | 3 | predicted_AB: 2.7336 -> 3.0000 (boost 0.2664, better) | predicted_H: 0.3395 -> 0.0000 (deboost -0.3395, worse) | AB rounded to 3 (raw=2.73), rates preserved: AVG=0.124 HR/AB=0.019 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.0769 -> 0.0000 (deboost -0.0769, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1242 -> 0.3330 (boost 0.2088, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 2.0000 -> 0.0000 (deboost -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.1242 (deboost -0.2088, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656413",
"player_name": "Stuart Fairchild",
"position": "CF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.231,
"predicted_BB": 0.0,
"predicted_H": 0.24,
"predicted_HR": 0.04,
"predicted_OBP": 0.255,
"predicted_R": 0.0,
"predicted_RBI": 0.15,
"predicted_SLG": 0.344,
"predicted_SO": 2.5
},
"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.0307,
"predicted_3B": 0.0024,
"predicted_AB": 2.7336,
"predicted_AVG": 0.2277,
"predicted_BB": 0.0484,
"predicted_H": 0.349,
"predicted_HBP": 0.029,
"predicted_HR": 0.0532,
"predicted_OBP": 0.2577,
"predicted_R": 0.0805,
"predicted_RBI": 0.2024,
"predicted_SLG": 0.3452,
"predicted_SO": 2.2447
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0307,
"delta": 0.0307,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0024,
"delta": 0.0024,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7336,
"delta": 0.2336,
"percent_delta": 0.0934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2277,
"delta": -0.0033,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0484,
"delta": 0.0484,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.349,
"delta": 0.109,
"percent_delta": 0.4542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0532,
"delta": 0.0132,
"percent_delta": 0.33,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.255,
"after": 0.2577,
"delta": 0.0027,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0805,
"delta": 0.0805,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.2024,
"delta": 0.0524,
"percent_delta": 0.3493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.3452,
"delta": 0.0012,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.5,
"after": 2.2447,
"delta": -0.2553,
"percent_delta": -0.1021,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7336,
"delta": 0.2336,
"percent_delta": 0.0934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.5,
"after": 2.2447,
"delta": -0.2553,
"percent_delta": -0.1021,
"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": 2,
"last_10": 2,
"season": 2
}
},
{
"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.0307,
"predicted_3B": 0.0024,
"predicted_AB": 2.7336,
"predicted_AVG": 0.1242,
"predicted_BB": 0.0481,
"predicted_H": 0.3395,
"predicted_HBP": 0.029,
"predicted_HR": 0.0516,
"predicted_OBP": 0.1393,
"predicted_R": 0.0769,
"predicted_RBI": 0.1933,
"predicted_SLG": 0.1938,
"predicted_SO": 2.2575
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0307,
"after": 0.0307,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0024,
"after": 0.0024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7336,
"after": 2.7336,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2277,
"after": 0.1242,
"delta": -0.1035,
"percent_delta": -0.4545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0484,
"after": 0.0481,
"delta": -0.0003,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.349,
"after": 0.3395,
"delta": -0.0095,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.029,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0532,
"after": 0.0516,
"delta": -0.0016,
"percent_delta": -0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2577,
"after": 0.1393,
"delta": -0.1184,
"percent_delta": -0.4594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0805,
"after": 0.0769,
"delta": -0.0036,
"percent_delta": -0.0447,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2024,
"after": 0.1933,
"delta": -0.0091,
"percent_delta": -0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3452,
"after": 0.1938,
"delta": -0.1514,
"percent_delta": -0.4386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2447,
"after": 2.2575,
"delta": 0.0128,
"percent_delta": 0.0057,
"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.3452,
"after": 0.1938,
"delta": -0.1514,
"percent_delta": -0.4386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.73), rates preserved: AVG=0.124 HR/AB=0.019",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0307,
"after": 0.0,
"delta": -0.0307,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0024,
"after": 0.0,
"delta": -0.0024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7336,
"after": 3.0,
"delta": 0.2664,
"percent_delta": 0.0975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0481,
"after": 0.0,
"delta": -0.0481,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3395,
"after": 0.0,
"delta": -0.3395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0516,
"after": 0.0,
"delta": -0.0516,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1933,
"after": 0.0,
"delta": -0.1933,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2575,
"after": 2.0,
"delta": -0.2575,
"percent_delta": -0.1141,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.7336,
"after": 3.0,
"delta": 0.2664,
"percent_delta": 0.0975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3395,
"after": 0.0,
"delta": -0.3395,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.0769,
"after": 0.0,
"delta": -0.0769,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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.0769,
"after": 0.0,
"delta": -0.0769,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1242,
"after": 0.333,
"delta": 0.2088,
"percent_delta": 1.6812,
"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.1393,
"after": 0.333,
"delta": 0.1937,
"percent_delta": 1.3905,
"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.1938,
"after": 0.333,
"delta": 0.1392,
"percent_delta": 0.7183,
"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_AVG",
"before": 0.1242,
"after": 0.333,
"delta": 0.2088,
"percent_delta": 1.6812,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1242,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1393,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1938,
"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.1242,
"delta": -0.2088,
"percent_delta": -0.627,
"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.1393,
"delta": -0.1937,
"percent_delta": -0.5815,
"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.1938,
"delta": -0.1392,
"percent_delta": -0.418,
"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.1242,
"delta": -0.2088,
"percent_delta": -0.627,
"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": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.1242,
"delta": -0.1068,
"percent_delta": -0.4623,
"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.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.255,
"after": 0.1393,
"delta": -0.1157,
"percent_delta": -0.4537,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.1938,
"delta": -0.1502,
"percent_delta": -0.4366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5,
"after": 0.0,
"delta": -2.5,
"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.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.5,
"after": 0.0,
"delta": -2.5,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.255 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.344 | - |
| predicted_SO | 2.500 | - |
Final model 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.031 | 0.031 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.734 | 0.234 |
| predicted_AVG | 0.228 | -0.003 |
| predicted_BB | 0.048 | 0.048 |
| predicted_H | 0.349 | 0.109 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.053 | 0.013 |
| predicted_OBP | 0.258 | 0.003 |
| predicted_R | 0.081 | 0.081 |
| predicted_RBI | 0.202 | 0.052 |
| predicted_SLG | 0.345 | 0.001 |
| predicted_SO | 2.245 | -0.255 |
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.031 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.734 | 0.000 |
| predicted_AVG | 0.124 | -0.104 |
| predicted_BB | 0.048 | -0.000 |
| predicted_H | 0.340 | -0.009 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.052 | -0.002 |
| predicted_OBP | 0.139 | -0.118 |
| predicted_R | 0.077 | -0.004 |
| predicted_RBI | 0.193 | -0.009 |
| predicted_SLG | 0.194 | -0.151 |
| predicted_SO | 2.257 | 0.013 |
AB rounded to 3 (raw=2.73), rates preserved: AVG=0.124 HR/AB=0.019
| 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 | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 2.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.031 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.266 |
| predicted_AVG | 0.333 | 0.209 |
| predicted_BB | 0.000 | -0.048 |
| predicted_H | 1.000 | 0.660 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.333 | 0.194 |
| predicted_R | 0.000 | -0.077 |
| predicted_RBI | 0.000 | -0.193 |
| predicted_SLG | 0.333 | 0.139 |
| predicted_SO | 2.000 | -0.257 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | 2 | - | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 1.0000 |
| last_10 | 0.20 | 2 | - | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 1.0000 |
| season | 0.60 | 2 | - | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 1.0000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1540 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.6720 |
| predicted_AVG | 0.2144 |
| predicted_BB | 0.2430 |
| predicted_H | 0.7870 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.1060 |
| predicted_OBP | 0.2687 |
| predicted_R | 0.4040 |
| predicted_RBI | 0.4130 |
| predicted_SLG | 0.3499 |
| predicted_SO | 1.2190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1540 | 0.0307 | model_form_blend |
| predicted_3B | 0.0000 | 0.0120 | 0.0024 | model_form_blend |
| predicted_AB | 2.5000 | 3.6720 | 2.7336 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2144 | 0.2277 | model_form_blend |
| predicted_BB | 0.0000 | 0.2430 | 0.0484 | model_form_blend |
| predicted_H | 0.2400 | 0.7870 | 0.3490 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.0400 | 0.1060 | 0.0532 | model_form_blend |
| predicted_OBP | 0.2550 | 0.2687 | 0.2577 | model_form_blend |
| predicted_R | 0.0000 | 0.4040 | 0.0805 | model_form_blend |
| predicted_RBI | 0.1500 | 0.4130 | 0.2024 | model_form_blend |
| predicted_SLG | 0.3440 | 0.3499 | 0.3452 | model_form_blend |
| predicted_SO | 2.5000 | 1.2190 | 2.2447 | 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 | 2 |
| Season rows before report date | 2 |
| Report year | 2026 |
| Profile rows used | 2 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260531_BOS@CLE |
| game_type | full |
| mlbID | 656413 |
| playerID | 656413 |
| playerName | Stuart Fairchild |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-05-31 |
| sl_k_percent | 100.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.0 |
| sl_xwoba | 0.0 |
| sl_xba | 0.0 |
| sl_xslg | 0.0 |
| sl_whiff_percent | 92.3 |
| sl_swing_percent | 56.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.155 | 0.000 | 0.000 | Hitting_2B | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.781 | 4.000 | 8.000 | Hitting_AB | 3.765 | 4.000 | 0.235 | 0.000 |
| predicted_AVG | 0.227 | 0.000 | 0.250 | Hitting_AVG | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_BB | 0.652 | 0.000 | 1.000 | Hitting_BB | 0.650 | 0.000 | -0.650 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.820 | 0.000 | 2.000 | Hitting_H | 0.795 | 0.000 | -0.795 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_OBP | 0.313 | 0.000 | 0.333 | Hitting_OBP | 0.328 | 0.000 | -0.328 | 0.000 |
| predicted_R | 0.545 | 0.000 | 1.000 | Hitting_R | 0.543 | 0.000 | -0.543 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_SLG | 0.306 | 0.000 | 0.250 | Hitting_SLG | 0.266 | 0.000 | -0.266 | 0.000 |
| predicted_SO | 0.498 | 0.000 | 1.000 | Hitting_SO | 0.496 | 0.000 | -0.496 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.7810 -> 4.0000 (boost 0.2190, better) |
| Biggest Deboost | predicted_H: 0.8200 -> 0.0000 (deboost -0.8200, 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 | 8 | 7 | 1 | 6 | 2 | predicted_AB: 3.7810 -> 8.3464 (boost 4.5654, better) | predicted_SLG: 0.3060 -> 0.2891 (deboost -0.0169, 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_R: 1.2007 -> 1.1468 (deboost -0.0539, 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 | 1 | 6 | predicted_H: 1.7894 -> 2.0000 (boost 0.2106, better) | predicted_RBI: 0.4563 -> 0.0000 (deboost -0.4563, worse) | AB rounded to 8 (raw=8.35), rates preserved: AVG=0.214 HR/AB=0.006 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1468 -> 1.0000 (deboost -0.1468, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2144 -> 0.2500 (boost 0.0356, better) | predicted_SLG: 0.2687 -> 0.2500 (deboost -0.0187, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.2687 (boost 0.0187, better) | predicted_AVG: 0.2500 -> 0.2144 (deboost -0.0356, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680757",
"player_name": "Steven Kwan",
"position": "LF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.155,
"predicted_3B": 0.0,
"predicted_AB": 3.781,
"predicted_AVG": 0.227,
"predicted_BB": 0.652,
"predicted_H": 0.82,
"predicted_HR": 0.05,
"predicted_OBP": 0.313,
"predicted_R": 0.545,
"predicted_RBI": 0.27,
"predicted_SLG": 0.306,
"predicted_SO": 0.498
},
"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.2907,
"predicted_3B": 0.0009,
"predicted_AB": 8.3464,
"predicted_AVG": 0.2246,
"predicted_BB": 1.2384,
"predicted_H": 1.8394,
"predicted_HBP": 0.077,
"predicted_HR": 0.0553,
"predicted_OBP": 0.3147,
"predicted_R": 1.2007,
"predicted_RBI": 0.4777,
"predicted_SLG": 0.2891,
"predicted_SO": 0.9465
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.2907,
"delta": 0.1357,
"percent_delta": 0.8755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.781,
"after": 8.3464,
"delta": 4.5654,
"percent_delta": 1.2075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2246,
"delta": -0.0024,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.652,
"after": 1.2384,
"delta": 0.5864,
"percent_delta": 0.8994,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.8394,
"delta": 1.0194,
"percent_delta": 1.2432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0553,
"delta": 0.0053,
"percent_delta": 0.106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3147,
"delta": 0.0017,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.545,
"after": 1.2007,
"delta": 0.6557,
"percent_delta": 1.2031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.4777,
"delta": 0.2077,
"percent_delta": 0.7693,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.2891,
"delta": -0.0169,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.498,
"after": 0.9465,
"delta": 0.4485,
"percent_delta": 0.9006,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 7,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.781,
"after": 8.3464,
"delta": 4.5654,
"percent_delta": 1.2075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.2891,
"delta": -0.0169,
"percent_delta": -0.0552,
"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": 3,
"last_10": 4,
"season": 54
}
},
{
"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.2907,
"predicted_3B": 0.0009,
"predicted_AB": 8.3464,
"predicted_AVG": 0.2144,
"predicted_BB": 1.2313,
"predicted_H": 1.7894,
"predicted_HBP": 0.077,
"predicted_HR": 0.0536,
"predicted_OBP": 0.3154,
"predicted_R": 1.1468,
"predicted_RBI": 0.4563,
"predicted_SLG": 0.2687,
"predicted_SO": 0.9519
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2907,
"after": 0.2907,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.3464,
"after": 8.3464,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2246,
"after": 0.2144,
"delta": -0.0102,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2384,
"after": 1.2313,
"delta": -0.0071,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8394,
"after": 1.7894,
"delta": -0.05,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0553,
"after": 0.0536,
"delta": -0.0017,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3147,
"after": 0.3154,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2007,
"after": 1.1468,
"delta": -0.0539,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4777,
"after": 0.4563,
"delta": -0.0214,
"percent_delta": -0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2891,
"after": 0.2687,
"delta": -0.0204,
"percent_delta": -0.0706,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9465,
"after": 0.9519,
"delta": 0.0054,
"percent_delta": 0.0057,
"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_R",
"before": 1.2007,
"after": 1.1468,
"delta": -0.0539,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.35), rates preserved: AVG=0.214 HR/AB=0.006",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.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.2907,
"after": 0.0,
"delta": -0.2907,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.3464,
"after": 8.0,
"delta": -0.3464,
"percent_delta": -0.0415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2313,
"after": 1.0,
"delta": -0.2313,
"percent_delta": -0.1879,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7894,
"after": 2.0,
"delta": 0.2106,
"percent_delta": 0.1177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0536,
"after": 0.0,
"delta": -0.0536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4563,
"after": 0.0,
"delta": -0.4563,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9519,
"after": 1.0,
"delta": 0.0481,
"percent_delta": 0.0505,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.7894,
"after": 2.0,
"delta": 0.2106,
"percent_delta": 0.1177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4563,
"after": 0.0,
"delta": -0.4563,
"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=14.0, weight=0.127, BvP AVG=0.143)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.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": 8.0,
"after": 8.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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8727,
"bvp": 0.1273
},
"window_games": {}
},
{
"index": 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": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 8.0,
"after": 8.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": 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": 1.1468,
"after": 1.0,
"delta": -0.1468,
"percent_delta": -0.128,
"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": 1.1468,
"after": 1.0,
"delta": -0.1468,
"percent_delta": -0.128,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2144,
"after": 0.25,
"delta": 0.0356,
"percent_delta": 0.166,
"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": 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.3154,
"after": 0.333,
"delta": 0.0176,
"percent_delta": 0.0558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2687,
"after": 0.25,
"delta": -0.0187,
"percent_delta": -0.0696,
"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.2144,
"after": 0.25,
"delta": 0.0356,
"percent_delta": 0.166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2687,
"after": 0.25,
"delta": -0.0187,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2144,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3154,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2687,
"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.25,
"after": 0.2144,
"delta": -0.0356,
"percent_delta": -0.1424,
"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.3154,
"delta": -0.0176,
"percent_delta": -0.0529,
"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.25,
"after": 0.2687,
"delta": 0.0187,
"percent_delta": 0.0748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2687,
"delta": 0.0187,
"percent_delta": 0.0748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2144,
"delta": -0.0356,
"percent_delta": -0.1424,
"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.155,
"after": 0.0,
"delta": -0.155,
"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.781,
"after": 4.0,
"delta": 0.219,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2144,
"delta": -0.0126,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.652,
"after": 0.0,
"delta": -0.652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"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.313,
"after": 0.3154,
"delta": 0.0024,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.545,
"after": 0.0,
"delta": -0.545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.2687,
"delta": -0.0373,
"percent_delta": -0.1219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.498,
"after": 0.0,
"delta": -0.498,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.781,
"after": 4.0,
"delta": 0.219,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"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.155 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.781 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.652 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.545 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.306 | - |
| predicted_SO | 0.498 | - |
Final model 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.291 | 0.136 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.346 | 4.565 |
| predicted_AVG | 0.225 | -0.002 |
| predicted_BB | 1.238 | 0.586 |
| predicted_H | 1.839 | 1.019 |
| predicted_HBP | 0.077 | - |
| predicted_HR | 0.055 | 0.005 |
| predicted_OBP | 0.315 | 0.002 |
| predicted_R | 1.201 | 0.656 |
| predicted_RBI | 0.478 | 0.208 |
| predicted_SLG | 0.289 | -0.017 |
| predicted_SO | 0.947 | 0.449 |
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.291 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.346 | 0.000 |
| predicted_AVG | 0.214 | -0.010 |
| predicted_BB | 1.231 | -0.007 |
| predicted_H | 1.789 | -0.050 |
| predicted_HBP | 0.077 | 0.000 |
| predicted_HR | 0.054 | -0.002 |
| predicted_OBP | 0.315 | 0.001 |
| predicted_R | 1.147 | -0.054 |
| predicted_RBI | 0.456 | -0.021 |
| predicted_SLG | 0.269 | -0.020 |
| predicted_SO | 0.952 | 0.005 |
AB rounded to 8 (raw=8.35), rates preserved: AVG=0.214 HR/AB=0.006
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.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 | 8.000 | 0.000 |
| BB | 1.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 | 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.291 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.346 |
| predicted_AVG | 0.250 | 0.036 |
| predicted_BB | 1.000 | -0.231 |
| predicted_H | 2.000 | 0.211 |
| predicted_HR | 0.000 | -0.054 |
| predicted_OBP | 0.333 | 0.018 |
| predicted_R | 1.000 | -0.147 |
| predicted_RBI | 0.000 | -0.456 |
| predicted_SLG | 0.250 | -0.019 |
| 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 | 4.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 20.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 0.2500 | 0.2500 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 4 | - | 36.000 | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.000 | 4.000 | 0.000 | 0.2778 | 0.3500 | 0.2778 | 0.2778 | 0.0000 | 0.0000 | 0.1111 | 0.0000 |
| season | 0.60 | 54 | - | 881.000 | 186.000 | 36.000 | 0.000 | 4.000 | 56.000 | 127.000 | 152.000 | 116.000 | 0.2111 | 0.3282 | 0.2656 | 0.2111 | 0.0045 | 0.0636 | 0.1725 | 0.1317 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4620 |
| predicted_3B | 0.0020 |
| predicted_AB | 14.1130 |
| predicted_AVG | 0.2216 |
| predicted_BB | 1.9790 |
| predicted_H | 3.1270 |
| predicted_HBP | 0.0770 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.3169 |
| predicted_R | 2.0290 |
| predicted_RBI | 0.7400 |
| predicted_SLG | 0.2678 |
| predicted_SO | 1.5130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.4620 | 0.2907 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.7810 | 14.1130 | 8.3464 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2216 | 0.2246 | model_form_blend |
| predicted_BB | 0.6520 | 1.9790 | 1.2384 | model_form_blend |
| predicted_H | 0.8200 | 3.1270 | 1.8394 | model_form_blend |
| predicted_HBP | - | 0.0770 | 0.0770 | form_only |
| predicted_HR | 0.0500 | 0.0620 | 0.0553 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3169 | 0.3147 | model_form_blend |
| predicted_R | 0.5450 | 2.0290 | 1.2007 | model_form_blend |
| predicted_RBI | 0.2700 | 0.7400 | 0.4777 | model_form_blend |
| predicted_SLG | 0.3060 | 0.2678 | 0.2891 | model_form_blend |
| predicted_SO | 0.4980 | 1.5130 | 0.9465 | 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 | 234 |
| Season rows before report date | 234 |
| Report year | 2026 |
| Profile rows used | 233 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.211 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 680757 |
| playerID | 680757 |
| playerName | Steven Kwan |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-03 |
| sl_k_percent | 10.3 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.278 |
| sl_xwoba | 0.295 |
| sl_xba | 0.23 |
| sl_xslg | 0.289 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 0.6 |
| sl_hard_hit_percent | 8.9 |
| sl_exit_velocity_avg | 82.4 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 8.1 |
| sl_swing_percent | 35.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.214 | 0.000 | 0.000 | Hitting_2B | 0.207 | 0.000 | -0.207 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.155 | 3.000 | 6.000 | Hitting_AB | 3.046 | 4.000 | -0.046 | -1.000 |
| predicted_AVG | 0.251 | 0.000 | 0.167 | Hitting_AVG | 0.253 | 0.250 | -0.253 | -0.250 |
| predicted_BB | 0.357 | 0.000 | 1.000 | Hitting_BB | 0.345 | 0.000 | -0.345 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.630 | 0.000 | 1.000 | Hitting_H | 0.770 | 1.000 | -0.770 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_OBP | 0.309 | 0.000 | 0.286 | Hitting_OBP | 0.324 | 0.250 | -0.324 | -0.250 |
| predicted_R | 0.583 | 0.000 | 1.000 | Hitting_R | 0.563 | 0.000 | -0.563 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.218 | 2.000 | -0.218 | -2.000 |
| predicted_SLG | 0.333 | 0.000 | 0.167 | Hitting_SLG | 0.377 | 0.250 | -0.377 | -0.250 |
| predicted_SO | 0.643 | 1.000 | 1.000 | Hitting_SO | 0.621 | 2.000 | 0.379 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.6430 -> 1.0000 (boost 0.3570, worse) |
| Biggest Deboost | predicted_H: 0.6300 -> 0.0000 (deboost -0.6300, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.1550 -> 5.5366 (boost 2.3816, 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.2504 -> 0.2270 (deboost -0.0234, 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: 5.5366 -> 6.0000 (boost 0.4634, better) | predicted_RBI: 0.4566 -> 0.0000 (deboost -0.4566, worse) | AB rounded to 6 (raw=5.54), rates preserved: AVG=0.227 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9243 -> 1.0000 (boost 0.0757, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3332 -> 0.1670 (deboost -0.1662, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3332 (boost 0.1662, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "595978",
"player_name": "Austin Hedges",
"position": "C",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.214,
"predicted_3B": 0.0,
"predicted_AB": 3.155,
"predicted_AVG": 0.251,
"predicted_BB": 0.357,
"predicted_H": 0.63,
"predicted_HR": 0.06,
"predicted_OBP": 0.309,
"predicted_R": 0.583,
"predicted_RBI": 0.31,
"predicted_SLG": 0.333,
"predicted_SO": 0.643
},
"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.3122,
"predicted_3B": 0.0013,
"predicted_AB": 5.5366,
"predicted_AVG": 0.2504,
"predicted_BB": 0.5653,
"predicted_H": 1.2917,
"predicted_HBP": 0.007,
"predicted_HR": 0.0939,
"predicted_OBP": 0.3108,
"predicted_R": 0.9678,
"predicted_RBI": 0.4781,
"predicted_SLG": 0.3398,
"predicted_SO": 1.035
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.3122,
"delta": 0.0982,
"percent_delta": 0.4589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.155,
"after": 5.5366,
"delta": 2.3816,
"percent_delta": 0.7549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2504,
"delta": -0.0006,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.5653,
"delta": 0.2083,
"percent_delta": 0.5835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 1.2917,
"delta": 0.6617,
"percent_delta": 1.0503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0939,
"delta": 0.0339,
"percent_delta": 0.565,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3108,
"delta": 0.0018,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 0.9678,
"delta": 0.3848,
"percent_delta": 0.66,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.4781,
"delta": 0.1681,
"percent_delta": 0.5423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3398,
"delta": 0.0068,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.643,
"after": 1.035,
"delta": 0.392,
"percent_delta": 0.6096,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.155,
"after": 5.5366,
"delta": 2.3816,
"percent_delta": 0.7549,
"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": 3,
"last_10": 5,
"season": 26
}
},
{
"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.3122,
"predicted_3B": 0.0013,
"predicted_AB": 5.5366,
"predicted_AVG": 0.227,
"predicted_BB": 0.5621,
"predicted_H": 1.2566,
"predicted_HBP": 0.007,
"predicted_HR": 0.0911,
"predicted_OBP": 0.2982,
"predicted_R": 0.9243,
"predicted_RBI": 0.4566,
"predicted_SLG": 0.3332,
"predicted_SO": 1.0409
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3122,
"after": 0.3122,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5366,
"after": 5.5366,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2504,
"after": 0.227,
"delta": -0.0234,
"percent_delta": -0.0935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5653,
"after": 0.5621,
"delta": -0.0032,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2917,
"after": 1.2566,
"delta": -0.0351,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0939,
"after": 0.0911,
"delta": -0.0028,
"percent_delta": -0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3108,
"after": 0.2982,
"delta": -0.0126,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9678,
"after": 0.9243,
"delta": -0.0435,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4781,
"after": 0.4566,
"delta": -0.0215,
"percent_delta": -0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3398,
"after": 0.3332,
"delta": -0.0066,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.035,
"after": 1.0409,
"delta": 0.0059,
"percent_delta": 0.0057,
"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.2504,
"after": 0.227,
"delta": -0.0234,
"percent_delta": -0.0935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.54), rates preserved: AVG=0.227 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3122,
"after": 0.0,
"delta": -0.3122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5366,
"after": 6.0,
"delta": 0.4634,
"percent_delta": 0.0837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5621,
"after": 1.0,
"delta": 0.4379,
"percent_delta": 0.779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2566,
"after": 1.0,
"delta": -0.2566,
"percent_delta": -0.2042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0911,
"after": 0.0,
"delta": -0.0911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4566,
"after": 0.0,
"delta": -0.4566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0409,
"after": 1.0,
"delta": -0.0409,
"percent_delta": -0.0393,
"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": 5.5366,
"after": 6.0,
"delta": 0.4634,
"percent_delta": 0.0837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4566,
"after": 0.0,
"delta": -0.4566,
"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": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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.9243,
"after": 1.0,
"delta": 0.0757,
"percent_delta": 0.0819,
"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.9243,
"after": 1.0,
"delta": 0.0757,
"percent_delta": 0.0819,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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.227,
"after": 0.167,
"delta": -0.06,
"percent_delta": -0.2643,
"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.2982,
"after": 0.286,
"delta": -0.0122,
"percent_delta": -0.0409,
"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.3332,
"after": 0.167,
"delta": -0.1662,
"percent_delta": -0.4988,
"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.3332,
"after": 0.167,
"delta": -0.1662,
"percent_delta": -0.4988,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"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.227,
"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.2982,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3332,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.227,
"delta": 0.06,
"percent_delta": 0.359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2982,
"delta": 0.0122,
"percent_delta": 0.0427,
"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.167,
"after": 0.3332,
"delta": 0.1662,
"percent_delta": 0.995,
"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.167,
"after": 0.3332,
"delta": 0.1662,
"percent_delta": 0.995,
"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.214,
"after": 0.0,
"delta": -0.214,
"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.155,
"after": 3.0,
"delta": -0.155,
"percent_delta": -0.0491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.227,
"delta": -0.024,
"percent_delta": -0.0956,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"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.309,
"after": 0.2982,
"delta": -0.0108,
"percent_delta": -0.035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 0.0,
"delta": -0.583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3332,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.643,
"after": 1.0,
"delta": 0.357,
"percent_delta": 0.5552,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.643,
"after": 1.0,
"delta": 0.357,
"percent_delta": 0.5552,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"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.214 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.155 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.357 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.583 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.333 | - |
| predicted_SO | 0.643 | - |
Final model 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.312 | 0.098 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.537 | 2.382 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.565 | 0.208 |
| predicted_H | 1.292 | 0.662 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.094 | 0.034 |
| predicted_OBP | 0.311 | 0.002 |
| predicted_R | 0.968 | 0.385 |
| predicted_RBI | 0.478 | 0.168 |
| predicted_SLG | 0.340 | 0.007 |
| predicted_SO | 1.035 | 0.392 |
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.312 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.537 | 0.000 |
| predicted_AVG | 0.227 | -0.023 |
| predicted_BB | 0.562 | -0.003 |
| predicted_H | 1.257 | -0.035 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.091 | -0.003 |
| predicted_OBP | 0.298 | -0.013 |
| predicted_R | 0.924 | -0.043 |
| predicted_RBI | 0.457 | -0.022 |
| predicted_SLG | 0.333 | -0.007 |
| predicted_SO | 1.041 | 0.006 |
AB rounded to 6 (raw=5.54), rates preserved: AVG=0.227 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.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 | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.312 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.463 |
| predicted_AVG | 0.167 | -0.060 |
| predicted_BB | 1.000 | 0.438 |
| predicted_H | 1.000 | -0.257 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.286 | -0.012 |
| predicted_R | 1.000 | 0.076 |
| predicted_RBI | 0.000 | -0.457 |
| predicted_SLG | 0.167 | -0.166 |
| predicted_SO | 1.000 | -0.041 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 19.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 2.000 | 0.2632 | 0.3000 | 0.2632 | 0.2632 | 0.0000 | 0.1053 | 0.0526 | 0.1053 |
| last_10 | 0.20 | 5 | - | 34.000 | 7.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 2.000 | 0.2059 | 0.2500 | 0.2059 | 0.2059 | 0.0000 | 0.0588 | 0.0588 | 0.0588 |
| season | 0.60 | 26 | - | 265.000 | 67.000 | 18.000 | 0.000 | 5.000 | 19.000 | 49.000 | 30.000 | 54.000 | 0.2528 | 0.3244 | 0.3774 | 0.2528 | 0.0189 | 0.0717 | 0.1132 | 0.2038 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4460 |
| predicted_3B | 0.0030 |
| predicted_AB | 8.7810 |
| predicted_AVG | 0.2497 |
| predicted_BB | 0.8490 |
| predicted_H | 2.1930 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.3133 |
| predicted_R | 1.4920 |
| predicted_RBI | 0.7070 |
| predicted_SLG | 0.3491 |
| predicted_SO | 1.5690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2140 | 0.4460 | 0.3122 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.1550 | 8.7810 | 5.5366 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2497 | 0.2504 | model_form_blend |
| predicted_BB | 0.3570 | 0.8490 | 0.5653 | model_form_blend |
| predicted_H | 0.6300 | 2.1930 | 1.2917 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0600 | 0.1400 | 0.0939 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3133 | 0.3108 | model_form_blend |
| predicted_R | 0.5830 | 1.4920 | 0.9678 | model_form_blend |
| predicted_RBI | 0.3100 | 0.7070 | 0.4781 | model_form_blend |
| predicted_SLG | 0.3330 | 0.3491 | 0.3398 | model_form_blend |
| predicted_SO | 0.6430 | 1.5690 | 1.0350 | 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 | 87 |
| Season rows before report date | 87 |
| Report year | 2026 |
| Profile rows used | 84 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.253 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260531_BOS@CLE |
| game_type | full |
| mlbID | 595978 |
| playerID | 595978 |
| playerName | Austin Hedges |
| pos | C |
| started | True |
| startingPosition | C |
| team | CLE |
| teamID | 8 |
| game_date | 2026-05-31 |
| sl_k_percent | 18.9 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.296 |
| sl_xwoba | 0.274 |
| sl_xba | 0.239 |
| sl_xslg | 0.284 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 34.4 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 4.7 |
| sl_whiff_percent | 24.0 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.149 | 0.000 | 0.000 | Hitting_2B | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.351 | 3.000 | 6.000 | Hitting_AB | 3.351 | 4.000 | -0.351 | -1.000 |
| predicted_AVG | 0.255 | 0.333 | 0.167 | Hitting_AVG | 0.298 | 0.000 | 0.035 | 0.333 |
| predicted_BB | 0.332 | 0.000 | 1.000 | Hitting_BB | 0.332 | 0.000 | -0.332 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_H | 0.750 | 1.000 | 1.000 | Hitting_H | 1.000 | 0.000 | 0.000 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_OBP | 0.327 | 0.333 | 0.286 | Hitting_OBP | 0.376 | 0.000 | -0.043 | 0.333 |
| predicted_R | 0.466 | 0.000 | 1.000 | Hitting_R | 0.466 | 0.000 | -0.466 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 1.000 | Hitting_RBI | 0.505 | 0.000 | -0.505 | 0.000 |
| predicted_SLG | 0.372 | 0.333 | 0.167 | Hitting_SLG | 0.415 | 0.000 | -0.081 | 0.333 |
| predicted_SO | 0.433 | 0.000 | 1.000 | Hitting_SO | 0.433 | 1.000 | -0.433 | -1.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_H: 0.7500 -> 1.0000 (boost 0.2500, better) |
| Biggest Deboost | predicted_R: 0.4660 -> 0.0000 (deboost -0.4660, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.3510 -> 5.8501 (boost 2.4991, 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.3350 -> 0.3100 (deboost -0.0250, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_BB: 0.5170 -> 1.0000 (boost 0.4830, better) | predicted_H: 1.4570 -> 1.0000 (deboost -0.4570, worse) | AB rounded to 6 (raw=5.85), rates preserved: AVG=0.249 HR/AB=0.015 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7463 -> 1.0000 (boost 0.2537, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3562 -> 0.1670 (deboost -0.1892, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3562 (boost 0.1892, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"position": "SS",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.149,
"predicted_3B": 0.019,
"predicted_AB": 3.351,
"predicted_AVG": 0.255,
"predicted_BB": 0.332,
"predicted_H": 0.75,
"predicted_HR": 0.06,
"predicted_OBP": 0.327,
"predicted_R": 0.466,
"predicted_RBI": 0.36,
"predicted_SLG": 0.372,
"predicted_SO": 0.433
},
"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.3107,
"predicted_3B": 0.026,
"predicted_AB": 5.8501,
"predicted_AVG": 0.2621,
"predicted_BB": 0.52,
"predicted_H": 1.4977,
"predicted_HBP": 0.342,
"predicted_HR": 0.0908,
"predicted_OBP": 0.335,
"predicted_R": 0.7814,
"predicted_RBI": 0.678,
"predicted_SLG": 0.3753,
"predicted_SO": 0.9329
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.3107,
"delta": 0.1617,
"percent_delta": 1.0852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.026,
"delta": 0.007,
"percent_delta": 0.3684,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.351,
"after": 5.8501,
"delta": 2.4991,
"percent_delta": 0.7458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2621,
"delta": 0.0071,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.332,
"after": 0.52,
"delta": 0.188,
"percent_delta": 0.5663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.4977,
"delta": 0.7477,
"percent_delta": 0.9969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0908,
"delta": 0.0308,
"percent_delta": 0.5133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.335,
"delta": 0.008,
"percent_delta": 0.0245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.466,
"after": 0.7814,
"delta": 0.3154,
"percent_delta": 0.6768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.678,
"delta": 0.318,
"percent_delta": 0.8833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3753,
"delta": 0.0033,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.433,
"after": 0.9329,
"delta": 0.4999,
"percent_delta": 1.1545,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.351,
"after": 5.8501,
"delta": 2.4991,
"percent_delta": 0.7458,
"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": 59
}
},
{
"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.3107,
"predicted_3B": 0.026,
"predicted_AB": 5.8501,
"predicted_AVG": 0.249,
"predicted_BB": 0.517,
"predicted_H": 1.457,
"predicted_HBP": 0.342,
"predicted_HR": 0.0881,
"predicted_OBP": 0.31,
"predicted_R": 0.7463,
"predicted_RBI": 0.6476,
"predicted_SLG": 0.3562,
"predicted_SO": 0.9382
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3107,
"after": 0.3107,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.8501,
"after": 5.8501,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2621,
"after": 0.249,
"delta": -0.0131,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.52,
"after": 0.517,
"delta": -0.003,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4977,
"after": 1.457,
"delta": -0.0407,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.342,
"after": 0.342,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0908,
"after": 0.0881,
"delta": -0.0027,
"percent_delta": -0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.31,
"delta": -0.025,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7814,
"after": 0.7463,
"delta": -0.0351,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.678,
"after": 0.6476,
"delta": -0.0304,
"percent_delta": -0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3753,
"after": 0.3562,
"delta": -0.0191,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9329,
"after": 0.9382,
"delta": 0.0053,
"percent_delta": 0.0057,
"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.335,
"after": 0.31,
"delta": -0.025,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.85), rates preserved: AVG=0.249 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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.3107,
"after": 0.0,
"delta": -0.3107,
"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": 5.8501,
"after": 6.0,
"delta": 0.1499,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.517,
"after": 1.0,
"delta": 0.483,
"percent_delta": 0.9342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.457,
"after": 1.0,
"delta": -0.457,
"percent_delta": -0.3137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.342,
"after": 0.0,
"delta": -0.342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0881,
"after": 0.0,
"delta": -0.0881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6476,
"after": 1.0,
"delta": 0.3524,
"percent_delta": 0.5442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9382,
"after": 1.0,
"delta": 0.0618,
"percent_delta": 0.0659,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.517,
"after": 1.0,
"delta": 0.483,
"percent_delta": 0.9342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.457,
"after": 1.0,
"delta": -0.457,
"percent_delta": -0.3137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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": 6.0,
"after": 6.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.9333,
"bvp": 0.0667
},
"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": 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": 6.0,
"after": 6.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.7463,
"after": 1.0,
"delta": 0.2537,
"percent_delta": 0.3399,
"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.7463,
"after": 1.0,
"delta": 0.2537,
"percent_delta": 0.3399,
"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.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.249,
"after": 0.167,
"delta": -0.082,
"percent_delta": -0.3293,
"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.31,
"after": 0.286,
"delta": -0.024,
"percent_delta": -0.0774,
"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.3562,
"after": 0.167,
"delta": -0.1892,
"percent_delta": -0.5312,
"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.3562,
"after": 0.167,
"delta": -0.1892,
"percent_delta": -0.5312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 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": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.249,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3562,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.249,
"delta": 0.082,
"percent_delta": 0.4913,
"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.286,
"after": 0.31,
"delta": 0.024,
"percent_delta": 0.084,
"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.167,
"after": 0.3562,
"delta": 0.1892,
"percent_delta": 1.133,
"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.167,
"after": 0.3562,
"delta": 0.1892,
"percent_delta": 1.133,
"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.149,
"after": 0.0,
"delta": -0.149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.351,
"after": 3.0,
"delta": -0.351,
"percent_delta": -0.1047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.249,
"delta": -0.006,
"percent_delta": -0.0235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.332,
"after": 0.0,
"delta": -0.332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.327,
"after": 0.31,
"delta": -0.017,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.466,
"after": 0.0,
"delta": -0.466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3562,
"delta": -0.0158,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.433,
"after": 0.0,
"delta": -0.433,
"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_H",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.466,
"after": 0.0,
"delta": -0.466,
"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.149 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.351 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.332 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.466 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.372 | - |
| predicted_SO | 0.433 | - |
Final model 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.311 | 0.162 |
| predicted_3B | 0.026 | 0.007 |
| predicted_AB | 5.850 | 2.499 |
| predicted_AVG | 0.262 | 0.007 |
| predicted_BB | 0.520 | 0.188 |
| predicted_H | 1.498 | 0.748 |
| predicted_HBP | 0.342 | - |
| predicted_HR | 0.091 | 0.031 |
| predicted_OBP | 0.335 | 0.008 |
| predicted_R | 0.781 | 0.315 |
| predicted_RBI | 0.678 | 0.318 |
| predicted_SLG | 0.375 | 0.003 |
| predicted_SO | 0.933 | 0.500 |
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.311 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 5.850 | 0.000 |
| predicted_AVG | 0.249 | -0.013 |
| predicted_BB | 0.517 | -0.003 |
| predicted_H | 1.457 | -0.041 |
| predicted_HBP | 0.342 | 0.000 |
| predicted_HR | 0.088 | -0.003 |
| predicted_OBP | 0.310 | -0.025 |
| predicted_R | 0.746 | -0.035 |
| predicted_RBI | 0.648 | -0.030 |
| predicted_SLG | 0.356 | -0.019 |
| predicted_SO | 0.938 | 0.005 |
AB rounded to 6 (raw=5.85), rates preserved: AVG=0.249 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.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=6.0, weight=0.067, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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 | 6.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.311 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 6.000 | 0.150 |
| predicted_AVG | 0.167 | -0.082 |
| predicted_BB | 1.000 | 0.483 |
| predicted_H | 1.000 | -0.457 |
| predicted_HR | 0.000 | -0.088 |
| predicted_OBP | 0.286 | -0.024 |
| predicted_R | 1.000 | 0.254 |
| predicted_RBI | 1.000 | 0.352 |
| predicted_SLG | 0.167 | -0.189 |
| predicted_SO | 1.000 | 0.062 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | - | 16.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 5.000 | 0.1875 | 0.2632 | 0.2500 | 0.1875 | 0.0000 | 0.0625 | 0.0625 | 0.3125 |
| last_10 | 0.20 | 7 | - | 35.000 | 10.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 5.000 | 0.2857 | 0.3333 | 0.4286 | 0.2857 | 0.0000 | 0.0286 | 0.0286 | 0.1429 |
| season | 0.60 | 59 | - | 697.000 | 208.000 | 31.000 | 4.000 | 14.000 | 105.000 | 97.000 | 69.000 | 90.000 | 0.2984 | 0.3759 | 0.4146 | 0.2984 | 0.0201 | 0.1507 | 0.0990 | 0.1291 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5170 |
| predicted_3B | 0.0350 |
| predicted_AB | 9.0400 |
| predicted_AVG | 0.2712 |
| predicted_BB | 0.7600 |
| predicted_H | 2.4520 |
| predicted_HBP | 0.3420 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.3452 |
| predicted_R | 1.1840 |
| predicted_RBI | 1.0840 |
| predicted_SLG | 0.3796 |
| predicted_SO | 1.5710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1490 | 0.5170 | 0.3107 | model_form_blend |
| predicted_3B | 0.0190 | 0.0350 | 0.0260 | model_form_blend |
| predicted_AB | 3.3510 | 9.0400 | 5.8501 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2712 | 0.2621 | model_form_blend |
| predicted_BB | 0.3320 | 0.7600 | 0.5200 | model_form_blend |
| predicted_H | 0.7500 | 2.4520 | 1.4977 | model_form_blend |
| predicted_HBP | - | 0.3420 | 0.3420 | form_only |
| predicted_HR | 0.0600 | 0.1300 | 0.0908 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3452 | 0.3350 | model_form_blend |
| predicted_R | 0.4660 | 1.1840 | 0.7814 | model_form_blend |
| predicted_RBI | 0.3600 | 1.0840 | 0.6780 | model_form_blend |
| predicted_SLG | 0.3720 | 0.3796 | 0.3753 | model_form_blend |
| predicted_SO | 0.4330 | 1.5710 | 0.9329 | 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 | 208 |
| Season rows before report date | 208 |
| Report year | 2026 |
| Profile rows used | 208 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.298 |
| 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 | 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 | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 677587 |
| playerID | 677587 |
| playerName | Brayan Rocchio |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-03 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.349 |
| sl_xwoba | 0.315 |
| sl_xba | 0.254 |
| sl_xslg | 0.358 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 3.0 |
| sl_hard_hit_percent | 32.7 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 10.7 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 47.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 | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.667 | 0.000 | -0.667 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 3.000 | 3.000 | 0.000 | 0.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 6.000 | 7.000 | -1.000 | -2.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.983 | 4.100 | -0.783 | 0.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.167 | 3.000 | 0.833 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.3333 -> 4.2000 (deboost -1.1333, 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.3333 -> 4.2000 (deboost -1.1333, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "677944",
"player_name": "Slade Cecconi",
"position": "Starter",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_SO": 5.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": 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.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 3.0,
"predicted_SO": 5.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": 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": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 5.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 4.200 | -1.133 |
| predicted_SO | 5.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 | 26.000 | 10.000 | 29.000 | 7.000 | 22.000 | 1.000 | 3.4615 | 1.3846 | 0.3846 | 1.1154 | 0.2692 | 0.8461 | 0.0385 |
| last_10 | 0.35 | 10 | 51.100 | 30.000 | 65.000 | 16.000 | 39.000 | 8.000 | 5.2597 | 1.5779 | 0.5844 | 1.2662 | 0.3117 | 0.7597 | 0.1558 |
| season | 0.20 | 12 | 61.200 | 36.000 | 72.000 | 20.000 | 50.000 | 9.000 | 5.2541 | 1.4919 | 0.5838 | 1.1676 | 0.3243 | 0.8108 | 0.1459 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6450 |
| predicted_ER | 2.5550 |
| predicted_ERA | 4.4180 |
| predicted_H | 5.7930 |
| predicted_HR | 0.5810 |
| predicted_IP | 5.1000 |
| predicted_SO | 4.4110 |
| predicted_WHIP | 1.4293 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.6450 | 1.3391 | model_form_blend |
| predicted_ER | 3.0000 | 2.5550 | 2.7660 | model_form_blend |
| predicted_ERA | - | 4.4180 | 4.4180 | form_only |
| predicted_H | 5.0000 | 5.7930 | 5.4169 | model_form_blend |
| predicted_HR | 1.0000 | 0.5810 | 0.7797 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 5.0000 | 4.4110 | 4.6903 | model_form_blend |
| predicted_WHIP | - | 1.4293 | 1.4293 | 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 | 12 |
| Season rows before report date | 12 |
| Report year | 2026 |
| Profile rows used | 12 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 5 |
| HR | 1 |
| BF | 20 |
| Pitches | 89 |
| 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 | 19 |
| Pitching_ER | 3 |
| Pitching_ERA | 5.25 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 3 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.1 |
| Pitching_Pitches | 69 |
| Pitching_R | 3 |
| Pitching_SO | 3 |
| Pitching_Strikes | 49 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260529_BOS@CLE |
| game_type | full |
| mlbID | 677944 |
| playerID | 677944 |
| playerName | Slade Cecconi |
| pos | P |
| started | True |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-05-29 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.353 |
| sl_xwoba | 0.337 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 34.7 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 46.8 |
| sl_avg_best_speed | 76.38226 |
| sl_avg_hyper_speed | 93.733933265 |
| 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.179 | 0.000 | -0.179 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.321 | 1.000 | -0.321 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.929 | 1.000 | -0.929 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.007 | 1.000 | -0.007 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.536 | 1.000 | -0.536 | 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": "671922",
"player_name": "Cade Smith",
"position": "Middle Reliever",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 5.000 | 2.000 | 4.000 | 0.000 | 8.000 | 0.000 | 3.6000 | 0.8000 | 0.4000 | 0.8000 | 0.0000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 2.000 | 7.000 | 1.000 | 19.000 | 0.000 | 1.7419 | 0.7742 | 0.1935 | 0.6774 | 0.0968 | 1.8387 | 0.0000 |
| season | 0.20 | 28 | 28.200 | 9.000 | 26.000 | 5.000 | 43.000 | 1.000 | 2.8256 | 1.0814 | 0.3140 | 0.9070 | 0.1744 | 1.5000 | 0.0349 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2090 |
| predicted_ER | 0.3910 |
| predicted_ERA | 3.5209 |
| predicted_H | 0.8620 |
| predicted_HR | 0.0680 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3250 |
| predicted_WHIP | 1.0703 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2090 | 0.0944 | model_form_blend |
| predicted_ER | 0.0000 | 0.3910 | 0.1767 | model_form_blend |
| predicted_ERA | - | 3.5209 | 3.5209 | form_only |
| predicted_H | 0.0000 | 0.8620 | 0.3895 | model_form_blend |
| predicted_HR | 0.0000 | 0.0680 | 0.0307 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3250 | 1.1468 | model_form_blend |
| predicted_WHIP | - | 1.0703 | 1.0703 | 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 | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| 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 | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.83 |
| 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 | 11 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 671922 |
| playerID | 671922 |
| playerName | Cade Smith |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-03 |
| sl_k_percent | 37.4 |
| sl_bb_percent | 4.3 |
| sl_woba | 0.266 |
| sl_xwoba | 0.247 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 43.1 |
| sl_whiff_percent | 36.2 |
| sl_swing_percent | 50.1 |
| sl_avg_best_speed | 82.190894848 |
| sl_avg_hyper_speed | 94.880142615 |
| 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.444 | 0.000 | 1.556 | 2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.733 | 1.000 | 0.267 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.111 | 1.000 | -0.111 | 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": "542888",
"player_name": "Shawn Armstrong",
"position": "Middle Reliever",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.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": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.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 | 4.000 | 0.000 | 5.000 | 0.000 | 1.9286 | 0.8571 | 0.2143 | 0.8571 | 0.0000 | 1.0714 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 1.000 | 6.000 | 2.000 | 11.000 | 0.000 | 0.9643 | 0.8571 | 0.1071 | 0.6429 | 0.2143 | 1.1786 | 0.0000 |
| season | 0.20 | 17 | 16.000 | 3.000 | 12.000 | 6.000 | 20.000 | 2.000 | 1.6875 | 1.1250 | 0.1875 | 0.7500 | 0.3750 | 1.2500 | 0.1250 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2830 |
| predicted_ER | 0.3620 |
| predicted_ERA | 3.2588 |
| predicted_H | 0.8800 |
| predicted_HR | 0.0940 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0200 |
| predicted_WHIP | 1.1632 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.2830 | 1.3286 | model_form_blend |
| predicted_ER | 0.0000 | 0.3620 | 0.1416 | model_form_blend |
| predicted_ERA | - | 3.2588 | 3.2588 | form_only |
| predicted_H | 0.0000 | 0.8800 | 0.3441 | model_form_blend |
| predicted_HR | 0.0000 | 0.0940 | 0.0368 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0200 | 1.0078 | model_form_blend |
| predicted_WHIP | - | 1.1632 | 1.1632 | 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 | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 17 |
| 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 | 2 |
| SO | 1 |
| 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.38 |
| 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 | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260602_CLE@NYY |
| game_type | full |
| mlbID | 542888 |
| playerID | 542888 |
| playerName | Shawn Armstrong |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-02 |
| sl_k_percent | 29.9 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.307 |
| sl_xwoba | 0.305 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 42.1 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 46.0 |
| sl_avg_best_speed | 77.046786316 |
| sl_avg_hyper_speed | 93.792728158 |
| 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 | 0.316 | 0.000 | 2.684 | 3.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.368 | 0.000 | 0.632 | 1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.947 | 0.000 | -0.947 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.737 | 1.000 | 0.363 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.737 | 0.000 | 0.263 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683769",
"player_name": "Hunter Gaddis",
"position": "Middle Reliever",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 1.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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 4.000 | 0.000 | 6.000 | 0.000 | 0.0000 | 0.7500 | 0.0000 | 0.7500 | 0.0000 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 8.000 | 1.000 | 7.000 | 0.000 | 0.9000 | 0.9000 | 0.1000 | 0.8000 | 0.1000 | 0.7000 | 0.0000 |
| season | 0.20 | 18 | 16.100 | 6.000 | 16.000 | 4.000 | 14.000 | 2.000 | 3.3061 | 1.2245 | 0.3674 | 0.9796 | 0.2449 | 0.8571 | 0.1225 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1520 |
| predicted_ER | 0.2000 |
| predicted_ERA | 3.0230 |
| predicted_H | 0.5350 |
| predicted_HR | 0.0550 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5550 |
| predicted_WHIP | 1.1560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 0.1520 | 1.8804 | model_form_blend |
| predicted_ER | 1.0000 | 0.2000 | 0.6855 | model_form_blend |
| predicted_ERA | - | 3.0230 | 3.0230 | form_only |
| predicted_H | 0.0000 | 0.5350 | 0.2103 | model_form_blend |
| predicted_HR | 0.0000 | 0.0550 | 0.0216 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.5550 | 0.8251 | model_form_blend |
| predicted_WHIP | - | 1.1560 | 1.1560 | 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 | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 1 |
| ER | 1 |
| BB | 3 |
| SO | 1 |
| HR | 0 |
| BF | 7 |
| Pitches | 29 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.86 |
| Pitching_Flyouts | 3 |
| 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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 683769 |
| playerID | 683769 |
| playerName | Hunter Gaddis |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.9 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.317 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 25.9 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 29.6 |
| sl_whiff_percent | 30.2 |
| sl_swing_percent | 49.8 |
| sl_avg_best_speed | 78.093926667 |
| sl_avg_hyper_speed | 92.615930755 |
| Field | Value |
|---|---|
| Pitcher | Carlos Rodón |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1656 |
| ESPN Rank | 201 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0703 |
| Avg Velo | 90.9548 |
| Avg Spin | 2329.0986 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 3 |
| Pre SO | 1 |
| Season ERA | 3.3158 |
| Season WHIP | 1.3158 |
| Role Avg IP | 4.7500 |
| Recent Avg IP | 4.7500 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 70,
"wins": 41,
"losses": 29,
"win_pct": 0.5857,
"runs_scored": 343.0,
"runs_allowed": 260.0,
"run_differential": 83.0,
"run_differential_per_game": 1.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 3.7143,
"offense_index": 1.0978,
"defense_index": 1.2017,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.4,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2539
},
"opponent": {
"team": "CLE",
"games": 70,
"wins": 40,
"losses": 30,
"win_pct": 0.5714,
"runs_scored": 309.0,
"runs_allowed": 298.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1571,
"avg_runs_scored": 4.4143,
"avg_runs_allowed": 4.2571,
"offense_index": 0.989,
"defense_index": 1.0485,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 5.1,
"run_differential": -17.0
},
"available": true,
"quality_score": 0.08
},
"edges": {
"quality_edge": 0.1739,
"offense_edge": 0.0978,
"opponent_offense_edge": -0.011,
"defense_strength": 0.2017,
"opponent_defense_weakness": -0.0485,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0134,
"run_prevention": 0.9694,
"strikeout": 1.0061
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607074",
"profile": {
"available": true,
"pitcher_id": "607074",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 58.0,
"k_percent": 24.7,
"bb_percent": 16.0,
"woba": 0.291,
"xwoba": 0.283,
"sweet_spot_percent": 17.0,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 29.8,
"avg_best_speed": 80.6718,
"avg_hyper_speed": 93.5976,
"whiff_percent": 25.0,
"swing_percent": 47.5
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.717,
"command_and_miss": -0.2386,
"regression_edge": 0.2286,
"xwoba_edge": 0.9143,
"barrel_edge": 0.1778,
"hard_hit_edge": 1.2286,
"whiff_edge": -0.1143,
"bb_edge": -1.7,
"pitch_design_score": 0.0703
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607074",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 90.95479470821574,
"release_spin_rate": 2329.098631047315,
"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": 87,
"pitch_usage": 0.0,
"release_speed": 90.95479470821574,
"release_spin_rate": 2329.098631047315,
"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.9548,
"release_spin_rate": 2329.0986,
"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.0703,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5018,
"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.1656,
"sample_weight": 0.45,
"run_prevention_factor": 0.9859,
"strikeout_factor": 1.0036,
"walk_factor": 1.0612,
"homer_factor": 0.9591,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607074",
"espn_id": 33696,
"player_name": "Carlos Rodon",
"team": "NYY",
"role": "pitcher",
"espn_rank": 201,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 201,
"gp_value": 4.0,
"gp_rank": 479,
"gs_value": 4.0,
"gs_rank": 164,
"qs_value": 1.0,
"qs_rank": 127,
"era_value": 3.3157,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 19.0,
"ip_rank": 352,
"h_value": 12.0,
"h_rank": 410,
"er_value": 7.0,
"er_rank": 363,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 13.0,
"bb_rank": 188,
"k_value": 20.0,
"k_rank": 303,
"k_per_9_value": 9.473684,
"k_per_9_rank": 23,
"whip_value": 1.3157,
"whip_rank": null,
"war_value": 0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9937,
"adjusted": 2
},
"predicted_H": {
"original": 3.0,
"factor": 0.9937,
"adjusted": 3
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0275,
"adjusted": 3
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9816,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0016,
"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": "insufficient_data"
},
"pitching": {
"IP": 19.0,
"ER": 7,
"H": 12,
"BB": 13,
"SO": 20,
"HR": 1,
"ERA": 3.3157894736842106,
"WHIP": 1.3157894736842106,
"K9": 9.473684210526315,
"HR9": 0.47368421052631576,
"games_pitched": 4,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 4,
"error_prone": false
},
"games_count": 4,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "607074",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 90.95479470821574,
"release_spin_rate": 2329.098631047315,
"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": 87,
"pitch_usage": 0.0,
"release_speed": 90.95479470821574,
"release_spin_rate": 2329.098631047315,
"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.9548,
"release_spin_rate": 2329.0986,
"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.0703,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5018,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4444,
"prior_weight": 0.5556
},
"role": "pitcher",
"player_id": "607074",
"report_date": "20260604_C",
"season_year": 2026,
"rows_used": 4,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 4,
"totals": {
"IP": 19.0,
"ER": 7.0,
"R": 8.0,
"H": 12.0,
"BB": 13.0,
"SO": 20.0,
"HR": 1.0,
"BF": 81.0,
"Pitches": 354.0
},
"per_game": {
"IP": 4.2,
"ER": 1.75,
"R": 2.0,
"H": 3.0,
"BB": 3.25,
"SO": 5.0,
"HR": 0.25,
"BF": 20.25,
"Pitches": 88.5
},
"rates": {
"ERA": 3.3158,
"WHIP": 1.3158,
"ER_per_IP": 0.36842,
"H_per_IP": 0.63158,
"BB_per_IP": 0.68421,
"SO_per_IP": 1.05263,
"HR_per_IP": 0.05263
}
},
"last_10": {
"games": 4,
"totals": {
"IP": 19.0,
"ER": 7.0,
"R": 8.0,
"H": 12.0,
"BB": 13.0,
"SO": 20.0,
"HR": 1.0,
"BF": 81.0,
"Pitches": 354.0
},
"per_game": {
"IP": 4.2,
"ER": 1.75,
"R": 2.0,
"H": 3.0,
"BB": 3.25,
"SO": 5.0,
"HR": 0.25,
"BF": 20.25,
"Pitches": 88.5
},
"rates": {
"ERA": 3.3158,
"WHIP": 1.3158,
"ER_per_IP": 0.36842,
"H_per_IP": 0.63158,
"BB_per_IP": 0.68421,
"SO_per_IP": 1.05263,
"HR_per_IP": 0.05263
}
},
"season": {
"games": 4,
"totals": {
"IP": 19.0,
"ER": 7.0,
"R": 8.0,
"H": 12.0,
"BB": 13.0,
"SO": 20.0,
"HR": 1.0,
"BF": 81.0,
"Pitches": 354.0
},
"per_game": {
"IP": 4.2,
"ER": 1.75,
"R": 2.0,
"H": 3.0,
"BB": 3.25,
"SO": 5.0,
"HR": 0.25,
"BF": 20.25,
"Pitches": 88.5
},
"rates": {
"ERA": 3.3158,
"WHIP": 1.3158,
"ER_per_IP": 0.36842,
"H_per_IP": 0.63158,
"BB_per_IP": 0.68421,
"SO_per_IP": 1.05263,
"HR_per_IP": 0.05263
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.095,
"predicted_H": 3.939,
"predicted_BB": 2.464,
"predicted_SO": 4.806,
"predicted_HR": 0.483,
"predicted_ERA": 3.8863,
"predicted_WHIP": 1.3197
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5847,
"form_weight": 0.4153,
"form_reliability": 0.4444,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4444,
"prior_weight": 0.5556
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.095,
"final": 1.4547,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 3.939,
"final": 3.3899,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.464,
"final": 2.7774,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 4.806,
"final": 2.5805,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.483,
"final": 0.2006,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8863,
"final": 3.8863,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3197,
"final": 1.3197,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | David Bednar |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3152 |
| ESPN Rank | 553 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0410 |
| Avg Velo | 88.9683 |
| Avg Spin | 2155.9759 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.5000 |
| Season WHIP | 1.5833 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 70,
"wins": 41,
"losses": 29,
"win_pct": 0.5857,
"runs_scored": 343.0,
"runs_allowed": 260.0,
"run_differential": 83.0,
"run_differential_per_game": 1.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 3.7143,
"offense_index": 1.0978,
"defense_index": 1.2017,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.4,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2539
},
"opponent": {
"team": "CLE",
"games": 70,
"wins": 40,
"losses": 30,
"win_pct": 0.5714,
"runs_scored": 309.0,
"runs_allowed": 298.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1571,
"avg_runs_scored": 4.4143,
"avg_runs_allowed": 4.2571,
"offense_index": 0.989,
"defense_index": 1.0485,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 5.1,
"run_differential": -17.0
},
"available": true,
"quality_score": 0.08
},
"edges": {
"quality_edge": 0.1739,
"offense_edge": 0.0978,
"opponent_offense_edge": -0.011,
"defense_strength": 0.2017,
"opponent_defense_weakness": -0.0485,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0134,
"run_prevention": 0.9694,
"strikeout": 1.0061
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670280",
"profile": {
"available": true,
"pitcher_id": "670280",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 105.0,
"k_percent": 26.1,
"bb_percent": 9.9,
"woba": 0.335,
"xwoba": 0.268,
"sweet_spot_percent": 18.6,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 40.0,
"avg_best_speed": 75.4271,
"avg_hyper_speed": 93.656,
"whiff_percent": 29.5,
"swing_percent": 52.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7376,
"command_and_miss": 0.3814,
"regression_edge": 1.9143,
"xwoba_edge": 1.3429,
"barrel_edge": 0.6444,
"hard_hit_edge": -0.2286,
"whiff_edge": 0.5286,
"bb_edge": -0.175,
"pitch_design_score": -0.041
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670280",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 88.96828226332995,
"release_spin_rate": 2155.975886538087,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 88.96828226332995,
"release_spin_rate": 2155.975886538087,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9683,
"release_spin_rate": 2155.9759,
"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.041,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2928,
"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.3152,
"sample_weight": 0.45,
"run_prevention_factor": 0.9732,
"strikeout_factor": 1.0188,
"walk_factor": 1.0063,
"homer_factor": 0.9628,
"woba_minus_xwoba": 0.067,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "670280",
"espn_id": 38303,
"player_name": "David Bednar",
"team": "NYY",
"role": "pitcher",
"espn_rank": 553,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 553,
"gp_value": 24.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.5,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 12.0,
"sv_rank": 7,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 24.0,
"ip_rank": 277,
"h_value": 27.0,
"h_rank": 184,
"er_value": 12.0,
"er_rank": 220,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 11.0,
"bb_rank": 227,
"k_value": 29.0,
"k_rank": 200,
"k_per_9_value": 10.875,
"k_per_9_rank": 19,
"whip_value": 1.5833,
"whip_rank": null,
"war_value": -0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9879,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9879,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0028,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9833,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0085,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 7,
"H": 10,
"BB": 6,
"SO": 13,
"HR": 2,
"ERA": 6.096774193548388,
"WHIP": 1.5483870967741937,
"K9": 11.322580645161292,
"HR9": 1.741935483870968,
"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-05-31T00:00:00"
}{
"available": true,
"pitcher_id": "670280",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 88.96828226332995,
"release_spin_rate": 2155.975886538087,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 88.96828226332995,
"release_spin_rate": 2155.975886538087,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9683,
"release_spin_rate": 2155.9759,
"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.041,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2928,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.737,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4865,
"prior_weight": 0.5135
},
"role": "pitcher",
"player_id": "670280",
"report_date": "20260604_C",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 5.0,
"SO": 7.0,
"HR": 1.0,
"BF": 26.0,
"Pitches": 112.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 1.0,
"SO": 1.4,
"HR": 0.2,
"BF": 5.2,
"Pitches": 22.4
},
"rates": {
"ERA": 7.2,
"WHIP": 2.2,
"ER_per_IP": 0.8,
"H_per_IP": 1.2,
"BB_per_IP": 1.0,
"SO_per_IP": 1.4,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 7.0,
"R": 7.0,
"H": 10.0,
"BB": 6.0,
"SO": 13.0,
"HR": 2.0,
"BF": 46.0,
"Pitches": 193.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.0,
"BB": 0.6,
"SO": 1.3,
"HR": 0.2,
"BF": 4.6,
"Pitches": 19.3
},
"rates": {
"ERA": 6.0968,
"WHIP": 1.5484,
"ER_per_IP": 0.67742,
"H_per_IP": 0.96774,
"BB_per_IP": 0.58065,
"SO_per_IP": 1.25806,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 24,
"totals": {
"IP": 24.0,
"ER": 12.0,
"R": 15.0,
"H": 27.0,
"BB": 11.0,
"SO": 29.0,
"HR": 2.0,
"BF": 111.0,
"Pitches": 466.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.625,
"H": 1.125,
"BB": 0.4583,
"SO": 1.2083,
"HR": 0.0833,
"BF": 4.625,
"Pitches": 19.4167
},
"rates": {
"ERA": 4.5,
"WHIP": 1.5833,
"ER_per_IP": 0.5,
"H_per_IP": 1.125,
"BB_per_IP": 0.45833,
"SO_per_IP": 1.20833,
"HR_per_IP": 0.08333
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.587,
"predicted_H": 1.028,
"predicted_BB": 0.551,
"predicted_SO": 1.121,
"predicted_HR": 0.155,
"predicted_ERA": 5.2822,
"predicted_WHIP": 1.5786
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.567,
"form_weight": 0.433,
"form_reliability": 0.4865,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.737,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4865,
"prior_weight": 0.5135
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.587,
"final": 0.2542,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.028,
"final": 0.4452,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.551,
"final": 0.2386,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.121,
"final": 1.0524,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.155,
"final": 0.0671,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.2822,
"final": 5.2822,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5786,
"final": 1.5786,
"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 | Fernando Cruz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3276 |
| ESPN Rank | 91 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 84.6909 |
| Avg Spin | 1488.6102 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.0769 |
| Season WHIP | 1.2308 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 70,
"wins": 41,
"losses": 29,
"win_pct": 0.5857,
"runs_scored": 343.0,
"runs_allowed": 260.0,
"run_differential": 83.0,
"run_differential_per_game": 1.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 3.7143,
"offense_index": 1.0978,
"defense_index": 1.2017,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.4,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2539
},
"opponent": {
"team": "CLE",
"games": 70,
"wins": 40,
"losses": 30,
"win_pct": 0.5714,
"runs_scored": 309.0,
"runs_allowed": 298.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1571,
"avg_runs_scored": 4.4143,
"avg_runs_allowed": 4.2571,
"offense_index": 0.989,
"defense_index": 1.0485,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 5.1,
"run_differential": -17.0
},
"available": true,
"quality_score": 0.08
},
"edges": {
"quality_edge": 0.1739,
"offense_edge": 0.0978,
"opponent_offense_edge": -0.011,
"defense_strength": 0.2017,
"opponent_defense_weakness": -0.0485,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0134,
"run_prevention": 0.9694,
"strikeout": 1.0061
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "518585",
"profile": {
"available": true,
"pitcher_id": "518585",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 97.0,
"k_percent": 30.6,
"bb_percent": 13.0,
"woba": 0.282,
"xwoba": 0.284,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 25.4,
"avg_best_speed": 73.532,
"avg_hyper_speed": 92.5865,
"whiff_percent": 41.9,
"swing_percent": 43.7
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.8231,
"command_and_miss": 1.1357,
"regression_edge": -0.0571,
"xwoba_edge": 0.8857,
"barrel_edge": 0.0889,
"hard_hit_edge": 1.8571,
"whiff_edge": 2.3,
"bb_edge": -0.95,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "518585",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 84.69090097804407,
"release_spin_rate": 1488.6102269016806,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 84.69090097804407,
"release_spin_rate": 1488.6102269016806,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.6909,
"release_spin_rate": 1488.6102,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.3276,
"sample_weight": 0.45,
"run_prevention_factor": 0.9722,
"strikeout_factor": 1.0622,
"walk_factor": 1.0342,
"homer_factor": 0.9514,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518585",
"espn_id": 34068,
"player_name": "Fernando Cruz",
"team": "NYY",
"role": "pitcher",
"espn_rank": 91,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 91,
"gp_value": 29.0,
"gp_rank": 8,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.0769,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 10.0,
"hld_rank": 13,
"ip_value": 26.0,
"ip_rank": 238,
"h_value": 18.0,
"h_rank": 308,
"er_value": 6.0,
"er_rank": 404,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 14.0,
"bb_rank": 167,
"k_value": 33.0,
"k_rank": 160,
"k_per_9_value": 11.423078,
"k_per_9_rank": 18,
"whip_value": 1.2307,
"whip_rank": null,
"war_value": 0.9,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9875,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9875,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0154,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9781,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.028,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 1,
"H": 5,
"BB": 3,
"SO": 10,
"HR": 0,
"ERA": 0.8437499999999999,
"WHIP": 0.7499999999999999,
"K9": 8.437499999999998,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "518585",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 84.69090097804407,
"release_spin_rate": 1488.6102269016806,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 84.69090097804407,
"release_spin_rate": 1488.6102269016806,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.6909,
"release_spin_rate": 1488.6102,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.132,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5065,
"prior_weight": 0.4935
},
"role": "pitcher",
"player_id": "518585",
"report_date": "20260604_C",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 13.4
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.9375,
"ER_per_IP": 0.1875,
"H_per_IP": 0.75,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.5625,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 3.0,
"SO": 10.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.3,
"SO": 1.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 13.5
},
"rates": {
"ERA": 0.8438,
"WHIP": 0.75,
"ER_per_IP": 0.09375,
"H_per_IP": 0.46875,
"BB_per_IP": 0.28125,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.0
}
},
"season": {
"games": 29,
"totals": {
"IP": 26.0,
"ER": 6.0,
"R": 7.0,
"H": 18.0,
"BB": 14.0,
"SO": 33.0,
"HR": 2.0,
"BF": 108.0,
"Pitches": 426.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2069,
"R": 0.2414,
"H": 0.6207,
"BB": 0.4828,
"SO": 1.1379,
"HR": 0.069,
"BF": 3.7241,
"Pitches": 14.6897
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.2308,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.53846,
"SO_per_IP": 1.26923,
"HR_per_IP": 0.07692
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.321,
"predicted_H": 0.796,
"predicted_BB": 0.328,
"predicted_SO": 0.887,
"predicted_HR": 0.075,
"predicted_ERA": 2.8877,
"predicted_WHIP": 1.1241
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5585,
"form_weight": 0.4415,
"form_reliability": 0.5065,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.132,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5065,
"prior_weight": 0.4935
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.321,
"final": 0.1417,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.796,
"final": 0.3514,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.328,
"final": 0.1448,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.887,
"final": 0.3916,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.0331,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8877,
"final": 2.8877,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1241,
"final": 1.1241,
"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 | Tim Hill |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1928 |
| ESPN Rank | 454 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1354 |
| Avg Velo | 87.2831 |
| Avg Spin | 2059.3092 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.3750 |
| Season WHIP | 1.1667 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 70,
"wins": 41,
"losses": 29,
"win_pct": 0.5857,
"runs_scored": 343.0,
"runs_allowed": 260.0,
"run_differential": 83.0,
"run_differential_per_game": 1.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 3.7143,
"offense_index": 1.0978,
"defense_index": 1.2017,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.4,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2539
},
"opponent": {
"team": "CLE",
"games": 70,
"wins": 40,
"losses": 30,
"win_pct": 0.5714,
"runs_scored": 309.0,
"runs_allowed": 298.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1571,
"avg_runs_scored": 4.4143,
"avg_runs_allowed": 4.2571,
"offense_index": 0.989,
"defense_index": 1.0485,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 5.1,
"run_differential": -17.0
},
"available": true,
"quality_score": 0.08
},
"edges": {
"quality_edge": 0.1739,
"offense_edge": 0.0978,
"opponent_offense_edge": -0.011,
"defense_strength": 0.2017,
"opponent_defense_weakness": -0.0485,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0134,
"run_prevention": 0.9694,
"strikeout": 1.0061
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657612",
"profile": {
"available": true,
"pitcher_id": "657612",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 12.5,
"bb_percent": 5.8,
"woba": 0.323,
"xwoba": 0.334,
"sweet_spot_percent": 21.7,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 45.8,
"avg_best_speed": 76.9535,
"avg_hyper_speed": 95.5387,
"whiff_percent": 13.1,
"swing_percent": 53.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.1753,
"command_and_miss": -1.1079,
"regression_edge": -0.3143,
"xwoba_edge": -0.5429,
"barrel_edge": 0.5333,
"hard_hit_edge": -1.0571,
"whiff_edge": -1.8143,
"bb_edge": 0.85,
"pitch_design_score": -0.1354
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657612",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.28311222274458,
"release_spin_rate": 2059.3091647731353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.28311222274458,
"release_spin_rate": 2059.3091647731353,
"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.2831,
"release_spin_rate": 2059.3092,
"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.1354,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9669,
"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.1928,
"sample_weight": 0.45,
"run_prevention_factor": 1.0164,
"strikeout_factor": 0.9416,
"walk_factor": 0.9694,
"homer_factor": 1.0072,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657612",
"espn_id": 37005,
"player_name": "Tim Hill",
"team": "NYY",
"role": "pitcher",
"espn_rank": 454,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 454,
"gp_value": 29.0,
"gp_rank": 8,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.5,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 8.0,
"hld_rank": 29,
"ip_value": 24.0,
"ip_rank": 277,
"h_value": 26.0,
"h_rank": 198,
"er_value": 12.0,
"er_rank": 220,
"hr_value": 3.0,
"hr_rank": 207,
"bb_value": 6.0,
"bb_rank": 388,
"k_value": 13.0,
"k_rank": 403,
"k_per_9_value": 4.875,
"k_per_9_rank": 39,
"whip_value": 1.3333,
"whip_rank": null,
"war_value": -0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0074,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0074,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9862,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0032,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9737,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 6.2,
"ER": 7,
"H": 11,
"BB": 3,
"SO": 6,
"HR": 2,
"ERA": 9.45,
"WHIP": 2.1,
"K9": 8.1,
"HR9": 2.6999999999999997,
"games_pitched": 9,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "657612",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.28311222274458,
"release_spin_rate": 2059.3091647731353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.28311222274458,
"release_spin_rate": 2059.3091647731353,
"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.2831,
"release_spin_rate": 2059.3092,
"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.1354,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9669,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.737,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4865,
"prior_weight": 0.5135
},
"role": "pitcher",
"player_id": "657612",
"report_date": "20260604_C",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 2.0,
"SO": 5.0,
"HR": 2.0,
"BF": 24.0,
"Pitches": 81.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.2,
"H": 1.8,
"BB": 0.4,
"SO": 1.0,
"HR": 0.4,
"BF": 4.8,
"Pitches": 16.2
},
"rates": {
"ERA": 12.4615,
"WHIP": 2.5385,
"ER_per_IP": 1.38462,
"H_per_IP": 2.07692,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.2,
"ER": 7.0,
"R": 8.0,
"H": 12.0,
"BB": 3.0,
"SO": 6.0,
"HR": 2.0,
"BF": 39.0,
"Pitches": 135.0
},
"per_game": {
"IP": 0.2,
"ER": 0.7,
"R": 0.8,
"H": 1.2,
"BB": 0.3,
"SO": 0.6,
"HR": 0.2,
"BF": 3.9,
"Pitches": 13.5
},
"rates": {
"ERA": 8.2174,
"WHIP": 1.9565,
"ER_per_IP": 0.91304,
"H_per_IP": 1.56522,
"BB_per_IP": 0.3913,
"SO_per_IP": 0.78261,
"HR_per_IP": 0.26087
}
},
"season": {
"games": 28,
"totals": {
"IP": 24.0,
"ER": 9.0,
"R": 10.0,
"H": 23.0,
"BB": 5.0,
"SO": 13.0,
"HR": 3.0,
"BF": 99.0,
"Pitches": 319.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3214,
"R": 0.3571,
"H": 0.8214,
"BB": 0.1786,
"SO": 0.4643,
"HR": 0.1071,
"BF": 3.5357,
"Pitches": 11.3929
},
"rates": {
"ERA": 3.375,
"WHIP": 1.1667,
"ER_per_IP": 0.375,
"H_per_IP": 0.95833,
"BB_per_IP": 0.20833,
"SO_per_IP": 0.54167,
"HR_per_IP": 0.125
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.701,
"predicted_H": 1.231,
"predicted_BB": 0.355,
"predicted_SO": 0.869,
"predicted_HR": 0.215,
"predicted_ERA": 6.6857,
"predicted_WHIP": 1.6816
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.567,
"form_weight": 0.433,
"form_reliability": 0.4865,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.737,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4865,
"prior_weight": 0.5135
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.701,
"final": 0.8705,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.231,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.355,
"final": 0.1537,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.869,
"final": 0.9433,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.215,
"final": 0.6601,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.6857,
"final": 6.6857,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6816,
"final": 1.6816,
"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.257 | 0.000 | 0.000 | Hitting_2B | 0.252 | 1.000 | -0.252 | -1.000 |
| predicted_3B | 0.044 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 3.761 | 4.000 | 6.000 | Hitting_AB | 3.696 | 4.000 | 0.304 | 0.000 |
| predicted_AVG | 0.253 | 0.000 | 0.333 | Hitting_AVG | 0.285 | 0.250 | -0.285 | -0.250 |
| predicted_BB | 0.416 | 0.000 | 1.000 | Hitting_BB | 0.417 | 0.000 | -0.417 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.930 | 0.000 | 2.000 | Hitting_H | 1.052 | 1.000 | -1.052 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_OBP | 0.330 | 0.000 | 0.429 | Hitting_OBP | 0.369 | 0.250 | -0.369 | -0.250 |
| predicted_R | 0.681 | 0.000 | 1.000 | Hitting_R | 0.678 | 1.000 | -0.678 | -1.000 |
| predicted_RBI | 0.670 | 0.000 | 1.000 | Hitting_RBI | 0.609 | 0.000 | -0.609 | 0.000 |
| predicted_SLG | 0.486 | 0.000 | 0.333 | Hitting_SLG | 0.553 | 0.500 | -0.553 | -0.500 |
| predicted_SO | 0.823 | 2.000 | 1.000 | Hitting_SO | 0.809 | 2.000 | 1.191 | 0.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_SO: 0.8230 -> 2.0000 (boost 1.1770, worse) |
| Biggest Deboost | predicted_H: 0.9300 -> 0.0000 (deboost -0.9300, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.7610 -> 6.4314 (boost 2.6704, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5246 -> 0.5517 (boost 0.0271, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 2 | 7 | 3 | 6 | predicted_BB: 0.6522 -> 1.0000 (boost 0.3478, better) | predicted_SO: 1.4545 -> 1.0000 (deboost -0.4545, better) | AB rounded to 6 (raw=6.43), rates preserved: AVG=0.284 HR/AB=0.060 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1916 -> 1.0000 (deboost -0.1916, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3499 -> 0.4290 (boost 0.0791, better) | predicted_SLG: 0.5517 -> 0.3330 (deboost -0.2187, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 0 | 6 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.5517 (boost 0.2187, better) | predicted_OBP: 0.4290 -> 0.3499 (deboost -0.0791, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "502671",
"player_name": "Paul Goldschmidt",
"position": "1B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.257,
"predicted_3B": 0.044,
"predicted_AB": 3.761,
"predicted_AVG": 0.253,
"predicted_BB": 0.416,
"predicted_H": 0.93,
"predicted_HR": 0.18,
"predicted_OBP": 0.33,
"predicted_R": 0.681,
"predicted_RBI": 0.67,
"predicted_SLG": 0.486,
"predicted_SO": 0.823
},
"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.4522,
"predicted_3B": 0.06,
"predicted_AB": 6.4314,
"predicted_AVG": 0.2714,
"predicted_BB": 0.6463,
"predicted_H": 1.7978,
"predicted_HBP": 0.131,
"predicted_HR": 0.3774,
"predicted_OBP": 0.3449,
"predicted_R": 1.1584,
"predicted_RBI": 1.2989,
"predicted_SLG": 0.5246,
"predicted_SO": 1.4679
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.257,
"after": 0.4522,
"delta": 0.1952,
"percent_delta": 0.7595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.044,
"after": 0.06,
"delta": 0.016,
"percent_delta": 0.3636,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.761,
"after": 6.4314,
"delta": 2.6704,
"percent_delta": 0.71,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2714,
"delta": 0.0184,
"percent_delta": 0.0727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.6463,
"delta": 0.2303,
"percent_delta": 0.5536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.7978,
"delta": 0.8678,
"percent_delta": 0.9331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.3774,
"delta": 0.1974,
"percent_delta": 1.0967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3449,
"delta": 0.0149,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.681,
"after": 1.1584,
"delta": 0.4774,
"percent_delta": 0.701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 1.2989,
"delta": 0.6289,
"percent_delta": 0.9387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.5246,
"delta": 0.0386,
"percent_delta": 0.0794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.823,
"after": 1.4679,
"delta": 0.6449,
"percent_delta": 0.7836,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.761,
"after": 6.4314,
"delta": 2.6704,
"percent_delta": 0.71,
"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": 6,
"season": 34
}
},
{
"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.4522,
"predicted_3B": 0.06,
"predicted_AB": 6.4314,
"predicted_AVG": 0.284,
"predicted_BB": 0.6522,
"predicted_H": 1.8264,
"predicted_HBP": 0.131,
"predicted_HR": 0.3833,
"predicted_OBP": 0.3499,
"predicted_R": 1.1916,
"predicted_RBI": 1.3362,
"predicted_SLG": 0.5517,
"predicted_SO": 1.4545
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4522,
"after": 0.4522,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.06,
"after": 0.06,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.4314,
"after": 6.4314,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2714,
"after": 0.284,
"delta": 0.0126,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6463,
"after": 0.6522,
"delta": 0.0059,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7978,
"after": 1.8264,
"delta": 0.0286,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.131,
"after": 0.131,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3774,
"after": 0.3833,
"delta": 0.0059,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3449,
"after": 0.3499,
"delta": 0.005,
"percent_delta": 0.0145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1584,
"after": 1.1916,
"delta": 0.0332,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2989,
"after": 1.3362,
"delta": 0.0373,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5246,
"after": 0.5517,
"delta": 0.0271,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4679,
"after": 1.4545,
"delta": -0.0134,
"percent_delta": -0.0091,
"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.5246,
"after": 0.5517,
"delta": 0.0271,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.43), rates preserved: AVG=0.284 HR/AB=0.060",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.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.4522,
"after": 0.0,
"delta": -0.4522,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.4314,
"after": 6.0,
"delta": -0.4314,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6522,
"after": 1.0,
"delta": 0.3478,
"percent_delta": 0.5333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8264,
"after": 2.0,
"delta": 0.1736,
"percent_delta": 0.0951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.131,
"after": 0.0,
"delta": -0.131,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3833,
"after": 0.0,
"delta": -0.3833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3362,
"after": 1.0,
"delta": -0.3362,
"percent_delta": -0.2516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4545,
"after": 1.0,
"delta": -0.4545,
"percent_delta": -0.3125,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6522,
"after": 1.0,
"delta": 0.3478,
"percent_delta": 0.5333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4545,
"after": 1.0,
"delta": -0.4545,
"percent_delta": -0.3125,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1916,
"after": 1.0,
"delta": -0.1916,
"percent_delta": -0.1608,
"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": 1.1916,
"after": 1.0,
"delta": -0.1916,
"percent_delta": -0.1608,
"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": 6.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.429,
"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.284,
"after": 0.333,
"delta": 0.049,
"percent_delta": 0.1725,
"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": 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.3499,
"after": 0.429,
"delta": 0.0791,
"percent_delta": 0.2261,
"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.5517,
"after": 0.333,
"delta": -0.2187,
"percent_delta": -0.3964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3499,
"after": 0.429,
"delta": 0.0791,
"percent_delta": 0.2261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5517,
"after": 0.333,
"delta": -0.2187,
"percent_delta": -0.3964,
"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": 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": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"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": 4.0,
"predicted_AVG": 0.284,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3499,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5517,
"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.284,
"delta": -0.049,
"percent_delta": -0.1472,
"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.429,
"after": 0.3499,
"delta": -0.0791,
"percent_delta": -0.1844,
"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.5517,
"delta": 0.2187,
"percent_delta": 0.6569,
"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.5517,
"delta": 0.2187,
"percent_delta": 0.6569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.429,
"after": 0.3499,
"delta": -0.0791,
"percent_delta": -0.1844,
"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.257,
"after": 0.0,
"delta": -0.257,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.761,
"after": 4.0,
"delta": 0.239,
"percent_delta": 0.0635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.284,
"delta": 0.031,
"percent_delta": 0.1225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3499,
"delta": 0.0199,
"percent_delta": 0.0603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.681,
"after": 0.0,
"delta": -0.681,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.5517,
"delta": 0.0657,
"percent_delta": 0.1352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.823,
"after": 2.0,
"delta": 1.177,
"percent_delta": 1.4301,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.823,
"after": 2.0,
"delta": 1.177,
"percent_delta": 1.4301,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"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.257 | - |
| predicted_3B | 0.044 | - |
| predicted_AB | 3.761 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.416 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.681 | - |
| predicted_RBI | 0.670 | - |
| predicted_SLG | 0.486 | - |
| predicted_SO | 0.823 | - |
Final model 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.452 | 0.195 |
| predicted_3B | 0.060 | 0.016 |
| predicted_AB | 6.431 | 2.670 |
| predicted_AVG | 0.271 | 0.018 |
| predicted_BB | 0.646 | 0.230 |
| predicted_H | 1.798 | 0.868 |
| predicted_HBP | 0.131 | - |
| predicted_HR | 0.377 | 0.197 |
| predicted_OBP | 0.345 | 0.015 |
| predicted_R | 1.158 | 0.477 |
| predicted_RBI | 1.299 | 0.629 |
| predicted_SLG | 0.525 | 0.039 |
| predicted_SO | 1.468 | 0.645 |
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.452 | 0.000 |
| predicted_3B | 0.060 | 0.000 |
| predicted_AB | 6.431 | 0.000 |
| predicted_AVG | 0.284 | 0.013 |
| predicted_BB | 0.652 | 0.006 |
| predicted_H | 1.826 | 0.029 |
| predicted_HBP | 0.131 | 0.000 |
| predicted_HR | 0.383 | 0.006 |
| predicted_OBP | 0.350 | 0.005 |
| predicted_R | 1.192 | 0.033 |
| predicted_RBI | 1.336 | 0.037 |
| predicted_SLG | 0.552 | 0.027 |
| predicted_SO | 1.454 | -0.013 |
AB rounded to 6 (raw=6.43), rates preserved: AVG=0.284 HR/AB=0.060
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.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.452 |
| predicted_3B | 0.000 | -0.060 |
| predicted_AB | 6.000 | -0.431 |
| predicted_AVG | 0.333 | 0.049 |
| predicted_BB | 1.000 | 0.348 |
| predicted_H | 2.000 | 0.174 |
| predicted_HR | 0.000 | -0.383 |
| predicted_OBP | 0.429 | 0.079 |
| predicted_R | 1.000 | -0.192 |
| predicted_RBI | 1.000 | -0.336 |
| predicted_SLG | 0.333 | -0.219 |
| predicted_SO | 1.000 | -0.454 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 7.000 | 2.000 | 0.000 | 2.000 | 8.000 | 4.000 | 1.000 | 6.000 | 0.3182 | 0.3478 | 0.6818 | 0.3182 | 0.0909 | 0.3636 | 0.0454 | 0.2727 |
| last_10 | 0.20 | 6 | - | 42.000 | 17.000 | 2.000 | 0.000 | 2.000 | 13.000 | 9.000 | 6.000 | 11.000 | 0.4048 | 0.4792 | 0.5952 | 0.4048 | 0.0476 | 0.3095 | 0.1429 | 0.2619 |
| season | 0.60 | 34 | - | 425.000 | 121.000 | 29.000 | 5.000 | 25.000 | 70.000 | 77.000 | 47.000 | 93.000 | 0.2847 | 0.3667 | 0.5529 | 0.2847 | 0.0588 | 0.1647 | 0.1106 | 0.2188 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7080 |
| predicted_3B | 0.0810 |
| predicted_AB | 9.9310 |
| predicted_AVG | 0.2956 |
| predicted_BB | 0.9480 |
| predicted_H | 2.9350 |
| predicted_HBP | 0.1310 |
| predicted_HR | 0.6360 |
| predicted_OBP | 0.3644 |
| predicted_R | 1.7840 |
| predicted_RBI | 2.1230 |
| predicted_SLG | 0.5752 |
| predicted_SO | 2.3130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2570 | 0.7080 | 0.4522 | model_form_blend |
| predicted_3B | 0.0440 | 0.0810 | 0.0600 | model_form_blend |
| predicted_AB | 3.7610 | 9.9310 | 6.4314 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2956 | 0.2714 | model_form_blend |
| predicted_BB | 0.4160 | 0.9480 | 0.6463 | model_form_blend |
| predicted_H | 0.9300 | 2.9350 | 1.7978 | model_form_blend |
| predicted_HBP | - | 0.1310 | 0.1310 | form_only |
| predicted_HR | 0.1800 | 0.6360 | 0.3774 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3644 | 0.3449 | model_form_blend |
| predicted_R | 0.6810 | 1.7840 | 1.1584 | model_form_blend |
| predicted_RBI | 0.6700 | 2.1230 | 1.2989 | model_form_blend |
| predicted_SLG | 0.4860 | 0.5752 | 0.5246 | model_form_blend |
| predicted_SO | 0.8230 | 2.3130 | 1.4679 | 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 | 115 |
| Season rows before report date | 115 |
| Report year | 2026 |
| Profile rows used | 113 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| 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 | DH |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 502671 |
| playerID | 502671 |
| playerName | Paul Goldschmidt |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.389 |
| sl_xwoba | 0.384 |
| sl_xba | 0.285 |
| sl_xslg | 0.517 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 46.7 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 14.2 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 47.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.230 | 0.000 | 0.000 | Hitting_2B | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_3B | 0.059 | 0.000 | 0.000 | Hitting_3B | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_AB | 3.910 | 3.000 | 7.000 | Hitting_AB | 3.661 | 2.000 | -0.661 | 1.000 |
| predicted_AVG | 0.248 | 0.333 | 0.286 | Hitting_AVG | 0.273 | 0.000 | 0.060 | 0.333 |
| predicted_BB | 0.661 | 1.000 | 1.000 | Hitting_BB | 0.661 | 0.000 | 0.339 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_H | 0.970 | 1.000 | 2.000 | Hitting_H | 1.000 | 0.000 | 0.000 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_OBP | 0.346 | 0.500 | 0.375 | Hitting_OBP | 0.378 | 0.000 | 0.122 | 0.500 |
| predicted_R | 0.644 | 1.000 | 1.000 | Hitting_R | 0.644 | 0.000 | 0.356 | 1.000 |
| predicted_RBI | 0.660 | 0.000 | 1.000 | Hitting_RBI | 0.682 | 2.000 | -0.682 | -2.000 |
| predicted_SLG | 0.423 | 0.333 | 0.286 | Hitting_SLG | 0.491 | 0.000 | -0.158 | 0.333 |
| predicted_SO | 0.556 | 0.000 | 1.000 | Hitting_SO | 0.556 | 0.000 | -0.556 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_R: 0.6440 -> 1.0000 (boost 0.3560, better) |
| Biggest Deboost | predicted_AB: 3.9100 -> 3.0000 (deboost -0.9100, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.9100 -> 7.0702 (boost 3.1602, 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 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3540 -> 0.3754 (boost 0.0214, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_H: 1.8670 -> 2.0000 (boost 0.1330, better) | predicted_RBI: 1.3448 -> 1.0000 (deboost -0.3448, worse) | AB rounded to 7 (raw=7.07), rates preserved: AVG=0.264 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2052 -> 1.0000 (deboost -0.2052, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2641 -> 0.2860 (boost 0.0219, better) | predicted_SLG: 0.4316 -> 0.2860 (deboost -0.1456, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2860 -> 0.4316 (boost 0.1456, better) | predicted_AVG: 0.2860 -> 0.2641 (deboost -0.0219, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641355",
"player_name": "Cody Bellinger",
"position": "LF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.23,
"predicted_3B": 0.059,
"predicted_AB": 3.91,
"predicted_AVG": 0.248,
"predicted_BB": 0.661,
"predicted_H": 0.97,
"predicted_HR": 0.13,
"predicted_OBP": 0.346,
"predicted_R": 0.644,
"predicted_RBI": 0.66,
"predicted_SLG": 0.423,
"predicted_SO": 0.556
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.3387,
"predicted_3B": 0.0855,
"predicted_AB": 7.0702,
"predicted_AVG": 0.2556,
"predicted_BB": 1.2487,
"predicted_H": 1.8378,
"predicted_HBP": 0.003,
"predicted_HR": 0.2215,
"predicted_OBP": 0.354,
"predicted_R": 1.1716,
"predicted_RBI": 1.3073,
"predicted_SLG": 0.4222,
"predicted_SO": 1.0637
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.23,
"after": 0.3387,
"delta": 0.1087,
"percent_delta": 0.4726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0855,
"delta": 0.0265,
"percent_delta": 0.4492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.91,
"after": 7.0702,
"delta": 3.1602,
"percent_delta": 0.8082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2556,
"delta": 0.0076,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.661,
"after": 1.2487,
"delta": 0.5877,
"percent_delta": 0.8891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.8378,
"delta": 0.8678,
"percent_delta": 0.8946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2215,
"delta": 0.0915,
"percent_delta": 0.7038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.354,
"delta": 0.008,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.644,
"after": 1.1716,
"delta": 0.5276,
"percent_delta": 0.8193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.3073,
"delta": 0.6473,
"percent_delta": 0.9808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4222,
"delta": -0.0008,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 1.0637,
"delta": 0.5077,
"percent_delta": 0.9131,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.91,
"after": 7.0702,
"delta": 3.1602,
"percent_delta": 0.8082,
"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": 60
}
},
{
"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.3387,
"predicted_3B": 0.0855,
"predicted_AB": 7.0702,
"predicted_AVG": 0.2641,
"predicted_BB": 1.2601,
"predicted_H": 1.867,
"predicted_HBP": 0.003,
"predicted_HR": 0.225,
"predicted_OBP": 0.3754,
"predicted_R": 1.2052,
"predicted_RBI": 1.3448,
"predicted_SLG": 0.4316,
"predicted_SO": 1.054
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3387,
"after": 0.3387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0855,
"after": 0.0855,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0702,
"after": 7.0702,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2556,
"after": 0.2641,
"delta": 0.0085,
"percent_delta": 0.0333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2487,
"after": 1.2601,
"delta": 0.0114,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8378,
"after": 1.867,
"delta": 0.0292,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2215,
"after": 0.225,
"delta": 0.0035,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3754,
"delta": 0.0214,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1716,
"after": 1.2052,
"delta": 0.0336,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3073,
"after": 1.3448,
"delta": 0.0375,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4222,
"after": 0.4316,
"delta": 0.0094,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0637,
"after": 1.054,
"delta": -0.0097,
"percent_delta": -0.0091,
"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.354,
"after": 0.3754,
"delta": 0.0214,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.07), rates preserved: AVG=0.264 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.3387,
"after": 0.0,
"delta": -0.3387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0855,
"after": 0.0,
"delta": -0.0855,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.0702,
"after": 7.0,
"delta": -0.0702,
"percent_delta": -0.0099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2601,
"after": 1.0,
"delta": -0.2601,
"percent_delta": -0.2064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.867,
"after": 2.0,
"delta": 0.133,
"percent_delta": 0.0712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.225,
"after": 0.0,
"delta": -0.225,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3448,
"after": 1.0,
"delta": -0.3448,
"percent_delta": -0.2564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.054,
"after": 1.0,
"delta": -0.054,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.867,
"after": 2.0,
"delta": 0.133,
"percent_delta": 0.0712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.3448,
"after": 1.0,
"delta": -0.3448,
"percent_delta": -0.2564,
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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": 1.2052,
"after": 1.0,
"delta": -0.2052,
"percent_delta": -0.1703,
"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": 1.2052,
"after": 1.0,
"delta": -0.2052,
"percent_delta": -0.1703,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2641,
"after": 0.286,
"delta": 0.0219,
"percent_delta": 0.0829,
"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": 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.3754,
"after": 0.375,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4316,
"after": 0.286,
"delta": -0.1456,
"percent_delta": -0.3373,
"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.2641,
"after": 0.286,
"delta": 0.0219,
"percent_delta": 0.0829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4316,
"after": 0.286,
"delta": -0.1456,
"percent_delta": -0.3373,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"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.2641,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3754,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4316,
"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.286,
"after": 0.2641,
"delta": -0.0219,
"percent_delta": -0.0767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.375,
"after": 0.3754,
"delta": 0.0004,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4316,
"delta": 0.1456,
"percent_delta": 0.5091,
"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.286,
"after": 0.4316,
"delta": 0.1456,
"percent_delta": 0.5091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2641,
"delta": -0.0219,
"percent_delta": -0.0767,
"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.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.91,
"after": 3.0,
"delta": -0.91,
"percent_delta": -0.2327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2641,
"delta": 0.0161,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.661,
"after": 1.0,
"delta": 0.339,
"percent_delta": 0.5129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0,
"delta": 0.03,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3754,
"delta": 0.0294,
"percent_delta": 0.085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.644,
"after": 1.0,
"delta": 0.356,
"percent_delta": 0.5528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4316,
"delta": 0.0086,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.644,
"after": 1.0,
"delta": 0.356,
"percent_delta": 0.5528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.91,
"after": 3.0,
"delta": -0.91,
"percent_delta": -0.2327,
"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.230 | - |
| predicted_3B | 0.059 | - |
| predicted_AB | 3.910 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.661 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.346 | - |
| predicted_R | 0.644 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 0.556 | - |
Final model 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.339 | 0.109 |
| predicted_3B | 0.086 | 0.027 |
| predicted_AB | 7.070 | 3.160 |
| predicted_AVG | 0.256 | 0.008 |
| predicted_BB | 1.249 | 0.588 |
| predicted_H | 1.838 | 0.868 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.222 | 0.091 |
| predicted_OBP | 0.354 | 0.008 |
| predicted_R | 1.172 | 0.528 |
| predicted_RBI | 1.307 | 0.647 |
| predicted_SLG | 0.422 | -0.001 |
| predicted_SO | 1.064 | 0.508 |
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.339 | 0.000 |
| predicted_3B | 0.086 | 0.000 |
| predicted_AB | 7.070 | 0.000 |
| predicted_AVG | 0.264 | 0.009 |
| predicted_BB | 1.260 | 0.011 |
| predicted_H | 1.867 | 0.029 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.225 | 0.004 |
| predicted_OBP | 0.375 | 0.021 |
| predicted_R | 1.205 | 0.034 |
| predicted_RBI | 1.345 | 0.038 |
| predicted_SLG | 0.432 | 0.009 |
| predicted_SO | 1.054 | -0.010 |
AB rounded to 7 (raw=7.07), rates preserved: AVG=0.264 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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.339 |
| predicted_3B | 0.000 | -0.086 |
| predicted_AB | 7.000 | -0.070 |
| predicted_AVG | 0.286 | 0.022 |
| predicted_BB | 1.000 | -0.260 |
| predicted_H | 2.000 | 0.133 |
| predicted_HR | 0.000 | -0.225 |
| predicted_OBP | 0.375 | -0.000 |
| predicted_R | 1.000 | -0.205 |
| predicted_RBI | 1.000 | -0.345 |
| predicted_SLG | 0.286 | -0.146 |
| predicted_SO | 1.000 | -0.054 |
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 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | - | 18.000 | 5.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 4.000 | 2.000 | 0.2778 | 0.3750 | 0.2778 | 0.2778 | 0.0000 | 0.2222 | 0.2222 | 0.1111 |
| last_10 | 0.20 | 7 | - | 39.000 | 7.000 | 0.000 | 0.000 | 1.000 | 7.000 | 4.000 | 4.000 | 10.000 | 0.1795 | 0.2444 | 0.2564 | 0.1795 | 0.0256 | 0.1795 | 0.1026 | 0.2564 |
| season | 0.60 | 60 | - | 875.000 | 239.000 | 55.000 | 14.000 | 36.000 | 163.000 | 154.000 | 158.000 | 133.000 | 0.2731 | 0.3785 | 0.4914 | 0.2731 | 0.0411 | 0.1863 | 0.1806 | 0.1520 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4760 |
| predicted_3B | 0.1190 |
| predicted_AB | 11.0620 |
| predicted_AVG | 0.2652 |
| predicted_BB | 1.9910 |
| predicted_H | 2.9340 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.3370 |
| predicted_OBP | 0.3641 |
| predicted_R | 1.8380 |
| predicted_RBI | 2.1250 |
| predicted_SLG | 0.4211 |
| predicted_SO | 1.7050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2300 | 0.4760 | 0.3387 | model_form_blend |
| predicted_3B | 0.0590 | 0.1190 | 0.0855 | model_form_blend |
| predicted_AB | 3.9100 | 11.0620 | 7.0702 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2652 | 0.2556 | model_form_blend |
| predicted_BB | 0.6610 | 1.9910 | 1.2487 | model_form_blend |
| predicted_H | 0.9700 | 2.9340 | 1.8378 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1300 | 0.3370 | 0.2215 | model_form_blend |
| predicted_OBP | 0.3460 | 0.3641 | 0.3540 | model_form_blend |
| predicted_R | 0.6440 | 1.8380 | 1.1716 | model_form_blend |
| predicted_RBI | 0.6600 | 2.1250 | 1.3073 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4211 | 0.4222 | model_form_blend |
| predicted_SO | 0.5560 | 1.7050 | 1.0637 | 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 | 239 |
| Season rows before report date | 239 |
| Report year | 2026 |
| Profile rows used | 239 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| 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 | 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 | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 2 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 641355 |
| playerID | 641355 |
| playerName | Cody Bellinger |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-03 |
| sl_k_percent | 12.7 |
| sl_bb_percent | 14.6 |
| sl_woba | 0.37 |
| sl_xwoba | 0.38 |
| sl_xba | 0.291 |
| sl_xslg | 0.467 |
| sl_sweet_spot_percent | 41.3 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 38.6 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 19.5 |
| sl_whiff_percent | 17.1 |
| sl_swing_percent | 43.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.182 | 0.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 3.810 | 3.000 | 7.000 | Hitting_AB | 3.630 | 3.000 | -0.630 | 0.000 |
| predicted_AVG | 0.230 | 0.333 | 0.286 | Hitting_AVG | 0.210 | 0.000 | 0.123 | 0.333 |
| predicted_BB | 0.659 | 1.000 | 1.000 | Hitting_BB | 0.657 | 1.000 | 0.343 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.880 | 1.000 | 2.000 | Hitting_H | 0.764 | 0.000 | 0.236 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_OBP | 0.334 | 0.500 | 0.375 | Hitting_OBP | 0.328 | 0.250 | 0.172 | 0.250 |
| predicted_R | 0.612 | 1.000 | 1.000 | Hitting_R | 0.611 | 0.000 | 0.389 | 1.000 |
| predicted_RBI | 0.490 | 1.000 | 1.000 | Hitting_RBI | 0.616 | 0.000 | 0.384 | 1.000 |
| predicted_SLG | 0.378 | 0.333 | 0.286 | Hitting_SLG | 0.395 | 0.000 | -0.062 | 0.333 |
| predicted_SO | 0.734 | 1.000 | 1.000 | Hitting_SO | 0.727 | 0.000 | 0.273 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.4900 -> 1.0000 (boost 0.5100, better) |
| Biggest Deboost | predicted_AB: 3.8100 -> 3.0000 (deboost -0.8100, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.8100 -> 6.7914 (boost 2.9814, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.3371 -> 0.3474 (boost 0.0103, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_H: 1.5637 -> 2.0000 (boost 0.4363, better) | predicted_2B: 0.2618 -> 0.0000 (deboost -0.2618, worse) | AB rounded to 7 (raw=6.79), rates preserved: AVG=0.230 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1675 -> 1.0000 (deboost -0.1675, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2302 -> 0.2860 (boost 0.0558, better) | predicted_SLG: 0.3829 -> 0.2860 (deboost -0.0969, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3829 (boost 0.0969, better) | predicted_AVG: 0.2860 -> 0.2302 (deboost -0.0558, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663757",
"player_name": "Trent Grisham",
"position": "CF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.182,
"predicted_3B": 0.023,
"predicted_AB": 3.81,
"predicted_AVG": 0.23,
"predicted_BB": 0.659,
"predicted_H": 0.88,
"predicted_HR": 0.13,
"predicted_OBP": 0.334,
"predicted_R": 0.612,
"predicted_RBI": 0.49,
"predicted_SLG": 0.378,
"predicted_SO": 0.734
},
"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.2618,
"predicted_3B": 0.0331,
"predicted_AB": 6.7914,
"predicted_AVG": 0.2276,
"predicted_BB": 1.2084,
"predicted_H": 1.5392,
"predicted_HBP": 0.003,
"predicted_HR": 0.2327,
"predicted_OBP": 0.3371,
"predicted_R": 1.1349,
"predicted_RBI": 1.0014,
"predicted_SLG": 0.3747,
"predicted_SO": 1.1868
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.2618,
"delta": 0.0798,
"percent_delta": 0.4385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0331,
"delta": 0.0101,
"percent_delta": 0.4391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 6.7914,
"delta": 2.9814,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2276,
"delta": -0.0024,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.659,
"after": 1.2084,
"delta": 0.5494,
"percent_delta": 0.8337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.5392,
"delta": 0.6592,
"percent_delta": 0.7491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2327,
"delta": 0.1027,
"percent_delta": 0.79,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3371,
"delta": 0.0031,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.612,
"after": 1.1349,
"delta": 0.5229,
"percent_delta": 0.8544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0014,
"delta": 0.5114,
"percent_delta": 1.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3747,
"delta": -0.0033,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.734,
"after": 1.1868,
"delta": 0.4528,
"percent_delta": 0.6169,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.81,
"after": 6.7914,
"delta": 2.9814,
"percent_delta": 0.7825,
"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": 57
}
},
{
"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.2618,
"predicted_3B": 0.0331,
"predicted_AB": 6.7914,
"predicted_AVG": 0.2302,
"predicted_BB": 1.2194,
"predicted_H": 1.5637,
"predicted_HBP": 0.003,
"predicted_HR": 0.2363,
"predicted_OBP": 0.3474,
"predicted_R": 1.1675,
"predicted_RBI": 1.0301,
"predicted_SLG": 0.3829,
"predicted_SO": 1.176
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2618,
"after": 0.2618,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0331,
"after": 0.0331,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7914,
"after": 6.7914,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2276,
"after": 0.2302,
"delta": 0.0026,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.2084,
"after": 1.2194,
"delta": 0.011,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5392,
"after": 1.5637,
"delta": 0.0245,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2327,
"after": 0.2363,
"delta": 0.0036,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3371,
"after": 0.3474,
"delta": 0.0103,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1349,
"after": 1.1675,
"delta": 0.0326,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0014,
"after": 1.0301,
"delta": 0.0287,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3747,
"after": 0.3829,
"delta": 0.0082,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1868,
"after": 1.176,
"delta": -0.0108,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3371,
"after": 0.3474,
"delta": 0.0103,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.79), rates preserved: AVG=0.230 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.2618,
"after": 0.0,
"delta": -0.2618,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0331,
"after": 0.0,
"delta": -0.0331,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7914,
"after": 7.0,
"delta": 0.2086,
"percent_delta": 0.0307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2194,
"after": 1.0,
"delta": -0.2194,
"percent_delta": -0.1799,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5637,
"after": 2.0,
"delta": 0.4363,
"percent_delta": 0.279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2363,
"after": 0.0,
"delta": -0.2363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0301,
"after": 1.0,
"delta": -0.0301,
"percent_delta": -0.0292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.176,
"after": 1.0,
"delta": -0.176,
"percent_delta": -0.1497,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.5637,
"after": 2.0,
"delta": 0.4363,
"percent_delta": 0.279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2618,
"after": 0.0,
"delta": -0.2618,
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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": 1.1675,
"after": 1.0,
"delta": -0.1675,
"percent_delta": -0.1435,
"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": 1.1675,
"after": 1.0,
"delta": -0.1675,
"percent_delta": -0.1435,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2302,
"after": 0.286,
"delta": 0.0558,
"percent_delta": 0.2424,
"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": 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.3474,
"after": 0.375,
"delta": 0.0276,
"percent_delta": 0.0794,
"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.3829,
"after": 0.286,
"delta": -0.0969,
"percent_delta": -0.2531,
"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.2302,
"after": 0.286,
"delta": 0.0558,
"percent_delta": 0.2424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3829,
"after": 0.286,
"delta": -0.0969,
"percent_delta": -0.2531,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"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.2302,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3474,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3829,
"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.286,
"after": 0.2302,
"delta": -0.0558,
"percent_delta": -0.195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.375,
"after": 0.3474,
"delta": -0.0276,
"percent_delta": -0.0736,
"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.286,
"after": 0.3829,
"delta": 0.0969,
"percent_delta": 0.3389,
"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.286,
"after": 0.3829,
"delta": 0.0969,
"percent_delta": 0.3389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2302,
"delta": -0.0558,
"percent_delta": -0.195,
"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.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 3.0,
"delta": -0.81,
"percent_delta": -0.2126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2302,
"delta": 0.0002,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.659,
"after": 1.0,
"delta": 0.341,
"percent_delta": 0.5175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3474,
"delta": 0.0134,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.612,
"after": 1.0,
"delta": 0.388,
"percent_delta": 0.634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3829,
"delta": 0.0049,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.734,
"after": 1.0,
"delta": 0.266,
"percent_delta": 0.3624,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.81,
"after": 3.0,
"delta": -0.81,
"percent_delta": -0.2126,
"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.182 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.810 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.659 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.612 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.378 | - |
| predicted_SO | 0.734 | - |
Final model 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.262 | 0.080 |
| predicted_3B | 0.033 | 0.010 |
| predicted_AB | 6.791 | 2.981 |
| predicted_AVG | 0.228 | -0.002 |
| predicted_BB | 1.208 | 0.549 |
| predicted_H | 1.539 | 0.659 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.233 | 0.103 |
| predicted_OBP | 0.337 | 0.003 |
| predicted_R | 1.135 | 0.523 |
| predicted_RBI | 1.001 | 0.511 |
| predicted_SLG | 0.375 | -0.003 |
| predicted_SO | 1.187 | 0.453 |
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.262 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 6.791 | 0.000 |
| predicted_AVG | 0.230 | 0.003 |
| predicted_BB | 1.219 | 0.011 |
| predicted_H | 1.564 | 0.025 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.236 | 0.004 |
| predicted_OBP | 0.347 | 0.010 |
| predicted_R | 1.167 | 0.033 |
| predicted_RBI | 1.030 | 0.029 |
| predicted_SLG | 0.383 | 0.008 |
| predicted_SO | 1.176 | -0.011 |
AB rounded to 7 (raw=6.79), rates preserved: AVG=0.230 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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.262 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 7.000 | 0.209 |
| predicted_AVG | 0.286 | 0.056 |
| predicted_BB | 1.000 | -0.219 |
| predicted_H | 2.000 | 0.436 |
| predicted_HR | 0.000 | -0.236 |
| predicted_OBP | 0.375 | 0.028 |
| predicted_R | 1.000 | -0.167 |
| predicted_RBI | 1.000 | -0.030 |
| predicted_SLG | 0.286 | -0.097 |
| predicted_SO | 1.000 | -0.176 |
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 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 2.000 | 0.2105 | 0.3478 | 0.2105 | 0.2105 | 0.0000 | 0.1053 | 0.2105 | 0.1053 |
| last_10 | 0.20 | 7 | - | 42.000 | 15.000 | 0.000 | 0.000 | 3.000 | 8.000 | 10.000 | 6.000 | 2.000 | 0.3571 | 0.4375 | 0.5714 | 0.3571 | 0.0714 | 0.1905 | 0.1429 | 0.0476 |
| season | 0.60 | 57 | - | 784.000 | 165.000 | 39.000 | 5.000 | 32.000 | 133.000 | 131.000 | 141.000 | 157.000 | 0.2105 | 0.3273 | 0.3954 | 0.2105 | 0.0408 | 0.1696 | 0.1799 | 0.2003 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3630 |
| predicted_3B | 0.0460 |
| predicted_AB | 10.5720 |
| predicted_AVG | 0.2246 |
| predicted_BB | 1.9050 |
| predicted_H | 2.3750 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.3630 |
| predicted_OBP | 0.3411 |
| predicted_R | 1.7980 |
| predicted_RBI | 1.6500 |
| predicted_SLG | 0.3706 |
| predicted_SO | 1.7610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.3630 | 0.2618 | model_form_blend |
| predicted_3B | 0.0230 | 0.0460 | 0.0331 | model_form_blend |
| predicted_AB | 3.8100 | 10.5720 | 6.7914 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2246 | 0.2276 | model_form_blend |
| predicted_BB | 0.6590 | 1.9050 | 1.2084 | model_form_blend |
| predicted_H | 0.8800 | 2.3750 | 1.5392 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1300 | 0.3630 | 0.2327 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3411 | 0.3371 | model_form_blend |
| predicted_R | 0.6120 | 1.7980 | 1.1349 | model_form_blend |
| predicted_RBI | 0.4900 | 1.6500 | 1.0014 | model_form_blend |
| predicted_SLG | 0.3780 | 0.3706 | 0.3747 | model_form_blend |
| predicted_SO | 0.7340 | 1.7610 | 1.1868 | 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 | 216 |
| Season rows before report date | 216 |
| Report year | 2026 |
| Profile rows used | 214 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 663757 |
| playerID | 663757 |
| playerName | Trent Grisham |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-03 |
| sl_k_percent | 17.2 |
| sl_bb_percent | 15.5 |
| sl_woba | 0.317 |
| sl_xwoba | 0.341 |
| sl_xba | 0.23 |
| sl_xslg | 0.419 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 12.2 |
| sl_hard_hit_percent | 44.2 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 16.7 |
| sl_swing_percent | 34.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.253 | 0.000 | 1.000 | Hitting_2B | 0.252 | 1.000 | -0.252 | -1.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 4.120 | 2.000 | 8.000 | Hitting_AB | 3.784 | 4.000 | -1.784 | -2.000 |
| predicted_AVG | 0.267 | 0.500 | 0.375 | Hitting_AVG | 0.301 | 0.250 | 0.199 | 0.250 |
| predicted_BB | 0.613 | 1.000 | 1.000 | Hitting_BB | 0.610 | 0.000 | 0.390 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.100 | 1.000 | 3.000 | Hitting_H | 1.138 | 1.000 | -0.138 | 0.000 |
| predicted_HR | 0.220 | 1.000 | 1.000 | Hitting_HR | 0.321 | 0.000 | 0.679 | 1.000 |
| predicted_OBP | 0.381 | 0.500 | 0.444 | Hitting_OBP | 0.401 | 0.250 | 0.099 | 0.250 |
| predicted_R | 0.866 | 1.000 | 2.000 | Hitting_R | 0.862 | 1.000 | 0.138 | 0.000 |
| predicted_RBI | 0.810 | 3.000 | 2.000 | Hitting_RBI | 0.794 | 0.000 | 2.206 | 3.000 |
| predicted_SLG | 0.563 | 2.000 | 0.875 | Hitting_SLG | 0.636 | 0.500 | 1.364 | 1.500 |
| predicted_SO | 1.023 | 1.000 | 2.000 | Hitting_SO | 1.018 | 2.000 | -0.018 | -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 | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.8100 -> 3.0000 (boost 2.1900, better) |
| Biggest Deboost | predicted_AB: 4.1200 -> 2.0000 (deboost -2.1200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 12 | 12 | 0 | 11 | 1 | predicted_AB: 4.1200 -> 7.5066 (boost 3.3866, 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 | 4 | 4 | 0 | 4 | 0 | predicted_RBI: 1.7547 -> 1.8051 (boost 0.0504, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 6 | 3 | 5 | 4 | predicted_H: 2.4018 -> 3.0000 (boost 0.5982, better) | predicted_BB: 1.1649 -> 1.0000 (deboost -0.1649, worse) | AB rounded to 8 (raw=7.51), rates preserved: AVG=0.320 HR/AB=0.067 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.7833 -> 2.0000 (boost 0.2167, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.6431 -> 0.8750 (boost 0.2319, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 2 | 5 | 2 | 4 | predicted_RBI: 2.0000 -> 3.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 2.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.8750 -> 0.6431 (deboost -0.2319, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "700250",
"player_name": "Ben Rice",
"position": "DH",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.253,
"predicted_3B": 0.028,
"predicted_AB": 4.12,
"predicted_AVG": 0.267,
"predicted_BB": 0.613,
"predicted_H": 1.1,
"predicted_HR": 0.22,
"predicted_OBP": 0.381,
"predicted_R": 0.866,
"predicted_RBI": 0.81,
"predicted_SLG": 0.563,
"predicted_SO": 1.023
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.6417,
"predicted_3B": 0.1348,
"predicted_AB": 7.5066,
"predicted_AVG": 0.2975,
"predicted_BB": 1.1544,
"predicted_H": 2.3642,
"predicted_HBP": 0.102,
"predicted_HR": 0.4971,
"predicted_OBP": 0.402,
"predicted_R": 1.7335,
"predicted_RBI": 1.7547,
"predicted_SLG": 0.6208,
"predicted_SO": 1.9549
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.253,
"after": 0.6417,
"delta": 0.3887,
"percent_delta": 1.5364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.1348,
"delta": 0.1068,
"percent_delta": 3.8143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 7.5066,
"delta": 3.3866,
"percent_delta": 0.822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2975,
"delta": 0.0305,
"percent_delta": 0.1142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.613,
"after": 1.1544,
"delta": 0.5414,
"percent_delta": 0.8832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 2.3642,
"delta": 1.2642,
"percent_delta": 1.1493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4971,
"delta": 0.2771,
"percent_delta": 1.2595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.402,
"delta": 0.021,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.866,
"after": 1.7335,
"delta": 0.8675,
"percent_delta": 1.0017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.81,
"after": 1.7547,
"delta": 0.9447,
"percent_delta": 1.1663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.563,
"after": 0.6208,
"delta": 0.0578,
"percent_delta": 0.1027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.023,
"after": 1.9549,
"delta": 0.9319,
"percent_delta": 0.9109,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 12,
"deboosted_metrics": 0,
"better_metrics": 11,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 7.5066,
"delta": 3.3866,
"percent_delta": 0.822,
"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": 6,
"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.6417,
"predicted_3B": 0.1348,
"predicted_AB": 7.5066,
"predicted_AVG": 0.32,
"predicted_BB": 1.1649,
"predicted_H": 2.4018,
"predicted_HBP": 0.102,
"predicted_HR": 0.5049,
"predicted_OBP": 0.4113,
"predicted_R": 1.7833,
"predicted_RBI": 1.8051,
"predicted_SLG": 0.6431,
"predicted_SO": 1.9371
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6417,
"after": 0.6417,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1348,
"after": 0.1348,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.5066,
"after": 7.5066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2975,
"after": 0.32,
"delta": 0.0225,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1544,
"after": 1.1649,
"delta": 0.0105,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3642,
"after": 2.4018,
"delta": 0.0376,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.102,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4971,
"after": 0.5049,
"delta": 0.0078,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.402,
"after": 0.4113,
"delta": 0.0093,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.7335,
"after": 1.7833,
"delta": 0.0498,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.7547,
"after": 1.8051,
"delta": 0.0504,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.6208,
"after": 0.6431,
"delta": 0.0223,
"percent_delta": 0.0359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9549,
"after": 1.9371,
"delta": -0.0178,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.7547,
"after": 1.8051,
"delta": 0.0504,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.51), rates preserved: AVG=0.320 HR/AB=0.067",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6417,
"after": 1.0,
"delta": 0.3583,
"percent_delta": 0.5584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1348,
"after": 0.0,
"delta": -0.1348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.5066,
"after": 8.0,
"delta": 0.4934,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1649,
"after": 1.0,
"delta": -0.1649,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.4018,
"after": 3.0,
"delta": 0.5982,
"percent_delta": 0.2491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.5049,
"after": 1.0,
"delta": 0.4951,
"percent_delta": 0.9806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.8051,
"after": 2.0,
"delta": 0.1949,
"percent_delta": 0.108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9371,
"after": 2.0,
"delta": 0.0629,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.4018,
"after": 3.0,
"delta": 0.5982,
"percent_delta": 0.2491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.1649,
"after": 1.0,
"delta": -0.1649,
"percent_delta": -0.1416,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.7833,
"after": 2.0,
"delta": 0.2167,
"percent_delta": 0.1215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.7833,
"after": 2.0,
"delta": 0.2167,
"percent_delta": 0.1215,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.375,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.444,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.875,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.32,
"after": 0.375,
"delta": 0.055,
"percent_delta": 0.1719,
"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": 3.0,
"after": 3.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_OBP",
"before": 0.4113,
"after": 0.444,
"delta": 0.0327,
"percent_delta": 0.0795,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6431,
"after": 0.875,
"delta": 0.2319,
"percent_delta": 0.3606,
"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.6431,
"after": 0.875,
"delta": 0.2319,
"percent_delta": 0.3606,
"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": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 2.0,
"delta": -6.0,
"percent_delta": -0.75,
"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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 2.0,
"delta": -6.0,
"percent_delta": -0.75,
"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": 2.0,
"predicted_AVG": 0.32,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.4113,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.6431,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.375,
"after": 0.32,
"delta": -0.055,
"percent_delta": -0.1468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.444,
"after": 0.4113,
"delta": -0.0327,
"percent_delta": -0.0736,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.875,
"after": 0.6431,
"delta": -0.2319,
"percent_delta": -0.265,
"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.875,
"after": 0.6431,
"delta": -0.2319,
"percent_delta": -0.265,
"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.253,
"after": 0.0,
"delta": -0.253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 2.0,
"delta": -2.12,
"percent_delta": -0.5146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.32,
"delta": 0.053,
"percent_delta": 0.1985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.613,
"after": 1.0,
"delta": 0.387,
"percent_delta": 0.6313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0,
"delta": -0.1,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.4113,
"delta": 0.0303,
"percent_delta": 0.0795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.866,
"after": 1.0,
"delta": 0.134,
"percent_delta": 0.1547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.81,
"after": 3.0,
"delta": 2.19,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.563,
"after": 0.6431,
"delta": 0.0801,
"percent_delta": 0.1423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.023,
"after": 1.0,
"delta": -0.023,
"percent_delta": -0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.81,
"after": 3.0,
"delta": 2.19,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 2.0,
"delta": -2.12,
"percent_delta": -0.5146,
"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.253 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 4.120 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.613 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.381 | - |
| predicted_R | 0.866 | - |
| predicted_RBI | 0.810 | - |
| predicted_SLG | 0.563 | - |
| predicted_SO | 1.023 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.642 | 0.389 |
| predicted_3B | 0.135 | 0.107 |
| predicted_AB | 7.507 | 3.387 |
| predicted_AVG | 0.297 | 0.030 |
| predicted_BB | 1.154 | 0.541 |
| predicted_H | 2.364 | 1.264 |
| predicted_HBP | 0.102 | - |
| predicted_HR | 0.497 | 0.277 |
| predicted_OBP | 0.402 | 0.021 |
| predicted_R | 1.734 | 0.868 |
| predicted_RBI | 1.755 | 0.945 |
| predicted_SLG | 0.621 | 0.058 |
| predicted_SO | 1.955 | 0.932 |
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.642 | 0.000 |
| predicted_3B | 0.135 | 0.000 |
| predicted_AB | 7.507 | 0.000 |
| predicted_AVG | 0.320 | 0.023 |
| predicted_BB | 1.165 | 0.010 |
| predicted_H | 2.402 | 0.038 |
| predicted_HBP | 0.102 | 0.000 |
| predicted_HR | 0.505 | 0.008 |
| predicted_OBP | 0.411 | 0.009 |
| predicted_R | 1.783 | 0.050 |
| predicted_RBI | 1.805 | 0.050 |
| predicted_SLG | 0.643 | 0.022 |
| predicted_SO | 1.937 | -0.018 |
AB rounded to 8 (raw=7.51), rates preserved: AVG=0.320 HR/AB=0.067
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 3.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| R | 2.000 | - |
| RBI | 2.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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 | 1.000 | 0.358 |
| predicted_3B | 0.000 | -0.135 |
| predicted_AB | 8.000 | 0.493 |
| predicted_AVG | 0.375 | 0.055 |
| predicted_BB | 1.000 | -0.165 |
| predicted_H | 3.000 | 0.598 |
| predicted_HR | 1.000 | 0.495 |
| predicted_OBP | 0.444 | 0.033 |
| predicted_R | 2.000 | 0.217 |
| predicted_RBI | 2.000 | 0.195 |
| predicted_SLG | 0.875 | 0.232 |
| predicted_SO | 2.000 | 0.063 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -6.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | -1.000 |
| RBI | 3.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 9.000 | 4.000 | 1.000 | 1.000 | 7.000 | 6.000 | 3.000 | 6.000 | 0.4286 | 0.5000 | 0.8571 | 0.4286 | 0.0476 | 0.3333 | 0.1429 | 0.2857 |
| last_10 | 0.20 | 6 | - | 41.000 | 19.000 | 4.000 | 6.000 | 1.000 | 22.000 | 11.000 | 8.000 | 6.000 | 0.4634 | 0.5510 | 0.9268 | 0.4634 | 0.0244 | 0.5366 | 0.1951 | 0.1463 |
| season | 0.60 | 55 | - | 825.000 | 248.000 | 55.000 | 6.000 | 70.000 | 172.000 | 188.000 | 133.000 | 222.000 | 0.3006 | 0.4018 | 0.6364 | 0.3006 | 0.0848 | 0.2085 | 0.1612 | 0.2691 |
| Metric | Value |
|---|---|
| predicted_2B | 1.1340 |
| predicted_3B | 0.2700 |
| predicted_AB | 11.7950 |
| predicted_AVG | 0.3362 |
| predicted_BB | 1.8400 |
| predicted_H | 3.9650 |
| predicted_HBP | 0.1020 |
| predicted_HR | 0.8480 |
| predicted_OBP | 0.4287 |
| predicted_R | 2.8320 |
| predicted_RBI | 2.9510 |
| predicted_SLG | 0.6940 |
| predicted_SO | 3.1350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2530 | 1.1340 | 0.6417 | model_form_blend |
| predicted_3B | 0.0280 | 0.2700 | 0.1348 | model_form_blend |
| predicted_AB | 4.1200 | 11.7950 | 7.5066 | model_form_blend |
| predicted_AVG | 0.2670 | 0.3362 | 0.2975 | model_form_blend |
| predicted_BB | 0.6130 | 1.8400 | 1.1544 | model_form_blend |
| predicted_H | 1.1000 | 3.9650 | 2.3642 | model_form_blend |
| predicted_HBP | - | 0.1020 | 0.1020 | form_only |
| predicted_HR | 0.2200 | 0.8480 | 0.4971 | model_form_blend |
| predicted_OBP | 0.3810 | 0.4287 | 0.4020 | model_form_blend |
| predicted_R | 0.8660 | 2.8320 | 1.7335 | model_form_blend |
| predicted_RBI | 0.8100 | 2.9510 | 1.7547 | model_form_blend |
| predicted_SLG | 0.5630 | 0.6940 | 0.6208 | model_form_blend |
| predicted_SO | 1.0230 | 3.1350 | 1.9549 | 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 | 218 |
| Season rows before report date | 218 |
| Report year | 2026 |
| Profile rows used | 217 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 1 |
| SO | 1 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.301 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 700250 |
| playerID | 700250 |
| playerName | Ben Rice |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-03 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.44 |
| sl_xwoba | 0.406 |
| sl_xba | 0.293 |
| sl_xslg | 0.558 |
| sl_sweet_spot_percent | 42.4 |
| sl_barrel_batted_rate | 17.2 |
| sl_hard_hit_percent | 51.0 |
| sl_exit_velocity_avg | 92.4 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 41.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.195 | 0.000 | 0.000 | Hitting_2B | 0.195 | 0.000 | -0.195 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.860 | 3.000 | 7.000 | Hitting_AB | 3.791 | 4.000 | -0.791 | -1.000 |
| predicted_AVG | 0.229 | 0.000 | 0.286 | Hitting_AVG | 0.248 | 0.250 | -0.248 | -0.250 |
| predicted_BB | 0.445 | 1.000 | 1.000 | Hitting_BB | 0.445 | 0.000 | 0.555 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 0.890 | 0.000 | 2.000 | Hitting_H | 0.941 | 1.000 | -0.941 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.127 | 1.000 | -0.127 | -1.000 |
| predicted_OBP | 0.302 | 0.250 | 0.375 | Hitting_OBP | 0.328 | 0.250 | -0.078 | 0.000 |
| predicted_R | 0.532 | 0.000 | 1.000 | Hitting_R | 0.532 | 1.000 | -0.532 | -1.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.423 | 1.000 | -0.423 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_SLG | 0.405 | 0.000 | 0.286 | Hitting_SLG | 0.410 | 1.000 | -0.410 | -1.000 |
| predicted_SO | 1.200 | 1.000 | 2.000 | Hitting_SO | 1.200 | 2.000 | -0.200 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4450 -> 1.0000 (boost 0.5550, better) |
| Biggest Deboost | predicted_H: 0.8900 -> 0.0000 (deboost -0.8900, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.8600 -> 7.3105 (boost 3.4505, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4145 -> 0.4244 (boost 0.0099, 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 | 4 | 3 | predicted_BB: 0.7623 -> 1.0000 (boost 0.2377, better) | predicted_HR: 0.3231 -> 0.0000 (deboost -0.3231, worse) | AB rounded to 7 (raw=7.31), rates preserved: AVG=0.242 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0907 -> 1.0000 (deboost -0.0907, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3132 -> 0.3750 (boost 0.0618, better) | predicted_SLG: 0.4244 -> 0.2860 (deboost -0.1384, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4244 (boost 0.1384, better) | predicted_OBP: 0.3750 -> 0.3132 (deboost -0.0618, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665862",
"player_name": "Jazz Chisholm Jr.",
"position": "2B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.195,
"predicted_3B": 0.018,
"predicted_AB": 3.86,
"predicted_AVG": 0.229,
"predicted_BB": 0.445,
"predicted_H": 0.89,
"predicted_HR": 0.14,
"predicted_OBP": 0.302,
"predicted_R": 0.532,
"predicted_RBI": 0.39,
"predicted_SLG": 0.405,
"predicted_SO": 1.2
},
"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.3101,
"predicted_3B": 0.0286,
"predicted_AB": 7.3105,
"predicted_AVG": 0.2342,
"predicted_BB": 0.7554,
"predicted_H": 1.7384,
"predicted_HBP": 0.044,
"predicted_HR": 0.3181,
"predicted_OBP": 0.305,
"predicted_R": 1.0603,
"predicted_RBI": 0.7653,
"predicted_SLG": 0.4145,
"predicted_SO": 2.2173
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.3101,
"delta": 0.1151,
"percent_delta": 0.5903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0286,
"delta": 0.0106,
"percent_delta": 0.5889,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.86,
"after": 7.3105,
"delta": 3.4505,
"percent_delta": 0.8939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2342,
"delta": 0.0052,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.445,
"after": 0.7554,
"delta": 0.3104,
"percent_delta": 0.6975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.7384,
"delta": 0.8484,
"percent_delta": 0.9533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.3181,
"delta": 0.1781,
"percent_delta": 1.2721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.305,
"delta": 0.003,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.532,
"after": 1.0603,
"delta": 0.5283,
"percent_delta": 0.993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.7653,
"delta": 0.3753,
"percent_delta": 0.9623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4145,
"delta": 0.0095,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2,
"after": 2.2173,
"delta": 1.0173,
"percent_delta": 0.8477,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.86,
"after": 7.3105,
"delta": 3.4505,
"percent_delta": 0.8939,
"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": 5,
"season": 58
}
},
{
"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.3101,
"predicted_3B": 0.0286,
"predicted_AB": 7.3105,
"predicted_AVG": 0.2416,
"predicted_BB": 0.7623,
"predicted_H": 1.766,
"predicted_HBP": 0.044,
"predicted_HR": 0.3231,
"predicted_OBP": 0.3132,
"predicted_R": 1.0907,
"predicted_RBI": 0.7873,
"predicted_SLG": 0.4244,
"predicted_SO": 2.1971
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3101,
"after": 0.3101,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0286,
"after": 0.0286,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.3105,
"after": 7.3105,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2342,
"after": 0.2416,
"delta": 0.0074,
"percent_delta": 0.0316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7554,
"after": 0.7623,
"delta": 0.0069,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7384,
"after": 1.766,
"delta": 0.0276,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.044,
"after": 0.044,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3181,
"after": 0.3231,
"delta": 0.005,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3132,
"delta": 0.0082,
"percent_delta": 0.0269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0603,
"after": 1.0907,
"delta": 0.0304,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7653,
"after": 0.7873,
"delta": 0.022,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4145,
"after": 0.4244,
"delta": 0.0099,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2173,
"after": 2.1971,
"delta": -0.0202,
"percent_delta": -0.0091,
"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.4145,
"after": 0.4244,
"delta": 0.0099,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.31), rates preserved: AVG=0.242 HR/AB=0.044",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3101,
"after": 0.0,
"delta": -0.3101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0286,
"after": 0.0,
"delta": -0.0286,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.3105,
"after": 7.0,
"delta": -0.3105,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7623,
"after": 1.0,
"delta": 0.2377,
"percent_delta": 0.3118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.766,
"after": 2.0,
"delta": 0.234,
"percent_delta": 0.1325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3231,
"after": 0.0,
"delta": -0.3231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7873,
"after": 1.0,
"delta": 0.2127,
"percent_delta": 0.2702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1971,
"after": 2.0,
"delta": -0.1971,
"percent_delta": -0.0897,
"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_BB",
"before": 0.7623,
"after": 1.0,
"delta": 0.2377,
"percent_delta": 0.3118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3231,
"after": 0.0,
"delta": -0.3231,
"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": 7.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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": 1.0907,
"after": 1.0,
"delta": -0.0907,
"percent_delta": -0.0832,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0907,
"after": 1.0,
"delta": -0.0907,
"percent_delta": -0.0832,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.286,
"delta": 0.0444,
"percent_delta": 0.1838,
"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": 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.3132,
"after": 0.375,
"delta": 0.0618,
"percent_delta": 0.1973,
"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.4244,
"after": 0.286,
"delta": -0.1384,
"percent_delta": -0.3261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3132,
"after": 0.375,
"delta": 0.0618,
"percent_delta": 0.1973,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4244,
"after": 0.286,
"delta": -0.1384,
"percent_delta": -0.3261,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"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.2416,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3132,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4244,
"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.286,
"after": 0.2416,
"delta": -0.0444,
"percent_delta": -0.1553,
"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.375,
"after": 0.3132,
"delta": -0.0618,
"percent_delta": -0.1648,
"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.286,
"after": 0.4244,
"delta": 0.1384,
"percent_delta": 0.4839,
"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.286,
"after": 0.4244,
"delta": 0.1384,
"percent_delta": 0.4839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3132,
"delta": -0.0618,
"percent_delta": -0.1648,
"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.195,
"after": 0.0,
"delta": -0.195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.86,
"after": 3.0,
"delta": -0.86,
"percent_delta": -0.2228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2416,
"delta": 0.0126,
"percent_delta": 0.055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.445,
"after": 1.0,
"delta": 0.555,
"percent_delta": 1.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3132,
"delta": 0.0112,
"percent_delta": 0.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4244,
"delta": 0.0194,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2,
"after": 1.0,
"delta": -0.2,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.445,
"after": 1.0,
"delta": 0.555,
"percent_delta": 1.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"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.195 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 3.860 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.445 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.532 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 1.200 | - |
Final model 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.310 | 0.115 |
| predicted_3B | 0.029 | 0.011 |
| predicted_AB | 7.311 | 3.451 |
| predicted_AVG | 0.234 | 0.005 |
| predicted_BB | 0.755 | 0.310 |
| predicted_H | 1.738 | 0.848 |
| predicted_HBP | 0.044 | - |
| predicted_HR | 0.318 | 0.178 |
| predicted_OBP | 0.305 | 0.003 |
| predicted_R | 1.060 | 0.528 |
| predicted_RBI | 0.765 | 0.375 |
| predicted_SLG | 0.414 | 0.009 |
| predicted_SO | 2.217 | 1.017 |
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.310 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 7.311 | 0.000 |
| predicted_AVG | 0.242 | 0.007 |
| predicted_BB | 0.762 | 0.007 |
| predicted_H | 1.766 | 0.028 |
| predicted_HBP | 0.044 | 0.000 |
| predicted_HR | 0.323 | 0.005 |
| predicted_OBP | 0.313 | 0.008 |
| predicted_R | 1.091 | 0.030 |
| predicted_RBI | 0.787 | 0.022 |
| predicted_SLG | 0.424 | 0.010 |
| predicted_SO | 2.197 | -0.020 |
AB rounded to 7 (raw=7.31), rates preserved: AVG=0.242 HR/AB=0.044
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 2.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.310 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 7.000 | -0.311 |
| predicted_AVG | 0.286 | 0.044 |
| predicted_BB | 1.000 | 0.238 |
| predicted_H | 2.000 | 0.234 |
| predicted_HR | 0.000 | -0.323 |
| predicted_OBP | 0.375 | 0.062 |
| predicted_R | 1.000 | -0.091 |
| predicted_RBI | 1.000 | 0.213 |
| predicted_SLG | 0.286 | -0.138 |
| predicted_SO | 2.000 | -0.197 |
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 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -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 | - | 23.000 | 5.000 | 0.000 | 0.000 | 2.000 | 2.000 | 4.000 | 1.000 | 6.000 | 0.2174 | 0.2500 | 0.4783 | 0.2174 | 0.0870 | 0.0870 | 0.0435 | 0.2609 |
| last_10 | 0.20 | 5 | - | 48.000 | 15.000 | 0.000 | 0.000 | 7.000 | 7.000 | 14.000 | 6.000 | 11.000 | 0.3125 | 0.3889 | 0.7500 | 0.3125 | 0.1458 | 0.1458 | 0.1250 | 0.2292 |
| season | 0.60 | 58 | - | 834.000 | 207.000 | 43.000 | 4.000 | 28.000 | 93.000 | 117.000 | 98.000 | 264.000 | 0.2482 | 0.3284 | 0.4101 | 0.2482 | 0.0336 | 0.1115 | 0.1175 | 0.3165 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4560 |
| predicted_3B | 0.0420 |
| predicted_AB | 11.6850 |
| predicted_AVG | 0.2408 |
| predicted_BB | 1.1490 |
| predicted_H | 2.8140 |
| predicted_HBP | 0.0440 |
| predicted_HR | 0.5440 |
| predicted_OBP | 0.3089 |
| predicted_R | 1.7300 |
| predicted_RBI | 1.2410 |
| predicted_SLG | 0.4266 |
| predicted_SO | 3.5070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1950 | 0.4560 | 0.3101 | model_form_blend |
| predicted_3B | 0.0180 | 0.0420 | 0.0286 | model_form_blend |
| predicted_AB | 3.8600 | 11.6850 | 7.3105 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2408 | 0.2342 | model_form_blend |
| predicted_BB | 0.4450 | 1.1490 | 0.7554 | model_form_blend |
| predicted_H | 0.8900 | 2.8140 | 1.7384 | model_form_blend |
| predicted_HBP | - | 0.0440 | 0.0440 | form_only |
| predicted_HR | 0.1400 | 0.5440 | 0.3181 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3089 | 0.3050 | model_form_blend |
| predicted_R | 0.5320 | 1.7300 | 1.0603 | model_form_blend |
| predicted_RBI | 0.3900 | 1.2410 | 0.7653 | model_form_blend |
| predicted_SLG | 0.4050 | 0.4266 | 0.4145 | model_form_blend |
| predicted_SO | 1.2000 | 3.5070 | 2.2173 | 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 | 220 |
| Season rows before report date | 220 |
| Report year | 2026 |
| Profile rows used | 220 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.248 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| 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 | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 665862 |
| playerID | 665862 |
| playerName | Jazz Chisholm Jr. |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-03 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.315 |
| sl_xwoba | 0.287 |
| sl_xba | 0.213 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 37.4 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 15.3 |
| sl_whiff_percent | 31.2 |
| sl_swing_percent | 44.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.103 | 0.000 | 0.000 | Hitting_2B | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.340 | 4.000 | 5.000 | Hitting_AB | 3.256 | 3.000 | 0.744 | 1.000 |
| predicted_AVG | 0.250 | 0.000 | 0.200 | Hitting_AVG | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_BB | 0.276 | 0.000 | 0.000 | Hitting_BB | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 0.000 | 1.000 | Hitting_H | 0.650 | 0.000 | -0.650 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.286 | 0.000 | 0.200 | Hitting_OBP | 0.262 | 0.000 | -0.262 | 0.000 |
| predicted_R | 0.340 | 0.000 | 1.000 | Hitting_R | 0.338 | 0.000 | -0.338 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.412 | 0.000 | -0.412 | 0.000 |
| predicted_SLG | 0.425 | 0.000 | 0.200 | Hitting_SLG | 0.334 | 0.000 | -0.334 | 0.000 |
| predicted_SO | 1.122 | 2.000 | 2.000 | Hitting_SO | 1.094 | 1.000 | 0.906 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 1.1220 -> 2.0000 (boost 0.8780, worse) |
| Biggest Deboost | predicted_H: 0.6900 -> 0.0000 (deboost -0.6900, 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 | 8 | 1 | 7 | 2 | predicted_AB: 3.3400 -> 5.4130 (boost 2.0730, better) | predicted_AVG: 0.2500 -> 0.2439 (deboost -0.0061, 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_AVG: 0.2439 -> 0.2293 (deboost -0.0146, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.7710 -> 1.0000 (boost 0.2290, better) | predicted_AB: 5.4130 -> 5.0000 (deboost -0.4130, worse) | AB rounded to 5 (raw=5.41), rates preserved: AVG=0.229 HR/AB=0.055 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7245 -> 1.0000 (boost 0.2755, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4194 -> 0.2000 (deboost -0.2194, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 5.0000 -> 4.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.2000 -> 0.4194 (boost 0.2194, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641857",
"player_name": "Ryan McMahon",
"position": "3B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.103,
"predicted_3B": 0.0,
"predicted_AB": 3.34,
"predicted_AVG": 0.25,
"predicted_BB": 0.276,
"predicted_H": 0.69,
"predicted_HR": 0.14,
"predicted_OBP": 0.286,
"predicted_R": 0.34,
"predicted_RBI": 0.41,
"predicted_SLG": 0.425,
"predicted_SO": 1.122
},
"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.1404,
"predicted_3B": 0.0009,
"predicted_AB": 5.413,
"predicted_AVG": 0.2439,
"predicted_BB": 0.367,
"predicted_H": 1.2218,
"predicted_HBP": 0.004,
"predicted_HR": 0.291,
"predicted_OBP": 0.2836,
"predicted_R": 0.7043,
"predicted_RBI": 0.7495,
"predicted_SLG": 0.4314,
"predicted_SO": 1.8362
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.1404,
"delta": 0.0374,
"percent_delta": 0.3631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.34,
"after": 5.413,
"delta": 2.073,
"percent_delta": 0.6207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2439,
"delta": -0.0061,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.367,
"delta": 0.091,
"percent_delta": 0.3297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 1.2218,
"delta": 0.5318,
"percent_delta": 0.7707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.291,
"delta": 0.151,
"percent_delta": 1.0786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2836,
"delta": -0.0024,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.34,
"after": 0.7043,
"delta": 0.3643,
"percent_delta": 1.0715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.7495,
"delta": 0.3395,
"percent_delta": 0.828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.425,
"after": 0.4314,
"delta": 0.0064,
"percent_delta": 0.0151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.122,
"after": 1.8362,
"delta": 0.7142,
"percent_delta": 0.6365,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.34,
"after": 5.413,
"delta": 2.073,
"percent_delta": 0.6207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2439,
"delta": -0.0061,
"percent_delta": -0.0244,
"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": 51
}
},
{
"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.1404,
"predicted_3B": 0.0009,
"predicted_AB": 5.413,
"predicted_AVG": 0.2293,
"predicted_BB": 0.3703,
"predicted_H": 1.2412,
"predicted_HBP": 0.004,
"predicted_HR": 0.2955,
"predicted_OBP": 0.2787,
"predicted_R": 0.7245,
"predicted_RBI": 0.771,
"predicted_SLG": 0.4194,
"predicted_SO": 1.8195
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1404,
"after": 0.1404,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.413,
"after": 5.413,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2439,
"after": 0.2293,
"delta": -0.0146,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.367,
"after": 0.3703,
"delta": 0.0033,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2218,
"after": 1.2412,
"delta": 0.0194,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.291,
"after": 0.2955,
"delta": 0.0045,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2836,
"after": 0.2787,
"delta": -0.0049,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7043,
"after": 0.7245,
"delta": 0.0202,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7495,
"after": 0.771,
"delta": 0.0215,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4314,
"after": 0.4194,
"delta": -0.012,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8362,
"after": 1.8195,
"delta": -0.0167,
"percent_delta": -0.0091,
"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_AVG",
"before": 0.2439,
"after": 0.2293,
"delta": -0.0146,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.41), rates preserved: AVG=0.229 HR/AB=0.055",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1404,
"after": 0.0,
"delta": -0.1404,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.413,
"after": 5.0,
"delta": -0.413,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3703,
"after": 0.0,
"delta": -0.3703,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2412,
"after": 1.0,
"delta": -0.2412,
"percent_delta": -0.1943,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2955,
"after": 0.0,
"delta": -0.2955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.771,
"after": 1.0,
"delta": 0.229,
"percent_delta": 0.297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8195,
"after": 2.0,
"delta": 0.1805,
"percent_delta": 0.0992,
"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_RBI",
"before": 0.771,
"after": 1.0,
"delta": 0.229,
"percent_delta": 0.297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.413,
"after": 5.0,
"delta": -0.413,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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_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.7245,
"after": 1.0,
"delta": 0.2755,
"percent_delta": 0.3803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7245,
"after": 1.0,
"delta": 0.2755,
"percent_delta": 0.3803,
"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": 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": 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.2293,
"after": 0.2,
"delta": -0.0293,
"percent_delta": -0.1278,
"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.2787,
"after": 0.2,
"delta": -0.0787,
"percent_delta": -0.2824,
"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.4194,
"after": 0.2,
"delta": -0.2194,
"percent_delta": -0.5231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4194,
"after": 0.2,
"delta": -0.2194,
"percent_delta": -0.5231,
"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": 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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2293,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2787,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4194,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2293,
"delta": 0.0293,
"percent_delta": 0.1465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2787,
"delta": 0.0787,
"percent_delta": 0.3933,
"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.2,
"after": 0.4194,
"delta": 0.2194,
"percent_delta": 1.0968,
"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.4194,
"delta": 0.2194,
"percent_delta": 1.0968,
"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.103,
"after": 0.0,
"delta": -0.103,
"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.34,
"after": 4.0,
"delta": 0.66,
"percent_delta": 0.1976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2293,
"delta": -0.0207,
"percent_delta": -0.0828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.0,
"delta": -0.276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2787,
"delta": -0.0073,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.425,
"after": 0.4194,
"delta": -0.0056,
"percent_delta": -0.0132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.122,
"after": 2.0,
"delta": 0.878,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.122,
"after": 2.0,
"delta": 0.878,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"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.103 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.340 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.276 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.340 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.425 | - |
| predicted_SO | 1.122 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | 0.037 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.413 | 2.073 |
| predicted_AVG | 0.244 | -0.006 |
| predicted_BB | 0.367 | 0.091 |
| predicted_H | 1.222 | 0.532 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.291 | 0.151 |
| predicted_OBP | 0.284 | -0.002 |
| predicted_R | 0.704 | 0.364 |
| predicted_RBI | 0.750 | 0.340 |
| predicted_SLG | 0.431 | 0.006 |
| predicted_SO | 1.836 | 0.714 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.413 | 0.000 |
| predicted_AVG | 0.229 | -0.015 |
| predicted_BB | 0.370 | 0.003 |
| predicted_H | 1.241 | 0.019 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.295 | 0.005 |
| predicted_OBP | 0.279 | -0.005 |
| predicted_R | 0.725 | 0.020 |
| predicted_RBI | 0.771 | 0.021 |
| predicted_SLG | 0.419 | -0.012 |
| predicted_SO | 1.819 | -0.017 |
AB rounded to 5 (raw=5.41), rates preserved: AVG=0.229 HR/AB=0.055
| 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 | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 2.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.140 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.413 |
| predicted_AVG | 0.200 | -0.029 |
| predicted_BB | 0.000 | -0.370 |
| predicted_H | 1.000 | -0.241 |
| predicted_HR | 0.000 | -0.295 |
| predicted_OBP | 0.200 | -0.079 |
| predicted_R | 1.000 | 0.275 |
| predicted_RBI | 1.000 | 0.229 |
| predicted_SLG | 0.200 | -0.219 |
| predicted_SO | 2.000 | 0.181 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 0.000 | 6.000 | 0.3125 | 0.3125 | 0.6875 | 0.3125 | 0.1250 | 0.1875 | 0.0000 | 0.3750 |
| last_10 | 0.20 | 6 | - | 34.000 | 13.000 | 0.000 | 0.000 | 5.000 | 9.000 | 10.000 | 0.000 | 13.000 | 0.3824 | 0.3824 | 0.8235 | 0.3824 | 0.1471 | 0.2647 | 0.0000 | 0.3824 |
| season | 0.60 | 51 | - | 521.000 | 104.000 | 16.000 | 0.000 | 18.000 | 66.000 | 53.000 | 43.000 | 175.000 | 0.1996 | 0.2606 | 0.3340 | 0.1996 | 0.0345 | 0.1267 | 0.0825 | 0.3359 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1890 |
| predicted_3B | 0.0020 |
| predicted_AB | 8.1030 |
| predicted_AVG | 0.2359 |
| predicted_BB | 0.4850 |
| predicted_H | 1.9120 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.4870 |
| predicted_OBP | 0.2805 |
| predicted_R | 1.1770 |
| predicted_RBI | 1.1900 |
| predicted_SLG | 0.4398 |
| predicted_SO | 2.7630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1030 | 0.1890 | 0.1404 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3400 | 8.1030 | 5.4130 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2359 | 0.2439 | model_form_blend |
| predicted_BB | 0.2760 | 0.4850 | 0.3670 | model_form_blend |
| predicted_H | 0.6900 | 1.9120 | 1.2218 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1400 | 0.4870 | 0.2910 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2805 | 0.2836 | model_form_blend |
| predicted_R | 0.3400 | 1.1770 | 0.7043 | model_form_blend |
| predicted_RBI | 0.4100 | 1.1900 | 0.7495 | model_form_blend |
| predicted_SLG | 0.4250 | 0.4398 | 0.4314 | model_form_blend |
| predicted_SO | 1.1220 | 2.7630 | 1.8362 | 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 | 156 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 641857 |
| playerID | 641857 |
| playerName | Ryan McMahon |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-03 |
| sl_k_percent | 31.9 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.272 |
| sl_xwoba | 0.285 |
| sl_xba | 0.219 |
| sl_xslg | 0.374 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 49.5 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 31.8 |
| sl_swing_percent | 46.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.194 | 1.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | 0.812 | 1.000 |
| predicted_3B | 0.065 | 0.000 | 0.000 | Hitting_3B | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_AB | 3.403 | 3.000 | 6.000 | Hitting_AB | 3.297 | 0.000 | -0.297 | 3.000 |
| predicted_AVG | 0.236 | 0.333 | 0.167 | Hitting_AVG | 0.223 | - | 0.111 | - |
| predicted_BB | 0.242 | 1.000 | 0.000 | Hitting_BB | 0.250 | 1.000 | 0.750 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.620 | 1.000 | 1.000 | Hitting_H | 0.734 | 0.000 | 0.266 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.273 | 0.500 | 0.167 | Hitting_OBP | 0.273 | 1.000 | 0.227 | -0.500 |
| predicted_R | 0.258 | 1.000 | 0.000 | Hitting_R | 0.266 | 1.000 | 0.734 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 1.000 | Hitting_RBI | 0.438 | 0.000 | -0.438 | 0.000 |
| predicted_SLG | 0.324 | 0.667 | 0.167 | Hitting_SLG | 0.318 | - | 0.349 | - |
| predicted_SO | 0.823 | 1.000 | 1.000 | Hitting_SO | 0.797 | 0.000 | 0.203 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 12 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.1940 -> 1.0000 (boost 0.8060, better) |
| Biggest Deboost | predicted_AB: 3.4030 -> 3.0000 (deboost -0.4030, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.4030 -> 6.0982 (boost 2.6952, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3388 -> 0.3545 (boost 0.0157, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_RBI: 0.6786 -> 1.0000 (boost 0.3214, better) | predicted_H: 1.5174 -> 1.0000 (deboost -0.5174, worse) | AB rounded to 6 (raw=6.10), rates preserved: AVG=0.249 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4414 -> 0.0000 (deboost -0.4414, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3545 -> 0.1670 (deboost -0.1875, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 3 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3545 (boost 0.1875, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641555",
"player_name": "J.C. Escarra",
"position": "C",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.194,
"predicted_3B": 0.065,
"predicted_AB": 3.403,
"predicted_AVG": 0.236,
"predicted_BB": 0.242,
"predicted_H": 0.62,
"predicted_HR": 0.06,
"predicted_OBP": 0.273,
"predicted_R": 0.258,
"predicted_RBI": 0.33,
"predicted_SLG": 0.324,
"predicted_SO": 0.823
},
"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.2997,
"predicted_3B": 0.0941,
"predicted_AB": 6.0982,
"predicted_AVG": 0.2523,
"predicted_BB": 0.4181,
"predicted_H": 1.4937,
"predicted_HBP": 0.01,
"predicted_HR": 0.0513,
"predicted_OBP": 0.2918,
"predicted_R": 0.4291,
"predicted_RBI": 0.6597,
"predicted_SLG": 0.3388,
"predicted_SO": 1.3391
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.2997,
"delta": 0.1057,
"percent_delta": 0.5448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.065,
"after": 0.0941,
"delta": 0.0291,
"percent_delta": 0.4477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.403,
"after": 6.0982,
"delta": 2.6952,
"percent_delta": 0.792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2523,
"delta": 0.0163,
"percent_delta": 0.0691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.242,
"after": 0.4181,
"delta": 0.1761,
"percent_delta": 0.7277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.4937,
"delta": 0.8737,
"percent_delta": 1.4092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0513,
"delta": -0.0087,
"percent_delta": -0.145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2918,
"delta": 0.0188,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.258,
"after": 0.4291,
"delta": 0.1711,
"percent_delta": 0.6632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.6597,
"delta": 0.3297,
"percent_delta": 0.9991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.324,
"after": 0.3388,
"delta": 0.0148,
"percent_delta": 0.0457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.823,
"after": 1.3391,
"delta": 0.5161,
"percent_delta": 0.6271,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.403,
"after": 6.0982,
"delta": 2.6952,
"percent_delta": 0.792,
"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": 2,
"last_10": 4,
"season": 19
}
},
{
"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.2997,
"predicted_3B": 0.0941,
"predicted_AB": 6.0982,
"predicted_AVG": 0.2488,
"predicted_BB": 0.4219,
"predicted_H": 1.5174,
"predicted_HBP": 0.01,
"predicted_HR": 0.0521,
"predicted_OBP": 0.2974,
"predicted_R": 0.4414,
"predicted_RBI": 0.6786,
"predicted_SLG": 0.3545,
"predicted_SO": 1.3269
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2997,
"after": 0.2997,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0941,
"after": 0.0941,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0982,
"after": 6.0982,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2523,
"after": 0.2488,
"delta": -0.0035,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4181,
"after": 0.4219,
"delta": 0.0038,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4937,
"after": 1.5174,
"delta": 0.0237,
"percent_delta": 0.0159,
"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.0513,
"after": 0.0521,
"delta": 0.0008,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2918,
"after": 0.2974,
"delta": 0.0056,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4291,
"after": 0.4414,
"delta": 0.0123,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6597,
"after": 0.6786,
"delta": 0.0189,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3388,
"after": 0.3545,
"delta": 0.0157,
"percent_delta": 0.0463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3391,
"after": 1.3269,
"delta": -0.0122,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3388,
"after": 0.3545,
"delta": 0.0157,
"percent_delta": 0.0463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.10), rates preserved: AVG=0.249 HR/AB=0.009",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2997,
"after": 0.0,
"delta": -0.2997,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0941,
"after": 0.0,
"delta": -0.0941,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.0982,
"after": 6.0,
"delta": -0.0982,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4219,
"after": 0.0,
"delta": -0.4219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5174,
"after": 1.0,
"delta": -0.5174,
"percent_delta": -0.341,
"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.0521,
"after": 0.0,
"delta": -0.0521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6786,
"after": 1.0,
"delta": 0.3214,
"percent_delta": 0.4736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3269,
"after": 1.0,
"delta": -0.3269,
"percent_delta": -0.2464,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6786,
"after": 1.0,
"delta": 0.3214,
"percent_delta": 0.4736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.5174,
"after": 1.0,
"delta": -0.5174,
"percent_delta": -0.341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4414,
"after": 0.0,
"delta": -0.4414,
"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.4414,
"after": 0.0,
"delta": -0.4414,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.2488,
"after": 0.167,
"delta": -0.0818,
"percent_delta": -0.3288,
"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.2974,
"after": 0.167,
"delta": -0.1304,
"percent_delta": -0.4385,
"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.3545,
"after": 0.167,
"delta": -0.1875,
"percent_delta": -0.5289,
"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.3545,
"after": 0.167,
"delta": -0.1875,
"percent_delta": -0.5289,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 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": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"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": 3.0,
"predicted_AVG": 0.2488,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2974,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3545,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2488,
"delta": 0.0818,
"percent_delta": 0.49,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.2974,
"delta": 0.1304,
"percent_delta": 0.7811,
"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.167,
"after": 0.3545,
"delta": 0.1875,
"percent_delta": 1.1226,
"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.167,
"after": 0.3545,
"delta": 0.1875,
"percent_delta": 1.1226,
"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.194,
"after": 1.0,
"delta": 0.806,
"percent_delta": 4.1546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.065,
"after": 0.0,
"delta": -0.065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.403,
"after": 3.0,
"delta": -0.403,
"percent_delta": -0.1184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2488,
"delta": 0.0128,
"percent_delta": 0.0542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.242,
"after": 1.0,
"delta": 0.758,
"percent_delta": 3.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2974,
"delta": 0.0244,
"percent_delta": 0.0894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.258,
"after": 1.0,
"delta": 0.742,
"percent_delta": 2.876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.324,
"after": 0.3545,
"delta": 0.0305,
"percent_delta": 0.0941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.823,
"after": 1.0,
"delta": 0.177,
"percent_delta": 0.2151,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 8,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.194,
"after": 1.0,
"delta": 0.806,
"percent_delta": 4.1546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.403,
"after": 3.0,
"delta": -0.403,
"percent_delta": -0.1184,
"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.194 | - |
| predicted_3B | 0.065 | - |
| predicted_AB | 3.403 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.242 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.258 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.324 | - |
| predicted_SO | 0.823 | - |
Final model 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.300 | 0.106 |
| predicted_3B | 0.094 | 0.029 |
| predicted_AB | 6.098 | 2.695 |
| predicted_AVG | 0.252 | 0.016 |
| predicted_BB | 0.418 | 0.176 |
| predicted_H | 1.494 | 0.874 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.051 | -0.009 |
| predicted_OBP | 0.292 | 0.019 |
| predicted_R | 0.429 | 0.171 |
| predicted_RBI | 0.660 | 0.330 |
| predicted_SLG | 0.339 | 0.015 |
| predicted_SO | 1.339 | 0.516 |
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.300 | 0.000 |
| predicted_3B | 0.094 | 0.000 |
| predicted_AB | 6.098 | 0.000 |
| predicted_AVG | 0.249 | -0.004 |
| predicted_BB | 0.422 | 0.004 |
| predicted_H | 1.517 | 0.024 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.052 | 0.001 |
| predicted_OBP | 0.297 | 0.006 |
| predicted_R | 0.441 | 0.012 |
| predicted_RBI | 0.679 | 0.019 |
| predicted_SLG | 0.354 | 0.016 |
| predicted_SO | 1.327 | -0.012 |
AB rounded to 6 (raw=6.10), rates preserved: AVG=0.249 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.300 |
| predicted_3B | 0.000 | -0.094 |
| predicted_AB | 6.000 | -0.098 |
| predicted_AVG | 0.167 | -0.082 |
| predicted_BB | 0.000 | -0.422 |
| predicted_H | 1.000 | -0.517 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.167 | -0.130 |
| predicted_R | 0.000 | -0.441 |
| predicted_RBI | 1.000 | 0.321 |
| predicted_SLG | 0.167 | -0.187 |
| predicted_SO | 1.000 | -0.327 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -3.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 20.000 | 12.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.6000 | 0.6000 | 0.6000 | 0.6000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 4 | - | 32.000 | 12.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 3.000 | 5.000 | 0.3750 | 0.4054 | 0.3750 | 0.3750 | 0.0000 | 0.0625 | 0.0938 | 0.1562 |
| season | 0.60 | 19 | - | 211.000 | 47.000 | 12.000 | 4.000 | 0.000 | 28.000 | 16.000 | 15.000 | 51.000 | 0.2227 | 0.2696 | 0.3175 | 0.2228 | 0.0000 | 0.1327 | 0.0711 | 0.2417 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4480 |
| predicted_3B | 0.1350 |
| predicted_AB | 9.8780 |
| predicted_AVG | 0.2752 |
| predicted_BB | 0.6650 |
| predicted_H | 2.7190 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.3181 |
| predicted_R | 0.6690 |
| predicted_RBI | 1.1220 |
| predicted_SLG | 0.3596 |
| predicted_SO | 2.0630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1940 | 0.4480 | 0.2997 | model_form_blend |
| predicted_3B | 0.0650 | 0.1350 | 0.0941 | model_form_blend |
| predicted_AB | 3.4030 | 9.8780 | 6.0982 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2752 | 0.2523 | model_form_blend |
| predicted_BB | 0.2420 | 0.6650 | 0.4181 | model_form_blend |
| predicted_H | 0.6200 | 2.7190 | 1.4937 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0600 | 0.0390 | 0.0513 | model_form_blend |
| predicted_OBP | 0.2730 | 0.3181 | 0.2918 | model_form_blend |
| predicted_R | 0.2580 | 0.6690 | 0.4291 | model_form_blend |
| predicted_RBI | 0.3300 | 1.1220 | 0.6597 | model_form_blend |
| predicted_SLG | 0.3240 | 0.3596 | 0.3388 | model_form_blend |
| predicted_SO | 0.8230 | 2.0630 | 1.3391 | 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 | 64 |
| Season rows before report date | 64 |
| Report year | 2026 |
| Profile rows used | 62 |
| 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.223 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 2 |
| 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 | 20260530_NYY@OAK |
| game_type | short |
| mlbID | 641555 |
| playerID | 641555 |
| playerName | J.C. Escarra |
| pos | C |
| started | False |
| startingPosition | C |
| team | NYY |
| teamID | 19 |
| game_date | 2026-05-30 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.234 |
| sl_xwoba | 0.289 |
| sl_xba | 0.23 |
| sl_xslg | 0.346 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 31.9 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 10.2 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 46.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.185 | 0.000 | 0.000 | Hitting_2B | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.524 | 4.000 | 6.000 | Hitting_AB | 3.503 | 4.000 | 0.497 | 0.000 |
| predicted_AVG | 0.252 | 0.250 | 0.333 | Hitting_AVG | 0.275 | 0.500 | -0.025 | -0.250 |
| predicted_BB | 0.190 | 0.000 | 0.000 | Hitting_BB | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_H | 0.850 | 1.000 | 2.000 | Hitting_H | 0.964 | 2.000 | 0.036 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.112 | 1.000 | -0.112 | -1.000 |
| predicted_OBP | 0.324 | 0.250 | 0.333 | Hitting_OBP | 0.329 | 0.500 | -0.079 | -0.250 |
| predicted_R | 0.470 | 0.000 | 1.000 | Hitting_R | 0.467 | 1.000 | -0.467 | -1.000 |
| predicted_RBI | 0.380 | 0.000 | 1.000 | Hitting_RBI | 0.379 | 1.000 | -0.379 | -1.000 |
| predicted_SLG | 0.408 | 0.250 | 0.333 | Hitting_SLG | 0.424 | 1.250 | -0.174 | -1.000 |
| predicted_SO | 0.673 | 0.000 | 1.000 | Hitting_SO | 0.669 | 1.000 | -0.669 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.5240 -> 4.0000 (boost 0.4760, better) |
| Biggest Deboost | predicted_SO: 0.6730 -> 0.0000 (deboost -0.6730, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.5240 -> 5.9112 (boost 2.3872, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4267 -> 0.4355 (boost 0.0088, better) | predicted_OBP: 0.3309 -> 0.3176 (deboost -0.0133, 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 | 4 | 4 | predicted_H: 1.6114 -> 2.0000 (boost 0.3886, better) | predicted_BB: 0.3897 -> 0.0000 (deboost -0.3897, worse) | AB rounded to 6 (raw=5.91), rates preserved: AVG=0.273 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9082 -> 1.0000 (boost 0.0918, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2726 -> 0.3330 (boost 0.0604, better) | predicted_SLG: 0.4355 -> 0.3330 (deboost -0.1025, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4355 (boost 0.1025, better) | predicted_AVG: 0.3330 -> 0.2726 (deboost -0.0604, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676609",
"player_name": "José Caballero",
"position": "SS",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.185,
"predicted_3B": 0.0,
"predicted_AB": 3.524,
"predicted_AVG": 0.252,
"predicted_BB": 0.19,
"predicted_H": 0.85,
"predicted_HR": 0.11,
"predicted_OBP": 0.324,
"predicted_R": 0.47,
"predicted_RBI": 0.38,
"predicted_SLG": 0.408,
"predicted_SO": 0.673
},
"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.3104,
"predicted_3B": 0.0009,
"predicted_AB": 5.9112,
"predicted_AVG": 0.2651,
"predicted_BB": 0.3862,
"predicted_H": 1.5862,
"predicted_HBP": 0.152,
"predicted_HR": 0.2135,
"predicted_OBP": 0.3309,
"predicted_R": 0.8829,
"predicted_RBI": 0.6408,
"predicted_SLG": 0.4267,
"predicted_SO": 1.2239
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.3104,
"delta": 0.1254,
"percent_delta": 0.6778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.524,
"after": 5.9112,
"delta": 2.3872,
"percent_delta": 0.6774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2651,
"delta": 0.0131,
"percent_delta": 0.052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.19,
"after": 0.3862,
"delta": 0.1962,
"percent_delta": 1.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.5862,
"delta": 0.7362,
"percent_delta": 0.8661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.2135,
"delta": 0.1035,
"percent_delta": 0.9409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3309,
"delta": 0.0069,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 0.8829,
"delta": 0.4129,
"percent_delta": 0.8785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.6408,
"delta": 0.2608,
"percent_delta": 0.6863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4267,
"delta": 0.0187,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 1.2239,
"delta": 0.5509,
"percent_delta": 0.8186,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.524,
"after": 5.9112,
"delta": 2.3872,
"percent_delta": 0.6774,
"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": 50
}
},
{
"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.3104,
"predicted_3B": 0.0009,
"predicted_AB": 5.9112,
"predicted_AVG": 0.2726,
"predicted_BB": 0.3897,
"predicted_H": 1.6114,
"predicted_HBP": 0.152,
"predicted_HR": 0.2168,
"predicted_OBP": 0.3176,
"predicted_R": 0.9082,
"predicted_RBI": 0.6592,
"predicted_SLG": 0.4355,
"predicted_SO": 1.2128
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3104,
"after": 0.3104,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.9112,
"after": 5.9112,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2651,
"after": 0.2726,
"delta": 0.0075,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3862,
"after": 0.3897,
"delta": 0.0035,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5862,
"after": 1.6114,
"delta": 0.0252,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.152,
"after": 0.152,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2135,
"after": 0.2168,
"delta": 0.0033,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3309,
"after": 0.3176,
"delta": -0.0133,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8829,
"after": 0.9082,
"delta": 0.0253,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6408,
"after": 0.6592,
"delta": 0.0184,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4267,
"after": 0.4355,
"delta": 0.0088,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2239,
"after": 1.2128,
"delta": -0.0111,
"percent_delta": -0.0091,
"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.4267,
"after": 0.4355,
"delta": 0.0088,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3309,
"after": 0.3176,
"delta": -0.0133,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.91), rates preserved: AVG=0.273 HR/AB=0.037",
"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.3104,
"after": 0.0,
"delta": -0.3104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.9112,
"after": 6.0,
"delta": 0.0888,
"percent_delta": 0.015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3897,
"after": 0.0,
"delta": -0.3897,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6114,
"after": 2.0,
"delta": 0.3886,
"percent_delta": 0.2412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2168,
"after": 0.0,
"delta": -0.2168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6592,
"after": 1.0,
"delta": 0.3408,
"percent_delta": 0.517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2128,
"after": 1.0,
"delta": -0.2128,
"percent_delta": -0.1755,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.6114,
"after": 2.0,
"delta": 0.3886,
"percent_delta": 0.2412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3897,
"after": 0.0,
"delta": -0.3897,
"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": 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.9082,
"after": 1.0,
"delta": 0.0918,
"percent_delta": 0.1011,
"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.9082,
"after": 1.0,
"delta": 0.0918,
"percent_delta": 0.1011,
"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": 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.2726,
"after": 0.333,
"delta": 0.0604,
"percent_delta": 0.2216,
"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.3176,
"after": 0.333,
"delta": 0.0154,
"percent_delta": 0.0485,
"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.4355,
"after": 0.333,
"delta": -0.1025,
"percent_delta": -0.2354,
"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.2726,
"after": 0.333,
"delta": 0.0604,
"percent_delta": 0.2216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4355,
"after": 0.333,
"delta": -0.1025,
"percent_delta": -0.2354,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2726,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3176,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4355,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2726,
"delta": -0.0604,
"percent_delta": -0.1814,
"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.3176,
"delta": -0.0154,
"percent_delta": -0.0463,
"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.4355,
"delta": 0.1025,
"percent_delta": 0.3077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4355,
"delta": 0.1025,
"percent_delta": 0.3077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2726,
"delta": -0.0604,
"percent_delta": -0.1814,
"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.185,
"after": 0.0,
"delta": -0.185,
"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.524,
"after": 4.0,
"delta": 0.476,
"percent_delta": 0.1351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2726,
"delta": 0.0206,
"percent_delta": 0.0817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3176,
"delta": -0.0064,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4355,
"delta": 0.0275,
"percent_delta": 0.0674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 0.0,
"delta": -0.673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.524,
"after": 4.0,
"delta": 0.476,
"percent_delta": 0.1351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.673,
"after": 0.0,
"delta": -0.673,
"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.185 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.524 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.190 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.470 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 0.673 | - |
Final model 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.310 | 0.125 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.911 | 2.387 |
| predicted_AVG | 0.265 | 0.013 |
| predicted_BB | 0.386 | 0.196 |
| predicted_H | 1.586 | 0.736 |
| predicted_HBP | 0.152 | - |
| predicted_HR | 0.213 | 0.103 |
| predicted_OBP | 0.331 | 0.007 |
| predicted_R | 0.883 | 0.413 |
| predicted_RBI | 0.641 | 0.261 |
| predicted_SLG | 0.427 | 0.019 |
| predicted_SO | 1.224 | 0.551 |
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.310 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.911 | 0.000 |
| predicted_AVG | 0.273 | 0.008 |
| predicted_BB | 0.390 | 0.004 |
| predicted_H | 1.611 | 0.025 |
| predicted_HBP | 0.152 | 0.000 |
| predicted_HR | 0.217 | 0.003 |
| predicted_OBP | 0.318 | -0.013 |
| predicted_R | 0.908 | 0.025 |
| predicted_RBI | 0.659 | 0.018 |
| predicted_SLG | 0.435 | 0.009 |
| predicted_SO | 1.213 | -0.011 |
AB rounded to 6 (raw=5.91), rates preserved: AVG=0.273 HR/AB=0.037
| 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 | - |
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.310 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.089 |
| predicted_AVG | 0.333 | 0.060 |
| predicted_BB | 0.000 | -0.390 |
| predicted_H | 2.000 | 0.389 |
| predicted_HR | 0.000 | -0.217 |
| predicted_OBP | 0.333 | 0.015 |
| predicted_R | 1.000 | 0.092 |
| predicted_RBI | 1.000 | 0.341 |
| predicted_SLG | 0.333 | -0.102 |
| predicted_SO | 1.000 | -0.213 |
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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -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 | - | 16.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 5.000 | 0.3125 | 0.3889 | 0.5625 | 0.3125 | 0.0625 | 0.1250 | 0.1250 | 0.3125 |
| last_10 | 0.20 | 7 | - | 33.000 | 9.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 5.000 | 0.2727 | 0.3143 | 0.3939 | 0.2727 | 0.0303 | 0.0606 | 0.0606 | 0.1515 |
| season | 0.60 | 50 | - | 592.000 | 163.000 | 31.000 | 0.000 | 19.000 | 64.000 | 79.000 | 32.000 | 113.000 | 0.2753 | 0.3286 | 0.4240 | 0.2753 | 0.0321 | 0.1081 | 0.0541 | 0.1909 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4720 |
| predicted_3B | 0.0020 |
| predicted_AB | 8.9880 |
| predicted_AVG | 0.2820 |
| predicted_BB | 0.6390 |
| predicted_H | 2.5350 |
| predicted_HBP | 0.1520 |
| predicted_HR | 0.3470 |
| predicted_OBP | 0.3398 |
| predicted_R | 1.4150 |
| predicted_RBI | 0.9770 |
| predicted_SLG | 0.4507 |
| predicted_SO | 1.9340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1850 | 0.4720 | 0.3104 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.5240 | 8.9880 | 5.9112 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2820 | 0.2651 | model_form_blend |
| predicted_BB | 0.1900 | 0.6390 | 0.3862 | model_form_blend |
| predicted_H | 0.8500 | 2.5350 | 1.5862 | model_form_blend |
| predicted_HBP | - | 0.1520 | 0.1520 | form_only |
| predicted_HR | 0.1100 | 0.3470 | 0.2135 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3398 | 0.3309 | model_form_blend |
| predicted_R | 0.4700 | 1.4150 | 0.8829 | model_form_blend |
| predicted_RBI | 0.3800 | 0.9770 | 0.6408 | model_form_blend |
| predicted_SLG | 0.4080 | 0.4507 | 0.4267 | model_form_blend |
| predicted_SO | 0.6730 | 1.9340 | 1.2239 | 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 | 169 |
| Season rows before report date | 169 |
| Report year | 2026 |
| Profile rows used | 168 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.275 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 676609 |
| playerID | 676609 |
| playerName | José Caballero |
| pos | SS |
| started | True |
| startingPosition | RF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.322 |
| sl_xwoba | 0.287 |
| sl_xba | 0.24 |
| sl_xslg | 0.342 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 3.0 |
| sl_hard_hit_percent | 27.8 |
| sl_exit_velocity_avg | 83.2 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 49.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.429 | 0.000 | 1.000 | Hitting_2B | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.619 | 2.000 | 4.000 | Hitting_AB | 2.037 | 3.000 | -0.037 | -1.000 |
| predicted_AVG | 0.310 | 0.000 | 0.250 | Hitting_AVG | 0.309 | 0.333 | -0.309 | -0.333 |
| predicted_BB | 0.810 | 1.000 | 1.000 | Hitting_BB | 0.667 | 1.000 | 0.333 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.296 | 0.000 | -0.296 | 0.000 |
| predicted_H | 0.170 | 0.000 | 1.000 | Hitting_H | 0.630 | 1.000 | -0.630 | -1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.349 | 0.333 | 0.400 | Hitting_OBP | 0.479 | 0.500 | -0.146 | -0.167 |
| predicted_R | 0.381 | 0.000 | 1.000 | Hitting_R | 0.407 | 2.000 | -0.407 | -2.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.222 | 2.000 | -0.222 | -2.000 |
| predicted_SLG | 0.415 | 0.000 | 0.500 | Hitting_SLG | 0.473 | 0.667 | -0.473 | -0.667 |
| predicted_SO | 0.714 | 0.000 | 1.000 | Hitting_SO | 0.556 | 1.000 | -0.556 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.8100 -> 1.0000 (boost 0.1900, better) |
| Biggest Deboost | predicted_SO: 0.7140 -> 0.0000 (deboost -0.7140, 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 | 9 | 9 | 0 | 8 | 1 | predicted_AB: 2.6190 -> 3.9708 (boost 1.3518, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3868 -> 0.3951 (boost 0.0083, better) | predicted_AVG: 0.3088 -> 0.2085 (deboost -0.1003, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 4 | 2 | 2 | 2 | 2 | predicted_2B: 0.5396 -> 1.0000 (boost 0.4604, better) | predicted_RBI: 0.3623 -> 0.0000 (deboost -0.3623, worse) | AB rounded to 4 (raw=3.97), rates preserved: AVG=0.209 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6911 -> 1.0000 (boost 0.3089, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3779 -> 0.5000 (boost 0.1221, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5000 -> 0.3779 (deboost -0.1221, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680474",
"player_name": "Max Schuemann",
"position": "RF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.429,
"predicted_3B": 0.0,
"predicted_AB": 2.619,
"predicted_AVG": 0.31,
"predicted_BB": 0.81,
"predicted_H": 0.17,
"predicted_HR": 0.03,
"predicted_OBP": 0.349,
"predicted_R": 0.381,
"predicted_RBI": 0.12,
"predicted_SLG": 0.415,
"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.5396,
"predicted_3B": 0.0025,
"predicted_AB": 3.9708,
"predicted_AVG": 0.3088,
"predicted_BB": 1.2136,
"predicted_H": 0.815,
"predicted_HBP": 0.017,
"predicted_HR": 0.042,
"predicted_OBP": 0.3868,
"predicted_R": 0.6718,
"predicted_RBI": 0.3522,
"predicted_SLG": 0.4293,
"predicted_SO": 1.0165
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.429,
"after": 0.5396,
"delta": 0.1106,
"percent_delta": 0.2578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0025,
"delta": 0.0025,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.619,
"after": 3.9708,
"delta": 1.3518,
"percent_delta": 0.5162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.31,
"after": 0.3088,
"delta": -0.0012,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.81,
"after": 1.2136,
"delta": 0.4036,
"percent_delta": 0.4983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.17,
"after": 0.815,
"delta": 0.645,
"percent_delta": 3.7941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.042,
"delta": 0.012,
"percent_delta": 0.4,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.3868,
"delta": 0.0378,
"percent_delta": 0.1083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.381,
"after": 0.6718,
"delta": 0.2908,
"percent_delta": 0.7633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.3522,
"delta": 0.2322,
"percent_delta": 1.935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4293,
"delta": 0.0143,
"percent_delta": 0.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 1.0165,
"delta": 0.3025,
"percent_delta": 0.4237,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.619,
"after": 3.9708,
"delta": 1.3518,
"percent_delta": 0.5162,
"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": 2,
"last_10": 4,
"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.5396,
"predicted_3B": 0.0025,
"predicted_AB": 3.9708,
"predicted_AVG": 0.2085,
"predicted_BB": 1.2246,
"predicted_H": 0.828,
"predicted_HBP": 0.017,
"predicted_HR": 0.0427,
"predicted_OBP": 0.3951,
"predicted_R": 0.6911,
"predicted_RBI": 0.3623,
"predicted_SLG": 0.3779,
"predicted_SO": 1.0072
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5396,
"after": 0.5396,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0025,
"after": 0.0025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9708,
"after": 3.9708,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3088,
"after": 0.2085,
"delta": -0.1003,
"percent_delta": -0.3248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2136,
"after": 1.2246,
"delta": 0.011,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.815,
"after": 0.828,
"delta": 0.013,
"percent_delta": 0.016,
"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.042,
"after": 0.0427,
"delta": 0.0007,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3868,
"after": 0.3951,
"delta": 0.0083,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6718,
"after": 0.6911,
"delta": 0.0193,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3522,
"after": 0.3623,
"delta": 0.0101,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4293,
"after": 0.3779,
"delta": -0.0514,
"percent_delta": -0.1197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0165,
"after": 1.0072,
"delta": -0.0093,
"percent_delta": -0.0091,
"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.3868,
"after": 0.3951,
"delta": 0.0083,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3088,
"after": 0.2085,
"delta": -0.1003,
"percent_delta": -0.3248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.97), rates preserved: AVG=0.209 HR/AB=0.011",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5396,
"after": 1.0,
"delta": 0.4604,
"percent_delta": 0.8532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0025,
"after": 0.0,
"delta": -0.0025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9708,
"after": 4.0,
"delta": 0.0292,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.2246,
"after": 1.0,
"delta": -0.2246,
"percent_delta": -0.1834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.828,
"after": 1.0,
"delta": 0.172,
"percent_delta": 0.2077,
"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.0427,
"after": 0.0,
"delta": -0.0427,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3623,
"after": 0.0,
"delta": -0.3623,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0072,
"after": 1.0,
"delta": -0.0072,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.5396,
"after": 1.0,
"delta": 0.4604,
"percent_delta": 0.8532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3623,
"after": 0.0,
"delta": -0.3623,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.6911,
"after": 1.0,
"delta": 0.3089,
"percent_delta": 0.447,
"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.6911,
"after": 1.0,
"delta": 0.3089,
"percent_delta": 0.447,
"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": 1.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": 0.0,
"predicted_SLG": 0.5,
"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": 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.2085,
"after": 0.25,
"delta": 0.0415,
"percent_delta": 0.199,
"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.3951,
"after": 0.4,
"delta": 0.0049,
"percent_delta": 0.0124,
"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.3779,
"after": 0.5,
"delta": 0.1221,
"percent_delta": 0.3231,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3779,
"after": 0.5,
"delta": 0.1221,
"percent_delta": 0.3231,
"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": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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": 2.0,
"predicted_AVG": 0.2085,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3951,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3779,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2085,
"delta": -0.0415,
"percent_delta": -0.166,
"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.4,
"after": 0.3951,
"delta": -0.0049,
"percent_delta": -0.0123,
"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.5,
"after": 0.3779,
"delta": -0.1221,
"percent_delta": -0.2442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.3779,
"delta": -0.1221,
"percent_delta": -0.2442,
"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.429,
"after": 0.0,
"delta": -0.429,
"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.619,
"after": 2.0,
"delta": -0.619,
"percent_delta": -0.2363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.31,
"after": 0.2085,
"delta": -0.1015,
"percent_delta": -0.3274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.3951,
"delta": 0.0461,
"percent_delta": 0.1321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.3779,
"delta": -0.0371,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 0.0,
"delta": -0.714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.714,
"after": 0.0,
"delta": -0.714,
"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.429 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.619 | - |
| predicted_AVG | 0.310 | - |
| predicted_BB | 0.810 | - |
| predicted_H | 0.170 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.349 | - |
| predicted_R | 0.381 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.415 | - |
| 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.540 | 0.111 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 3.971 | 1.352 |
| predicted_AVG | 0.309 | -0.001 |
| predicted_BB | 1.214 | 0.404 |
| predicted_H | 0.815 | 0.645 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.042 | 0.012 |
| predicted_OBP | 0.387 | 0.038 |
| predicted_R | 0.672 | 0.291 |
| predicted_RBI | 0.352 | 0.232 |
| predicted_SLG | 0.429 | 0.014 |
| predicted_SO | 1.016 | 0.302 |
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.540 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 3.971 | 0.000 |
| predicted_AVG | 0.208 | -0.100 |
| predicted_BB | 1.225 | 0.011 |
| predicted_H | 0.828 | 0.013 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.043 | 0.001 |
| predicted_OBP | 0.395 | 0.008 |
| predicted_R | 0.691 | 0.019 |
| predicted_RBI | 0.362 | 0.010 |
| predicted_SLG | 0.378 | -0.051 |
| predicted_SO | 1.007 | -0.009 |
AB rounded to 4 (raw=3.97), rates preserved: AVG=0.209 HR/AB=0.011
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.460 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 4.000 | 0.029 |
| predicted_AVG | 0.250 | 0.042 |
| predicted_BB | 1.000 | -0.225 |
| predicted_H | 1.000 | 0.172 |
| predicted_HR | 0.000 | -0.043 |
| predicted_OBP | 0.400 | 0.005 |
| predicted_R | 1.000 | 0.309 |
| predicted_RBI | 0.000 | -0.362 |
| predicted_SLG | 0.500 | 0.122 |
| predicted_SO | 1.000 | -0.007 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -2.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.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 | 2 | - | 11.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 6.000 | 9.000 | 1.000 | 0.4545 | 0.7000 | 0.5455 | 0.4546 | 0.0000 | 0.1818 | 0.8182 | 0.0909 |
| last_10 | 0.20 | 4 | - | 22.000 | 8.000 | 1.000 | 0.000 | 0.000 | 2.000 | 8.000 | 14.000 | 6.000 | 0.3636 | 0.6111 | 0.4091 | 0.3636 | 0.0000 | 0.0909 | 0.6364 | 0.2727 |
| season | 0.60 | 7 | - | 55.000 | 17.000 | 9.000 | 0.000 | 0.000 | 6.000 | 8.000 | 17.000 | 15.000 | 0.3091 | 0.4722 | 0.4727 | 0.3091 | 0.0000 | 0.1091 | 0.3091 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7330 |
| predicted_3B | 0.0070 |
| predicted_AB | 6.3330 |
| predicted_AVG | 0.3066 |
| predicted_BB | 1.9190 |
| predicted_H | 1.9420 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0630 |
| predicted_OBP | 0.4528 |
| predicted_R | 1.1800 |
| predicted_RBI | 0.7580 |
| predicted_SLG | 0.4544 |
| predicted_SO | 1.5450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.4290 | 0.7330 | 0.5396 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0025 | model_form_blend |
| predicted_AB | 2.6190 | 6.3330 | 3.9708 | model_form_blend |
| predicted_AVG | 0.3100 | 0.3066 | 0.3088 | model_form_blend |
| predicted_BB | 0.8100 | 1.9190 | 1.2136 | model_form_blend |
| predicted_H | 0.1700 | 1.9420 | 0.8150 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0300 | 0.0630 | 0.0420 | model_form_blend |
| predicted_OBP | 0.3490 | 0.4528 | 0.3868 | model_form_blend |
| predicted_R | 0.3810 | 1.1800 | 0.6718 | model_form_blend |
| predicted_RBI | 0.1200 | 0.7580 | 0.3522 | model_form_blend |
| predicted_SLG | 0.4150 | 0.4544 | 0.4293 | model_form_blend |
| predicted_SO | 0.7140 | 1.5450 | 1.0165 | 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 | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 21 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.309 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B-RF |
| gameID | 20260531_NYY@OAK |
| game_type | full |
| mlbID | 680474 |
| playerID | 680474 |
| playerName | Max Schuemann |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 29.2 |
| sl_woba | 0.439 |
| sl_xwoba | 0.345 |
| sl_xba | 0.204 |
| sl_xslg | 0.253 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 22.1 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 39.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 3.250 | 2.000 | -0.250 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.750 | 1.000 | -0.750 | 0.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 3.000 | 4.000 | 0.000 | -1.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 4.575 | 6.000 | 0.525 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 5.000 | 3.000 | -4.000 | -2.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": "607074",
"player_name": "Carlos Rodón",
"position": "Starter",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.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": 3.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 1.0,
"predicted_SO": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.1,
"delta": 0.1,
"percent_delta": 0.02,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.1,
"delta": 0.1,
"percent_delta": 0.02,
"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 | 3.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.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 | 4 | 19.000 | 7.000 | 12.000 | 13.000 | 20.000 | 1.000 | 3.3158 | 1.3158 | 0.3684 | 0.6316 | 0.6842 | 1.0526 | 0.0526 |
| last_10 | 0.35 | 4 | 19.000 | 7.000 | 12.000 | 13.000 | 20.000 | 1.000 | 3.3158 | 1.3158 | 0.3684 | 0.6316 | 0.6842 | 1.0526 | 0.0526 |
| season | 0.20 | 4 | 19.000 | 7.000 | 12.000 | 13.000 | 20.000 | 1.000 | 3.3158 | 1.3158 | 0.3684 | 0.6316 | 0.6842 | 1.0526 | 0.0526 |
| Metric | Value |
|---|---|
| predicted_BB | 2.4640 |
| predicted_ER | 2.0950 |
| predicted_ERA | 3.8863 |
| predicted_H | 3.9390 |
| predicted_HR | 0.4830 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.8060 |
| predicted_WHIP | 1.3197 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.4640 | 2.7774 | model_form_blend |
| predicted_ER | 1.0000 | 2.0950 | 1.4547 | model_form_blend |
| predicted_ERA | - | 3.8863 | 3.8863 | form_only |
| predicted_H | 3.0000 | 3.9390 | 3.3899 | model_form_blend |
| predicted_HR | 0.0000 | 0.4830 | 0.2006 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 1.0000 | 4.8060 | 2.5805 | model_form_blend |
| predicted_WHIP | - | 1.3197 | 1.3197 | 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 | 4 |
| Season rows before report date | 4 |
| Report year | 2026 |
| Profile rows used | 4 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.1 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 3 |
| SO | 1 |
| HR | 0 |
| BF | 22 |
| Pitches | 97 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.32 |
| Pitching_Flyouts | 7 |
| Pitching_Groundouts | 6 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 93 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 56 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260529_NYY@OAK |
| game_type | full |
| mlbID | 607074 |
| playerID | 607074 |
| playerName | Carlos Rodón |
| pos | P |
| started | True |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-05-29 |
| sl_k_percent | 24.7 |
| sl_bb_percent | 16.0 |
| sl_woba | 0.291 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 17.0 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 29.8 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 47.5 |
| sl_avg_best_speed | 80.671750435 |
| sl_avg_hyper_speed | 93.597631739 |
| 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.458 | 1.000 | -0.458 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.125 | 1.000 | -1.125 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.942 | 1.000 | 0.158 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.208 | 1.000 | -0.208 | 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": "670280",
"player_name": "David Bednar",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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 | 5.000 | 4.000 | 6.000 | 5.000 | 7.000 | 1.000 | 7.2000 | 2.2000 | 0.8000 | 1.2000 | 1.0000 | 1.4000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.100 | 7.000 | 10.000 | 6.000 | 13.000 | 2.000 | 6.0968 | 1.5484 | 0.6774 | 0.9677 | 0.5806 | 1.2581 | 0.1935 |
| season | 0.20 | 24 | 24.000 | 12.000 | 27.000 | 11.000 | 29.000 | 2.000 | 4.5000 | 1.5833 | 0.5000 | 1.1250 | 0.4583 | 1.2083 | 0.0833 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5510 |
| predicted_ER | 0.5870 |
| predicted_ERA | 5.2822 |
| predicted_H | 1.0280 |
| predicted_HR | 0.1550 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1210 |
| predicted_WHIP | 1.5786 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5510 | 0.2386 | model_form_blend |
| predicted_ER | 0.0000 | 0.5870 | 0.2542 | model_form_blend |
| predicted_ERA | - | 5.2822 | 5.2822 | form_only |
| predicted_H | 0.0000 | 1.0280 | 0.4452 | model_form_blend |
| predicted_HR | 0.0000 | 0.1550 | 0.0671 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1210 | 1.0524 | model_form_blend |
| predicted_WHIP | - | 1.5786 | 1.5786 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| 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 | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.50 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 19 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260531_NYY@OAK |
| game_type | full |
| mlbID | 670280 |
| playerID | 670280 |
| playerName | David Bednar |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-05-31 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.335 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 18.6 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 52.4 |
| sl_avg_best_speed | 75.427141471 |
| sl_avg_hyper_speed | 93.656036912 |
| 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.483 | 0.000 | -0.483 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.207 | 0.000 | -0.207 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.621 | 0.000 | -0.621 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.655 | 1.100 | 0.345 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.138 | 3.000 | -1.138 | -3.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": "518585",
"player_name": "Fernando Cruz",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 1.000 | 4.000 | 1.000 | 3.000 | 0.000 | 1.6875 | 0.9375 | 0.1875 | 0.7500 | 0.1875 | 0.5625 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 1.000 | 5.000 | 3.000 | 10.000 | 0.000 | 0.8438 | 0.7500 | 0.0938 | 0.4688 | 0.2812 | 0.9375 | 0.0000 |
| season | 0.20 | 29 | 26.000 | 6.000 | 18.000 | 14.000 | 33.000 | 2.000 | 2.0769 | 1.2308 | 0.2308 | 0.6923 | 0.5385 | 1.2692 | 0.0769 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3280 |
| predicted_ER | 0.3210 |
| predicted_ERA | 2.8877 |
| predicted_H | 0.7960 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8870 |
| predicted_WHIP | 1.1241 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3280 | 0.1448 | model_form_blend |
| predicted_ER | 0.0000 | 0.3210 | 0.1417 | model_form_blend |
| predicted_ERA | - | 2.8877 | 2.8877 | form_only |
| predicted_H | 0.0000 | 0.7960 | 0.3514 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0331 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8870 | 0.3916 | model_form_blend |
| predicted_WHIP | - | 1.1241 | 1.1241 | 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 | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 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.08 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 518585 |
| playerID | 518585 |
| playerName | Fernando Cruz |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-03 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.282 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 25.4 |
| sl_whiff_percent | 41.9 |
| sl_swing_percent | 43.7 |
| sl_avg_best_speed | 73.531953448 |
| sl_avg_hyper_speed | 92.586469483 |
| 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.207 | 0.000 | -0.207 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.414 | 1.000 | 0.586 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.897 | 2.000 | 0.103 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.659 | 0.200 | 0.441 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.448 | 1.000 | 0.552 | 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": "657612",
"player_name": "Tim Hill",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.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": 1.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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 | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 6.000 | 9.000 | 2.000 | 5.000 | 2.000 | 12.4615 | 2.5385 | 1.3846 | 2.0769 | 0.4615 | 1.1539 | 0.4615 |
| last_10 | 0.35 | 10 | 7.200 | 7.000 | 12.000 | 3.000 | 6.000 | 2.000 | 8.2174 | 1.9565 | 0.9130 | 1.5652 | 0.3913 | 0.7826 | 0.2609 |
| season | 0.20 | 28 | 24.000 | 9.000 | 23.000 | 5.000 | 13.000 | 3.000 | 3.3750 | 1.1667 | 0.3750 | 0.9583 | 0.2083 | 0.5417 | 0.1250 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3550 |
| predicted_ER | 0.7010 |
| predicted_ERA | 6.6857 |
| predicted_H | 1.2310 |
| predicted_HR | 0.2150 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8690 |
| predicted_WHIP | 1.6816 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3550 | 0.1537 | model_form_blend |
| predicted_ER | 1.0000 | 0.7010 | 0.8705 | model_form_blend |
| predicted_ERA | - | 6.6857 | 6.6857 | form_only |
| predicted_H | 1.0000 | 1.2310 | 1.1000 | model_form_blend |
| predicted_HR | 1.0000 | 0.2150 | 0.6601 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8690 | 0.9433 | model_form_blend |
| predicted_WHIP | - | 1.6816 | 1.6816 | 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 | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.50 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 12 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260603_CLE@NYY |
| game_type | full |
| mlbID | 657612 |
| playerID | 657612 |
| playerName | Tim Hill |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-03 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.323 |
| sl_xwoba | 0.334 |
| sl_sweet_spot_percent | 21.7 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 45.8 |
| sl_whiff_percent | 13.1 |
| sl_swing_percent | 53.0 |
| sl_avg_best_speed | 76.95347225 |
| sl_avg_hyper_speed | 95.538735375 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | KC 3 - 2 MIN | KC | 0.523 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | KC 3 - 0 MIN | KC | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| 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.5231 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.446 | 3.544 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 2 | 0.5231 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 2 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 3 | 2 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 0 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4514766309639728,
"base_low_score_probability": 0.42356377799415773,
"low_score_signal_threshold": 0.5035637779941577,
"low_score_signal_strength": 0.02791285296981505,
"confidence": 0.63295,
"factors": {
"environmental": 0.969,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.0659
},
"prediction": "normal_scoring",
"expected_total_runs": 5,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 3,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 73,
"near_bucket_sample_size": 73,
"medium_bucket_sample_size": 96,
"wide_bucket_sample_size": 106,
"global_sample_size": 107,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5479,
"bayesian_hit_rate": 0.5385,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8022,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5064,
"calibrated_pick_probability": 0.5231,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "MIN",
"games": 63,
"wins": 29,
"losses": 34,
"win_pct": 0.4603174603174603,
"runs_scored": 290,
"runs_allowed": 314,
"run_differential": -24,
"run_differential_per_game": -0.38095238095238093,
"available": true
},
"away": {
"team": "KC",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3870967741935484,
"runs_scored": 238,
"runs_allowed": 288,
"run_differential": -50,
"run_differential_per_game": -0.8064516129032258,
"available": true
},
"run_differential_edge_per_game": 0.4255,
"win_pct_edge": 0.0732,
"quality_edge": 0.5353,
"margin_adjustment": 0.2248,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 2.191,
"home_runs": 2.116,
"home_win_probability": 0.4936
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "KC",
"guardrail_predicted_team": "KC",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "KC",
"output_opponent_team": "MIN",
"final_score_winner": "KC",
"pre_simulation_winner": "KC",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "KC 3 - 2 MIN",
"winner": "KC"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 0,
"score_text": "KC 3 - 0 MIN",
"winner": "KC"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -2,
"total_run_delta": -2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "MIN",
"games": 63,
"wins": 29,
"losses": 34,
"win_pct": 0.4603174603174603,
"runs_scored": 290,
"runs_allowed": 314,
"run_differential": -24,
"run_differential_per_game": -0.38095238095238093,
"available": true
},
"away": {
"team": "KC",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3870967741935484,
"runs_scored": 238,
"runs_allowed": 288,
"run_differential": -50,
"run_differential_per_game": -0.8064516129032258,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.0748,
"final_margin": -0.0748,
"margin_cap": 1.5,
"season_quality_edge": 0.5353,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.507537,
"final_confidence": 0.507537,
"confidence_cap": 0.66,
"score_gap": 0.0748,
"calibration_sample_size": 73,
"calibration_empirical_hit_rate": 0.5479,
"calibration_bayesian_hit_rate": 0.5385,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.5353,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "KC 3 - 2 MIN",
"winner": "KC"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 0,
"score_text": "KC 3 - 0 MIN",
"winner": "KC"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -2,
"total_run_delta": -2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 3,
"home_runs": 2,
"confidence": 0.5230589999999999,
"home_win_probability": 0.47694100000000006,
"away_win_probability": 0.5230589999999999,
"predicted_score_text": "KC 3 - 2 MIN",
"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": "KC",
"original_runs": 3,
"run_delta": 0.0517,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 54.0,
"quality": 0.148191829782138,
"contact": 0.03309632950386851,
"power": 0.22345881029350972,
"discipline": -0.029895304226426438,
"xwoba": 0.3125185185185185,
"recent_xwoba": 0.3125185185185185,
"barrel": 9.303703703703704,
"ab_hard_contact": 0.1312432252705233,
"ab_bat_speed": 70.97777845997445,
"ab_strikeout_rate": 0.2280687859379515,
"available_players": 9,
"top_players": [
{
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"position": "SS",
"weight": 8.0,
"quality": 1.5106428892434194,
"contact": 1.788907671957673,
"power": 1.6356684510408646,
"discipline": 0.30974535120006114,
"xwoba": 0.395,
"recent_xwoba": 0.395,
"barrel": 13.4,
"ab_hard_contact": 1.6383214017696492,
"ab_bat_speed": 72.66099828532236,
"ab_strikeout_rate": 0.1765432098765432,
"available": 1.0
},
{
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "RF",
"weight": 6.0,
"quality": 0.6138085196883375,
"contact": 0.7123890165933006,
"power": 1.3131791904976187,
"discipline": -0.701469942324756,
"xwoba": 0.34,
"recent_xwoba": 0.34,
"barrel": 15.2,
"ab_hard_contact": 0.4868219051904422,
"ab_bat_speed": 75.01769517330742,
"ab_strikeout_rate": 0.31411564625850336,
"available": 1.0
},
{
"player_id": "664728",
"player_name": "Kyle Isbel",
"position": "CF",
"weight": 5.0,
"quality": -0.414435672307848,
"contact": -0.5827338895246285,
"power": -0.7770925784453244,
"discipline": -0.39483325509172346,
"xwoba": 0.275,
"recent_xwoba": 0.275,
"barrel": 3.4,
"ab_hard_contact": -0.7601372831922288,
"ab_bat_speed": 67.37948320413437,
"ab_strikeout_rate": 0.25155038759689924,
"available": 1.0
},
{
"player_id": "695600",
"player_name": "Carter Jensen",
"position": "C",
"weight": 6.0,
"quality": -0.5155946107821056,
"contact": -0.9766693954572345,
"power": -0.2800099880332103,
"discipline": -0.39788830967169503,
"xwoba": 0.269,
"recent_xwoba": 0.269,
"barrel": 8.3,
"ab_hard_contact": -0.3563902368546996,
"ab_bat_speed": 72.7519387755102,
"ab_strikeout_rate": 0.3064625850340136,
"available": 1.0
},
{
"player_id": "686555",
"player_name": "Isaac Collins",
"position": "LF",
"weight": 6.0,
"quality": -0.2864752078038836,
"contact": -0.4817556440588971,
"power": -0.4561047909701409,
"discipline": 0.16564570393374728,
"xwoba": 0.296,
"recent_xwoba": 0.296,
"barrel": 8.0,
"ab_hard_contact": -0.0771434384504585,
"ab_bat_speed": 71.07328395061728,
"ab_strikeout_rate": 0.27999999999999997,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "702193",
"player_name": "Andrew Morris",
"quality": 0.14701149171370498,
"contact": 0.6759828202153856,
"command": -0.24304761904761918,
"movement": 0.26839976671981547,
"xwoba": 0.288,
"whiff": 23.7,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
},
"home": {
"team": "MIN",
"original_runs": 2,
"run_delta": 0.2168,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 57.0,
"quality": -0.1730391580257715,
"contact": -0.39466051429233573,
"power": -0.29632760851628775,
"discipline": -0.013126155886863883,
"xwoba": 0.3020701754385965,
"recent_xwoba": 0.3020701754385965,
"barrel": 7.384210526315789,
"ab_hard_contact": -0.1351937743357972,
"ab_bat_speed": 69.41309243595785,
"ab_strikeout_rate": 0.22832950393088688,
"available_players": 9,
"top_players": [
{
"player_id": "681546",
"player_name": "James Outman",
"position": "CF",
"weight": 5.0,
"quality": -0.5047752383665244,
"contact": -2.0,
"power": -1.906248597776231,
"discipline": -1.273690734989648,
"xwoba": 0.20099999999999998,
"recent_xwoba": 0.201,
"barrel": 0.0,
"ab_hard_contact": -1.2259243364770147,
"ab_bat_speed": 70.11527777777778,
"ab_strikeout_rate": 0.39855072463768115,
"available": 1.0
},
{
"player_id": "807712",
"player_name": "Luke Keaschall",
"position": "2B",
"weight": 7.0,
"quality": -0.639658874816229,
"contact": -0.7234157736885267,
"power": -1.0916359031730838,
"discipline": 0.5186457039337473,
"xwoba": 0.283,
"recent_xwoba": 0.283,
"barrel": 2.9,
"ab_hard_contact": -0.5729085396521778,
"ab_bat_speed": 66.92657222222222,
"ab_strikeout_rate": 0.158,
"available": 1.0
},
{
"player_id": "686797",
"player_name": "Brooks Lee",
"position": "3B",
"weight": 7.0,
"quality": -0.6531312326523979,
"contact": -0.7903780574797357,
"power": -0.7081988463774491,
"discipline": -0.0507242594362161,
"xwoba": 0.27,
"recent_xwoba": 0.27,
"barrel": 5.3,
"ab_hard_contact": -0.4710245465966216,
"ab_bat_speed": 68.15155555555556,
"ab_strikeout_rate": 0.1830128205128205,
"available": 1.0
},
{
"player_id": "621439",
"player_name": "Byron Buxton",
"position": "DH",
"weight": 9.0,
"quality": 0.3241273322341529,
"contact": -0.011709384529459086,
"power": 1.2129527127716977,
"discipline": -0.6260640225100217,
"xwoba": 0.323,
"recent_xwoba": 0.323,
"barrel": 17.7,
"ab_hard_contact": 0.4072447316244185,
"ab_bat_speed": 72.5943463356974,
"ab_strikeout_rate": 0.26063829787234044,
"available": 1.0
},
{
"player_id": "665019",
"player_name": "Kody Clemens",
"position": "1B",
"weight": 6.0,
"quality": 0.2945960166851282,
"contact": 0.23590830316640085,
"power": 0.818524376018229,
"discipline": -0.2934140967307047,
"xwoba": 0.322,
"recent_xwoba": 0.322,
"barrel": 13.5,
"ab_hard_contact": 0.8043922822693309,
"ab_bat_speed": 68.88689750290361,
"ab_strikeout_rate": 0.2534883720930233,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "607625",
"player_name": "Seth Lugo",
"quality": -0.5950571449683922,
"contact": -0.6113726122015986,
"command": -0.4831904761904763,
"movement": -0.9864767825898315,
"xwoba": 0.348,
"whiff": 17.7,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 2,
"predicted_score_text": "KC 3 - 2 MIN",
"confidence": 0.5230589999999999,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "KC 3 - 2 MIN",
"winner": "KC"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 0,
"score_text": "KC 3 - 0 MIN",
"winner": "KC"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -2,
"total_run_delta": -2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 KC | True | 1.0150 | 1.0150 | 1 | 9 | 0 |
| Home MIN | True | 0.9913 | 0.9913 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Vinnie Pasquantino | 259 | 1.0188 | 0.2505 | neutral | 0.3140 | 0.2390 | 0.3900 | 7.90 | 35.40 | 88.50 | 20.20 | 16.60 | 18.10 | 11.40 | 0.6857 |
| DH | Salvador Perez | 457 | 1.0049 | 0.0654 | neutral | 0.2940 | 0.2260 | 0.3970 | 8.80 | 40.90 | 88.80 | 16.80 | 26.90 | 19.80 | 4.90 | 0.6857 |
| SS | Bobby Witt Jr. | 2 | 1.1417 | 1.8900 | positive_batter_regression | 0.3950 | 0.3110 | 0.5350 | 13.40 | 53 | 93.50 | 16.80 | 25.30 | 17.50 | 10.20 | 1.0286 |
| C | Carter Jensen | 286 | 0.9597 | -0.5370 | neutral | 0.2690 | 0.1860 | 0.3230 | 8.30 | 40.20 | 89.60 | 22.30 | 32.70 | 30.10 | 10.20 | -0.8286 |
| RF | Jac Caglianone | 153 | 1.0637 | 0.8495 | neutral | 0.3400 | 0.2570 | 0.4510 | 15.20 | 58.40 | 93.40 | 7.80 | 33.30 | 30.60 | 8.10 | 0.6000 |
| LF | Isaac Collins | 492 | 0.9860 | -0.1863 | neutral | 0.2960 | 0.2140 | 0.3020 | 8 | 40.70 | 88.50 | 19.30 | 27.80 | 27.90 | 12.70 | 0 |
| 2B | Michael Massey | 203 | 0.9930 | -0.0934 | negative_batter_regression | 0.2830 | 0.2140 | 0.4110 | 9.90 | 41.60 | 91.10 | 17 | 23.20 | 20.30 | 3.80 | -0.8857 |
| 3B | Nick Loftin | 422 | 0.9958 | -0.0566 | neutral | 0.3100 | 0.2290 | 0.3360 | 5.70 | 32.90 | 86.30 | 15.70 | 12.30 | 12.50 | 11.50 | 0.1429 |
| CF | Kyle Isbel | 236 | 0.9710 | -0.3861 | neutral | 0.2750 | 0.2370 | 0.3300 | 3.40 | 33.10 | 88.20 | 14.10 | 20 | 22.80 | 4.80 | -0.3714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Austin Martin | 149 | 0.9965 | -0.0464 | neutral | 0.3230 | 0.2560 | 0.3480 | 2.80 | 28.90 | 86.60 | 11.60 | 19.10 | 15 | 12.50 | -0.0571 |
| DH | Byron Buxton | 47 | 1.0349 | 0.4656 | negative_batter_regression | 0.3230 | 0.2270 | 0.4670 | 17.70 | 45.60 | 89.80 | 22.90 | 31.80 | 26.40 | 7 | -1.2286 |
| 1B | Kody Clemens | 172 | 1.0288 | 0.3843 | neutral | 0.3220 | 0.2340 | 0.4220 | 13.50 | 43.30 | 92.30 | 16.40 | 25.50 | 23.60 | 7.30 | -0.0286 |
| 3B | Brooks Lee | 201 | 0.9448 | -0.7358 | negative_batter_regression | 0.2700 | 0.2200 | 0.3320 | 5.30 | 30.60 | 87.30 | 12 | 21.90 | 18.30 | 6.60 | -1.4571 |
| LF | Trevor Larnach | 165 | 0.9929 | -0.0949 | neutral | 0.3200 | 0.2360 | 0.3500 | 6 | 29.90 | 86.40 | 11.60 | 28.30 | 20.30 | 14.30 | -0.7429 |
| C | Victor Caratini | 463 | 1.0205 | 0.2735 | positive_batter_regression | 0.3250 | 0.2440 | 0.3620 | 4.40 | 37.20 | 88.30 | 11.90 | 21.40 | 20.60 | 8.80 | 2 |
| 2B | Luke Keaschall | 239 | 0.9574 | -0.5684 | neutral | 0.2830 | 0.2270 | 0.3270 | 2.90 | 28.40 | 84.20 | 16.70 | 15.20 | 15.30 | 8.50 | -0.2571 |
| SS | Ryan Kreidler | 258 | 1.0099 | 0.1327 | neutral | 0.3390 | 0.2350 | 0.4380 | 8.80 | 32.40 | 88.10 | 13 | 29.80 | 25.50 | 10.90 | -0.7143 |
| CF | James Outman | 470 | 0.9361 | -0.8516 | neutral | 0.2010 | 0.1520 | 0.2010 | 0 | 25.70 | 84.60 | 17.50 | 38.60 | 39.70 | 7.40 | -0.7429 |
{
"home": {
"applied": true,
"offense_factor": 0.9913,
"raw_average_factor": 0.9913,
"team_espn_average_rank": 240.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "668885",
"player_name": "Austin Martin",
"offense_factor": 0.9965,
"quality_score": -0.0464,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668885",
"espn_id": 4297998,
"player_name": "Austin Martin",
"team": "MIN",
"role": "batter",
"espn_rank": 149,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 149,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 171.0,
"ab_rank": 160,
"r_value": 23.0,
"r_rank": 134,
"h_value": 44.0,
"h_rank": 136,
"avg_value": 0.2573099,
"avg_rank": 72.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 17.0,
"rbi_rank": 202,
"tb_value": 59.0,
"tb_rank": 1375,
"bb_value": 25.0,
"bb_rank": 62,
"so_value": 30.0,
"so_rank": 222,
"sb_value": 8.0,
"sb_rank": 41,
"obp_value": 0.36,
"obp_rank": "41",
"slg_value": 0.3450292,
"slg_rank": "141",
"ops_value": 0.7050292,
"ops_rank": 114.0,
"war_value": 0.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 173.0,
"k_percent": 15.0,
"bb_percent": 12.5,
"woba": 0.325,
"xwoba": 0.323,
"xba": 0.256,
"xslg": 0.348,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 28.9,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 11.6,
"whiff_percent": 19.1,
"swing_percent": 40.1
},
"components": {
"expected_quality": -0.0593,
"regression_edge": -0.0571,
"xwoba_edge": 0.5,
"xba_edge": 0.5429,
"xslg_edge": -0.4,
"barrel_edge": -0.9111,
"hard_hit_edge": -1.3714,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "621439",
"player_name": "Byron Buxton",
"offense_factor": 1.0349,
"quality_score": 0.4656,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "621439",
"espn_id": 32655,
"player_name": "Byron Buxton",
"team": "MIN",
"role": "batter",
"espn_rank": 47,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 47,
"gp_value": 53.0,
"gp_rank": 162,
"ab_value": 221.0,
"ab_rank": 56,
"r_value": 40.0,
"r_rank": 16,
"h_value": 56.0,
"h_rank": 66,
"avg_value": 0.2533936,
"avg_rank": 77.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 17.0,
"hr_rank": 4,
"rbi_value": 27.0,
"rbi_rank": 91,
"tb_value": 119.0,
"tb_rank": 262,
"bb_value": 17.0,
"bb_rank": 146,
"so_value": 64.0,
"so_rank": 31,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.3140495,
"obp_rank": "115",
"slg_value": 0.5384615,
"slg_rank": "8",
"ops_value": 0.852511,
"ops_rank": 30.0,
"war_value": 1.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 26.4,
"bb_percent": 7.0,
"woba": 0.366,
"xwoba": 0.323,
"xba": 0.227,
"xslg": 0.467,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 17.7,
"hard_hit_percent": 45.6,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 22.9,
"whiff_percent": 31.8,
"swing_percent": 53.3
},
"components": {
"expected_quality": 0.754,
"regression_edge": -1.2286,
"xwoba_edge": 0.5,
"xba_edge": -0.2857,
"xslg_edge": 1.3,
"barrel_edge": 2.4,
"hard_hit_edge": 1.0143,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "665019",
"player_name": "Kody Clemens",
"offense_factor": 1.0288,
"quality_score": 0.3843,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665019",
"espn_id": 41311,
"player_name": "Kody Clemens",
"team": "MIN",
"role": "batter",
"espn_rank": 172,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 172,
"gp_value": 50.0,
"gp_rank": 184,
"ab_value": 170.0,
"ab_rank": 162,
"r_value": 21.0,
"r_rank": 168,
"h_value": 39.0,
"h_rank": 174,
"avg_value": 0.2294117,
"avg_rank": 128.0,
"2b_value": 11.0,
"2b_rank": 61,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 18.0,
"rbi_rank": 194,
"tb_value": 72.0,
"tb_rank": 602,
"bb_value": 14.0,
"bb_rank": 190,
"so_value": 45.0,
"so_rank": 118,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.3068783,
"obp_rank": "127",
"slg_value": 0.4235294,
"slg_rank": "83",
"ops_value": 0.7304077,
"ops_rank": 96.0,
"war_value": 0.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 163.0,
"k_percent": 23.6,
"bb_percent": 7.3,
"woba": 0.323,
"xwoba": 0.322,
"xba": 0.234,
"xslg": 0.422,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 13.5,
"hard_hit_percent": 43.3,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 16.4,
"whiff_percent": 25.5,
"swing_percent": 48.3
},
"components": {
"expected_quality": 0.6078,
"regression_edge": -0.0286,
"xwoba_edge": 0.4714,
"xba_edge": -0.0857,
"xslg_edge": 0.6571,
"barrel_edge": 1.4667,
"hard_hit_edge": 0.6857,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": 0.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "686797",
"player_name": "Brooks Lee",
"offense_factor": 0.9448,
"quality_score": -0.7358,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "686797",
"espn_id": 4629081,
"player_name": "Brooks Lee",
"team": "MIN",
"role": "batter",
"espn_rank": 201,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 201,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 210.0,
"ab_rank": 90,
"r_value": 26.0,
"r_rank": 105,
"h_value": 53.0,
"h_rank": 81,
"avg_value": 0.2523809,
"avg_rank": 81.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 8.0,
"hr_rank": 65,
"rbi_value": 35.0,
"rbi_rank": 36,
"tb_value": 88.0,
"tb_rank": 495,
"bb_value": 15.0,
"bb_rank": 173,
"so_value": 42.0,
"so_rank": 138,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.3070175,
"obp_rank": "127",
"slg_value": 0.4190476,
"slg_rank": "85",
"ops_value": 0.7260651,
"ops_rank": 99.0,
"war_value": 0.45,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 207.0,
"k_percent": 18.3,
"bb_percent": 6.6,
"woba": 0.321,
"xwoba": 0.27,
"xba": 0.22,
"xslg": 0.332,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 30.6,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 12.0,
"whiff_percent": 21.9,
"swing_percent": 51.6
},
"components": {
"expected_quality": -0.6721,
"regression_edge": -1.4571,
"xwoba_edge": -1.0143,
"xba_edge": -0.4857,
"xslg_edge": -0.6286,
"barrel_edge": -0.3556,
"hard_hit_edge": -1.1286,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "663616",
"player_name": "Trevor Larnach",
"offense_factor": 0.9929,
"quality_score": -0.0949,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663616",
"espn_id": 41205,
"player_name": "Trevor Larnach",
"team": "MIN",
"role": "batter",
"espn_rank": 165,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 165,
"gp_value": 51.0,
"gp_rank": 177,
"ab_value": 154.0,
"ab_rank": 192,
"r_value": 27.0,
"r_rank": 92,
"h_value": 40.0,
"h_rank": 166,
"avg_value": 0.2597402,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 17.0,
"rbi_rank": 202,
"tb_value": 60.0,
"tb_rank": 1009,
"bb_value": 26.0,
"bb_rank": 55,
"so_value": 37.0,
"so_rank": 170,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.3736263,
"obp_rank": "-",
"slg_value": 0.3896103,
"slg_rank": "-",
"ops_value": 0.7632366,
"ops_rank": null,
"war_value": 0.64,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 152.0,
"k_percent": 20.3,
"bb_percent": 14.3,
"woba": 0.346,
"xwoba": 0.32,
"xba": 0.236,
"xslg": 0.35,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 29.9,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 11.6,
"whiff_percent": 28.3,
"swing_percent": 41.3
},
"components": {
"expected_quality": -0.0388,
"regression_edge": -0.7429,
"xwoba_edge": 0.4143,
"xba_edge": -0.0286,
"xslg_edge": -0.3714,
"barrel_edge": -0.2,
"hard_hit_edge": -1.2286,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "605170",
"player_name": "Victor Caratini",
"offense_factor": 1.0205,
"quality_score": 0.2735,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "605170",
"espn_id": 33229,
"player_name": "Victor Caratini",
"team": "MIN",
"role": "batter",
"espn_rank": 463,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 463,
"gp_value": 45.0,
"gp_rank": 217,
"ab_value": 141.0,
"ab_rank": 216,
"r_value": 9.0,
"r_rank": 324,
"h_value": 27.0,
"h_rank": 246,
"avg_value": 0.1914893,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 365,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 20.0,
"rbi_rank": 166,
"tb_value": 35.0,
"tb_rank": 1737,
"bb_value": 15.0,
"bb_rank": 173,
"so_value": 35.0,
"so_rank": 184,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.2882352,
"obp_rank": "-",
"slg_value": 0.2482269,
"slg_rank": "-",
"ops_value": 0.5364621,
"ops_rank": null,
"war_value": -0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 148.0,
"k_percent": 20.6,
"bb_percent": 8.8,
"woba": 0.253,
"xwoba": 0.325,
"xba": 0.244,
"xslg": 0.362,
"sweet_spot_percent": 39.8,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 37.2,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 11.9,
"whiff_percent": 21.4,
"swing_percent": 43.1
},
"components": {
"expected_quality": 0.1471,
"regression_edge": 2.0,
"xwoba_edge": 0.5571,
"xba_edge": 0.2,
"xslg_edge": -0.2,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.1857,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 1.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "807712",
"player_name": "Luke Keaschall",
"offense_factor": 0.9574,
"quality_score": -0.5684,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "807712",
"espn_id": 4977664,
"player_name": "Luke Keaschall",
"team": "MIN",
"role": "batter",
"espn_rank": 239,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 239,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 209.0,
"ab_rank": 95,
"r_value": 27.0,
"r_rank": 92,
"h_value": 52.0,
"h_rank": 91,
"avg_value": 0.2488038,
"avg_rank": 91.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 21.0,
"rbi_rank": 154,
"tb_value": 67.0,
"tb_rank": 1256,
"bb_value": 20.0,
"bb_rank": 108,
"so_value": 36.0,
"so_rank": 178,
"sb_value": 10.0,
"sb_rank": 20,
"obp_value": 0.3220338,
"obp_rank": "101",
"slg_value": 0.3205741,
"slg_rank": "162",
"ops_value": 0.6426079,
"ops_rank": 139.0,
"war_value": 0.24,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 205.0,
"k_percent": 15.3,
"bb_percent": 8.5,
"woba": 0.292,
"xwoba": 0.283,
"xba": 0.227,
"xslg": 0.327,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 28.4,
"exit_velocity_avg": 84.2,
"launch_angle_avg": 16.7,
"whiff_percent": 15.2,
"swing_percent": 41.9
},
"components": {
"expected_quality": -0.6674,
"regression_edge": -0.2571,
"xwoba_edge": -0.6429,
"xba_edge": -0.2857,
"xslg_edge": -0.7,
"barrel_edge": -0.8889,
"hard_hit_edge": -1.4429,
"exit_velocity_edge": -1.84,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "668952",
"player_name": "Ryan Kreidler",
"offense_factor": 1.0099,
"quality_score": 0.1327,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668952",
"espn_id": 42701,
"player_name": "Ryan Kreidler",
"team": "MIN",
"role": "batter",
"espn_rank": 258,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 258,
"gp_value": 22.0,
"gp_rank": 371,
"ab_value": 48.0,
"ab_rank": 393,
"r_value": 10.0,
"r_rank": 310,
"h_value": 12.0,
"h_rank": 372,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 365,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 9.0,
"rbi_rank": 306,
"tb_value": 23.0,
"tb_rank": 1695,
"bb_value": 6.0,
"bb_rank": 322,
"so_value": 14.0,
"so_rank": 381,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3454545,
"obp_rank": "-",
"slg_value": 0.4791666,
"slg_rank": "-",
"ops_value": 0.8246211,
"ops_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 48.0,
"k_percent": 25.5,
"bb_percent": 10.9,
"woba": 0.364,
"xwoba": 0.339,
"xba": 0.235,
"xslg": 0.438,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 32.4,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 13.0,
"whiff_percent": 29.8,
"swing_percent": 52.8
},
"components": {
"expected_quality": 0.4591,
"regression_edge": -0.7143,
"xwoba_edge": 0.9571,
"xba_edge": -0.0571,
"xslg_edge": 0.8857,
"barrel_edge": 0.4222,
"hard_hit_edge": -0.8714,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "681546",
"player_name": "James Outman",
"offense_factor": 0.9361,
"quality_score": -0.8516,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681546",
"espn_id": 41802,
"player_name": "James Outman",
"team": "MIN",
"role": "batter",
"espn_rank": 470,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 470,
"gp_value": 48.0,
"gp_rank": 200,
"ab_value": 62.0,
"ab_rank": 369,
"r_value": 9.0,
"r_rank": 324,
"h_value": 10.0,
"h_rank": 385,
"avg_value": 0.1612903,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 267,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 3.0,
"rbi_rank": 422,
"tb_value": 16.0,
"tb_rank": 1985,
"bb_value": 5.0,
"bb_rank": 351,
"so_value": 27.0,
"so_rank": 255,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.2352941,
"obp_rank": "-",
"slg_value": 0.2580645,
"slg_rank": "-",
"ops_value": 0.4933586,
"ops_rank": null,
"war_value": -0.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 62.0,
"k_percent": 39.7,
"bb_percent": 7.4,
"woba": 0.227,
"xwoba": 0.201,
"xba": 0.152,
"xslg": 0.201,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 25.7,
"exit_velocity_avg": 84.6,
"launch_angle_avg": 17.5,
"whiff_percent": 38.6,
"swing_percent": 54.8
},
"components": {
"expected_quality": -2.0795,
"regression_edge": -0.7429,
"xwoba_edge": -2.5,
"xba_edge": -2.4286,
"xslg_edge": -2.5,
"barrel_edge": -1.5333,
"hard_hit_edge": -1.8286,
"exit_velocity_edge": -1.68,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.015,
"raw_average_factor": 1.015,
"team_espn_average_rank": 278.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "686469",
"player_name": "Vinnie Pasquantino",
"offense_factor": 1.0188,
"quality_score": 0.2505,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686469",
"espn_id": 4109109,
"player_name": "Vinnie Pasquantino",
"team": "KC",
"role": "batter",
"espn_rank": 259,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 259,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 220.0,
"ab_rank": 58,
"r_value": 22.0,
"r_rank": 150,
"h_value": 47.0,
"h_rank": 118,
"avg_value": 0.2136363,
"avg_rank": 149.0,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 28.0,
"rbi_rank": 80,
"tb_value": 76.0,
"tb_rank": 662,
"bb_value": 29.0,
"bb_rank": 40,
"so_value": 46.0,
"so_rank": 112,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.3031496,
"obp_rank": "132",
"slg_value": 0.3454545,
"slg_rank": "141",
"ops_value": 0.6486041,
"ops_rank": 137.0,
"war_value": 0.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 18.1,
"bb_percent": 11.4,
"woba": 0.29,
"xwoba": 0.314,
"xba": 0.239,
"xslg": 0.39,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 35.4,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 20.2,
"whiff_percent": 16.6,
"swing_percent": 45.7
},
"components": {
"expected_quality": 0.1797,
"regression_edge": 0.6857,
"xwoba_edge": 0.2429,
"xba_edge": 0.0571,
"xslg_edge": 0.2,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.4429,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.45,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "521692",
"player_name": "Salvador Perez",
"offense_factor": 1.0049,
"quality_score": 0.0654,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "521692",
"espn_id": 31127,
"player_name": "Salvador Perez",
"team": "KC",
"role": "batter",
"espn_rank": 457,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 457,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 227.0,
"ab_rank": 37,
"r_value": 22.0,
"r_rank": 150,
"h_value": 47.0,
"h_rank": 118,
"avg_value": 0.2070484,
"avg_rank": 156.0,
"2b_value": 6.0,
"2b_rank": 205,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 9.0,
"hr_rank": 53,
"rbi_value": 25.0,
"rbi_rank": 115,
"tb_value": 80.0,
"tb_rank": 816,
"bb_value": 12.0,
"bb_rank": 221,
"so_value": 49.0,
"so_rank": 89,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.2591093,
"obp_rank": "171",
"slg_value": 0.3524229,
"slg_rank": "135",
"ops_value": 0.6115322,
"ops_rank": 158.0,
"war_value": -0.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 218.0,
"k_percent": 19.8,
"bb_percent": 4.9,
"woba": 0.27,
"xwoba": 0.294,
"xba": 0.226,
"xslg": 0.397,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 16.8,
"whiff_percent": 26.9,
"swing_percent": 57.1
},
"components": {
"expected_quality": -0.0349,
"regression_edge": 0.6857,
"xwoba_edge": -0.3286,
"xba_edge": -0.3143,
"xslg_edge": 0.3,
"barrel_edge": 0.4222,
"hard_hit_edge": 0.3429,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"offense_factor": 1.1417,
"quality_score": 1.89,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677951",
"espn_id": 42403,
"player_name": "Bobby Witt Jr.",
"team": "KC",
"role": "batter",
"espn_rank": 2,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 2,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 244.0,
"ab_rank": 8,
"r_value": 31.0,
"r_rank": 58,
"h_value": 69.0,
"h_rank": 7,
"avg_value": 0.2827868,
"avg_rank": 36.0,
"2b_value": 16.0,
"2b_rank": 8,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 9.0,
"hr_rank": 53,
"rbi_value": 26.0,
"rbi_rank": 102,
"tb_value": 114.0,
"tb_rank": 266,
"bb_value": 28.0,
"bb_rank": 43,
"so_value": 48.0,
"so_rank": 96,
"sb_value": 20.0,
"sb_rank": 3,
"obp_value": 0.3563636,
"obp_rank": "45",
"slg_value": 0.4672131,
"slg_rank": "46",
"ops_value": 0.8235767,
"ops_rank": 45.0,
"war_value": 3.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 17.5,
"bb_percent": 10.2,
"woba": 0.359,
"xwoba": 0.395,
"xba": 0.311,
"xslg": 0.535,
"sweet_spot_percent": 39.4,
"barrel_batted_rate": 13.4,
"hard_hit_percent": 53.0,
"exit_velocity_avg": 93.5,
"launch_angle_avg": 16.8,
"whiff_percent": 25.3,
"swing_percent": 48.4
},
"components": {
"expected_quality": 2.0302,
"regression_edge": 1.0286,
"xwoba_edge": 2.5,
"xba_edge": 2.1143,
"xslg_edge": 2.2714,
"barrel_edge": 1.4444,
"hard_hit_edge": 2.0714,
"exit_velocity_edge": 1.88,
"sweet_spot_edge": 1.0167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "695600",
"player_name": "Carter Jensen",
"offense_factor": 0.9597,
"quality_score": -0.537,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695600",
"espn_id": 4917812,
"player_name": "Carter Jensen",
"team": "KC",
"role": "batter",
"espn_rank": 286,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 286,
"gp_value": 57.0,
"gp_rank": 108,
"ab_value": 181.0,
"ab_rank": 143,
"r_value": 23.0,
"r_rank": 134,
"h_value": 39.0,
"h_rank": 174,
"avg_value": 0.2154696,
"avg_rank": 147.0,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 26.0,
"rbi_rank": 102,
"tb_value": 68.0,
"tb_rank": 896,
"bb_value": 21.0,
"bb_rank": 96,
"so_value": 62.0,
"so_rank": 34,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.2961165,
"obp_rank": "135",
"slg_value": 0.3756906,
"slg_rank": "123",
"ops_value": 0.6718071,
"ops_rank": 131.0,
"war_value": 0.11,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 30.1,
"bb_percent": 10.2,
"woba": 0.298,
"xwoba": 0.269,
"xba": 0.186,
"xslg": 0.323,
"sweet_spot_percent": 27.9,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 40.2,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 22.3,
"whiff_percent": 32.7,
"swing_percent": 44.2
},
"components": {
"expected_quality": -0.6117,
"regression_edge": -0.8286,
"xwoba_edge": -1.0429,
"xba_edge": -1.4571,
"xslg_edge": -0.7571,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.2429,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.9,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "695506",
"player_name": "Jac Caglianone",
"offense_factor": 1.0637,
"quality_score": 0.8495,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695506",
"espn_id": 4926296,
"player_name": "Jac Caglianone",
"team": "KC",
"role": "batter",
"espn_rank": 153,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 153,
"gp_value": 57.0,
"gp_rank": 108,
"ab_value": 189.0,
"ab_rank": 130,
"r_value": 20.0,
"r_rank": 179,
"h_value": 46.0,
"h_rank": 128,
"avg_value": 0.2433862,
"avg_rank": 100.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 14.0,
"rbi_rank": 240,
"tb_value": 75.0,
"tb_rank": 692,
"bb_value": 17.0,
"bb_rank": 146,
"so_value": 64.0,
"so_rank": 31,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.3157894,
"obp_rank": "109",
"slg_value": 0.3968253,
"slg_rank": "106",
"ops_value": 0.7126147,
"ops_rank": 108.0,
"war_value": 0.72,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 178.0,
"k_percent": 30.6,
"bb_percent": 8.1,
"woba": 0.319,
"xwoba": 0.34,
"xba": 0.257,
"xslg": 0.451,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 58.4,
"exit_velocity_avg": 93.4,
"launch_angle_avg": 7.8,
"whiff_percent": 33.3,
"swing_percent": 47.3
},
"components": {
"expected_quality": 1.1232,
"regression_edge": 0.6,
"xwoba_edge": 0.9857,
"xba_edge": 0.5714,
"xslg_edge": 1.0714,
"barrel_edge": 1.8444,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.84,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "686555",
"player_name": "Isaac Collins",
"offense_factor": 0.986,
"quality_score": -0.1863,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686555",
"espn_id": 42959,
"player_name": "Isaac Collins",
"team": "KC",
"role": "batter",
"espn_rank": 492,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 492,
"gp_value": 53.0,
"gp_rank": 162,
"ab_value": 165.0,
"ab_rank": 172,
"r_value": 21.0,
"r_rank": 168,
"h_value": 35.0,
"h_rank": 193,
"avg_value": 0.2121212,
"avg_rank": 152.0,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 16.0,
"rbi_rank": 218,
"tb_value": 51.0,
"tb_rank": 1328,
"bb_value": 25.0,
"bb_rank": 62,
"so_value": 55.0,
"so_rank": 68,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.3265306,
"obp_rank": "89",
"slg_value": 0.3090909,
"slg_rank": "165",
"ops_value": 0.6356215,
"ops_rank": 145.0,
"war_value": -0.44,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 27.9,
"bb_percent": 12.7,
"woba": 0.296,
"xwoba": 0.296,
"xba": 0.214,
"xslg": 0.302,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 40.7,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 19.3,
"whiff_percent": 27.8,
"swing_percent": 38.8
},
"components": {
"expected_quality": -0.2707,
"regression_edge": 0.0,
"xwoba_edge": -0.2714,
"xba_edge": -0.6571,
"xslg_edge": -1.0571,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.3143,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "686681",
"player_name": "Michael Massey",
"offense_factor": 0.993,
"quality_score": -0.0934,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "686681",
"espn_id": 4109223,
"player_name": "Michael Massey",
"team": "KC",
"role": "batter",
"espn_rank": 203,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 203,
"gp_value": 46.0,
"gp_rank": 212,
"ab_value": 124.0,
"ab_rank": 235,
"r_value": 15.0,
"r_rank": 236,
"h_value": 32.0,
"h_rank": 219,
"avg_value": 0.2580645,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 19.0,
"rbi_rank": 184,
"tb_value": 56.0,
"tb_rank": 1095,
"bb_value": 5.0,
"bb_rank": 351,
"so_value": 27.0,
"so_rank": 255,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.280303,
"obp_rank": "-",
"slg_value": 0.4516129,
"slg_rank": "-",
"ops_value": 0.7319159,
"ops_rank": null,
"war_value": 0.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 20.3,
"bb_percent": 3.8,
"woba": 0.314,
"xwoba": 0.283,
"xba": 0.214,
"xslg": 0.411,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 41.6,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 17.0,
"whiff_percent": 23.2,
"swing_percent": 51.8
},
"components": {
"expected_quality": -0.0672,
"regression_edge": -0.8857,
"xwoba_edge": -0.6429,
"xba_edge": -0.6571,
"xslg_edge": 0.5,
"barrel_edge": 0.6667,
"hard_hit_edge": 0.4429,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": -0.6,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "679845",
"player_name": "Nick Loftin",
"offense_factor": 0.9958,
"quality_score": -0.0566,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679845",
"espn_id": 4314013,
"player_name": "Nick Loftin",
"team": "KC",
"role": "batter",
"espn_rank": 422,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 422,
"gp_value": 30.0,
"gp_rank": 332,
"ab_value": 78.0,
"ab_rank": 338,
"r_value": 13.0,
"r_rank": 268,
"h_value": 17.0,
"h_rank": 330,
"avg_value": 0.2179487,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 16.0,
"rbi_rank": 218,
"tb_value": 27.0,
"tb_rank": 1822,
"bb_value": 11.0,
"bb_rank": 238,
"so_value": 12.0,
"so_rank": 395,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3263157,
"obp_rank": "-",
"slg_value": 0.3461538,
"slg_rank": "-",
"ops_value": 0.6724695,
"ops_rank": null,
"war_value": -0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 66.0,
"k_percent": 12.5,
"bb_percent": 11.5,
"woba": 0.305,
"xwoba": 0.31,
"xba": 0.229,
"xslg": 0.336,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 32.9,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 15.7,
"whiff_percent": 12.3,
"swing_percent": 38.2
},
"components": {
"expected_quality": -0.1696,
"regression_edge": 0.1429,
"xwoba_edge": 0.1286,
"xba_edge": -0.2286,
"xslg_edge": -0.5714,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.8,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "664728",
"player_name": "Kyle Isbel",
"offense_factor": 0.971,
"quality_score": -0.3861,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664728",
"espn_id": 41263,
"player_name": "Kyle Isbel",
"team": "KC",
"role": "batter",
"espn_rank": 236,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 236,
"gp_value": 52.0,
"gp_rank": 169,
"ab_value": 151.0,
"ab_rank": 197,
"r_value": 15.0,
"r_rank": 236,
"h_value": 36.0,
"h_rank": 185,
"avg_value": 0.2384105,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 11.0,
"rbi_rank": 280,
"tb_value": 54.0,
"tb_rank": 1092,
"bb_value": 8.0,
"bb_rank": 286,
"so_value": 38.0,
"so_rank": 162,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.2883435,
"obp_rank": "-",
"slg_value": 0.3576158,
"slg_rank": "-",
"ops_value": 0.6459593,
"ops_rank": null,
"war_value": 0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 145.0,
"k_percent": 22.8,
"bb_percent": 4.8,
"woba": 0.288,
"xwoba": 0.275,
"xba": 0.237,
"xslg": 0.33,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 33.1,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 14.1,
"whiff_percent": 20.0,
"swing_percent": 48.1
},
"components": {
"expected_quality": -0.6208,
"regression_edge": -0.3714,
"xwoba_edge": -0.8714,
"xba_edge": 0.0,
"xslg_edge": -0.6571,
"barrel_edge": -0.7778,
"hard_hit_edge": -0.7714,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": -0.3167,
"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 KC | True | 53 | -0.6152 | 1 | 1.0523 | 0.9400 | 0.9700 | 1.0988 | neutral | 0.3480 | 0.3210 | 20.10 | 7.70 | 17.70 | 10.20 | 41.40 | |
| Home MIN | True | 314 | 0.1789 | 0.4500 | 0.9848 | 0.9882 | 0.9910 | 0.9366 | positive_pitcher_regression | 0.2880 | 0.3300 | 20 | 8.20 | 23.70 | 2.60 | 32.10 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away KC | True | None | 95 | 85.68 | 2493 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2251 | |
| Home MIN | True | None | 21 | 91.25 | 2083 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0870 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9932 |
| home_runs_vs_away_pitcher | 1.0523 |
| home_pitcher_quality_edge | 0.7941 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "702193",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 20.0,
"bb_percent": 8.2,
"woba": 0.33,
"xwoba": 0.288,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 32.1,
"avg_best_speed": 74.8015,
"avg_hyper_speed": 92.6304,
"whiff_percent": 23.7,
"swing_percent": 49.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5835,
"command_and_miss": -0.2157,
"regression_edge": 1.2,
"xwoba_edge": 0.7714,
"barrel_edge": 1.0222,
"hard_hit_edge": 0.9,
"whiff_edge": -0.3,
"bb_edge": 0.25,
"pitch_design_score": 0.087
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "702193",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 91.25441707079453,
"release_spin_rate": 2082.799748804589,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 91.25441707079453,
"release_spin_rate": 2082.799748804589,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.2544,
"release_spin_rate": 2082.7997,
"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.087,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6216,
"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.1789,
"sample_weight": 0.45,
"run_prevention_factor": 0.9848,
"strikeout_factor": 0.9882,
"walk_factor": 0.991,
"homer_factor": 0.9366,
"woba_minus_xwoba": 0.042,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "702193",
"espn_id": 5007765,
"player_name": "Andrew Morris",
"team": "MIN",
"role": "pitcher",
"espn_rank": 314,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 314,
"gp_value": 17.0,
"gp_rank": 181,
"gs_value": 1.0,
"gs_rank": 224,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.0684,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 7.0,
"hld_rank": 36,
"ip_value": 24.1,
"ip_rank": 269,
"h_value": 28.0,
"h_rank": 176,
"er_value": 11.0,
"er_rank": 242,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 22.0,
"k_rank": 287,
"k_per_9_value": 8.136987,
"k_per_9_rank": 28,
"whip_value": 1.5205,
"whip_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "607625",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 272.0,
"k_percent": 20.1,
"bb_percent": 7.7,
"woba": 0.321,
"xwoba": 0.348,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 41.4,
"avg_best_speed": 79.8248,
"avg_hyper_speed": 94.5128,
"whiff_percent": 17.7,
"swing_percent": 47.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.7038,
"command_and_miss": -0.4843,
"regression_edge": -0.7714,
"xwoba_edge": -0.9429,
"barrel_edge": -0.6667,
"hard_hit_edge": -0.4286,
"whiff_edge": -1.1571,
"bb_edge": 0.375,
"pitch_design_score": -0.2251
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607625",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"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": 85.6808,
"release_spin_rate": 2492.7299,
"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.2251,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.6078,
"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.6152,
"sample_weight": 1.0,
"run_prevention_factor": 1.0523,
"strikeout_factor": 0.94,
"walk_factor": 0.97,
"homer_factor": 1.0988,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607625",
"espn_id": 34873,
"player_name": "Seth Lugo",
"team": "KC",
"role": "pitcher",
"espn_rank": 53,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 53,
"gp_value": 12.0,
"gp_rank": 254,
"gs_value": 12.0,
"gs_rank": 23,
"qs_value": 8.0,
"qs_rank": 6,
"era_value": 3.5492,
"era_rank": 36.0,
"w_value": 2.0,
"w_rank": 149,
"l_value": 4.0,
"l_rank": 40,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 71.0,
"ip_rank": 18,
"h_value": 73.0,
"h_rank": 7,
"er_value": 28.0,
"er_rank": 61,
"hr_value": 4.0,
"hr_rank": 158,
"bb_value": 23.0,
"bb_rank": 42,
"k_value": 60.0,
"k_rank": 50,
"k_per_9_value": 7.6056337,
"k_per_9_rank": 75,
"whip_value": 1.3521,
"whip_rank": 60.0,
"war_value": 1.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9932,
"home_runs_vs_away_pitcher": 1.0523,
"home_pitcher_quality_edge": 0.7941
},
"score_before": {
"away_runs": 2.3077,
"home_runs": 1.8933
},
"score_after": {
"away_runs": 2.2919,
"home_runs": 1.9923,
"home_win_probability": 0.4888
},
"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 KC | 9-48 | 0.158 | 0.90 | 3.90 | -172 | cold | average | |
| Home MIN | 15-42 | 0.263 | 1.30 | 3.80 | -142 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away KC | 24-38 | 0.387 | -50 | -0.806 | True |
| Home MIN | 29-34 | 0.460 | -24 | -0.381 | True |
| Signal | - | - | 0.425 | 0.535 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target KC | - | - | 3 | - | - | - | - |
| Game target MIN | - | - | 2 | - | - | - | - |
| Player finalized KC | 54 | 11 | 8 | 0 | 6 | 6 | 13 |
| Player finalized MIN | 57 | 12 | 7 | 0 | 7 | 6 | 13 |
| Player model fractional KC | 54.57 | 11.65 | 6.34 | 1.54 | 5.80 | 5.64 | 13.77 |
| Player model fractional MIN | 56.21 | 12.22 | 7.75 | 1.54 | 6.40 | 5.41 | 14.24 |
| Simulation box KC | 34 | 7 | 3 | 1 | 3 | 2 | 6 |
| Simulation box MIN | 32 | 5 | 0 | 0 | 0 | 2 | 8 |
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 KC | Starter | Seth Lugo | 5.20 | 0 | 5 | 3 | 1 | 4.32 | 1.42 | True |
| Away KC | Middle Reliever | Daniel Lynch IV | 1.10 | 0 | 0 | 1 | 1 | 3.17 | 1.44 | True |
| Away KC | Middle Reliever | Lucas Erceg | 1 | 0 | 1 | 0 | 0 | 6.11 | 1.77 | True |
| Away KC | Middle Reliever | Matt Strahm | 1 | 0 | 2 | 1 | 0 | 4.64 | 1.33 | True |
| Home MIN | Starter | Andrew Morris | 4 | 2 | 5 | 3 | 2 | 3.43 | 1.44 | True |
| Home MIN | Middle Reliever | Eric Orze | 1.20 | 1 | 0 | 2 | 0 | 3.97 | 1.37 | True |
| Home MIN | Middle Reliever | Yoendrys Gómez | 1.10 | 0 | 0 | 1 | 0 | 2.57 | 1.12 | True |
| Home MIN | Middle Reliever | Taylor Rogers | 2 | 0 | 1 | 1 | 0 | 4.00 | 1.38 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | MIN | batter | SS | Ryan Kreidler | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.9020 | boost | worse |
| home | MIN | batter | DH | Byron Buxton | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | -1.8100 | deboost | worse |
| away | KC | batter | CF | Kyle Isbel | worse | 11 | 6 | 5 | 5 | 6 | predicted_RBI | 1.7400 | boost | better |
| away | KC | batter | SS | Bobby Witt Jr. | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -1.4700 | deboost | worse |
| home | MIN | pitcher | Middle Reliever | Taylor Rogers | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.3333 | boost | better |
| away | KC | batter | C | Carter Jensen | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | 1.2900 | boost | better |
| away | KC | batter | DH | Salvador Perez | worse | 11 | 1 | 10 | 0 | 11 | predicted_SO | 1.1890 | boost | worse |
| away | KC | batter | 1B | Vinnie Pasquantino | boosted | 12 | 7 | 5 | 6 | 6 | predicted_AB | -1.1000 | deboost | worse |
| away | KC | batter | LF | Isaac Collins | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.0820 | deboost | better |
| away | KC | batter | 3B | Nick Loftin | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | 1.0400 | boost | better |
| home | MIN | batter | 3B | Brooks Lee | better | 11 | 5 | 6 | 6 | 5 | predicted_AB | -1.0300 | deboost | worse |
| home | MIN | pitcher | Starter | Andrew Morris | worse | 2 | 1 | 1 | 0 | 2 | predicted_H | 1.0000 | boost | worse |
| home | MIN | pitcher | Middle Reliever | Yoendrys Gómez | better | 2 | 1 | 1 | 2 | 0 | predicted_H | -1.0000 | deboost | better |
| home | MIN | batter | 1B | Kody Clemens | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.9360 | deboost | better |
| home | MIN | batter | CF | James Outman | worse | 9 | 1 | 8 | 2 | 7 | predicted_H | 0.8500 | boost | better |
| home | MIN | batter | C | Victor Caratini | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -0.7970 | deboost | better |
| home | MIN | batter | RF | Austin Martin | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -0.7500 | deboost | worse |
| away | KC | batter | 2B | Michael Massey | worse | 11 | 3 | 8 | 2 | 9 | predicted_2B | 0.7480 | boost | better |
| home | MIN | batter | LF | Trevor Larnach | worse | 9 | 3 | 6 | 2 | 7 | predicted_H | 0.7000 | boost | better |
| away | KC | batter | RF | Jac Caglianone | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 0.5030 | boost | better |
| home | MIN | batter | 2B | Luke Keaschall | worse | 10 | 5 | 5 | 4 | 6 | predicted_R | -0.4930 | deboost | worse |
| away | KC | pitcher | Starter | Seth Lugo | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | MIN | pitcher | Middle Reliever | Eric Orze | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.1333 | deboost | worse |
| away | KC | pitcher | Middle Reliever | Daniel Lynch IV | 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 | Seth Lugo |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.6152 |
| ESPN Rank | 53 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2251 |
| Avg Velo | 85.6808 |
| Avg Spin | 2492.7299 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 0 |
| Pre H | 3 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 3.5493 |
| Season WHIP | 1.3521 |
| Role Avg IP | 5.9170 |
| Recent Avg IP | 5.4670 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 70,
"wins": 25,
"losses": 45,
"win_pct": 0.3571,
"runs_scored": 260.0,
"runs_allowed": 327.0,
"run_differential": -67.0,
"run_differential_per_game": -0.9571,
"avg_runs_scored": 3.7143,
"avg_runs_allowed": 4.6714,
"offense_index": 0.8322,
"defense_index": 0.9554,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.2,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.3094
},
"opponent": {
"team": "MIN",
"games": 69,
"wins": 32,
"losses": 37,
"win_pct": 0.4638,
"runs_scored": 326.0,
"runs_allowed": 338.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1739,
"avg_runs_scored": 4.7246,
"avg_runs_allowed": 4.8986,
"offense_index": 1.0586,
"defense_index": 0.9111,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 7.0,
"run_differential": -28.0
},
"available": true,
"quality_score": -0.1222
},
"edges": {
"quality_edge": -0.1872,
"offense_edge": -0.1678,
"opponent_offense_edge": 0.0586,
"defense_strength": -0.0446,
"opponent_defense_weakness": 0.0889,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9888,
"run_prevention": 1.0232,
"strikeout": 0.9897
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607625",
"profile": {
"available": true,
"pitcher_id": "607625",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 272.0,
"k_percent": 20.1,
"bb_percent": 7.7,
"woba": 0.321,
"xwoba": 0.348,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 41.4,
"avg_best_speed": 79.8248,
"avg_hyper_speed": 94.5128,
"whiff_percent": 17.7,
"swing_percent": 47.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.7038,
"command_and_miss": -0.4843,
"regression_edge": -0.7714,
"xwoba_edge": -0.9429,
"barrel_edge": -0.6667,
"hard_hit_edge": -0.4286,
"whiff_edge": -1.1571,
"bb_edge": 0.375,
"pitch_design_score": -0.2251
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607625",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"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": 85.6808,
"release_spin_rate": 2492.7299,
"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.2251,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.6078,
"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.6152,
"sample_weight": 1.0,
"run_prevention_factor": 1.0523,
"strikeout_factor": 0.94,
"walk_factor": 0.97,
"homer_factor": 1.0988,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607625",
"espn_id": 34873,
"player_name": "Seth Lugo",
"team": "KC",
"role": "pitcher",
"espn_rank": 53,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 53,
"gp_value": 12.0,
"gp_rank": 254,
"gs_value": 12.0,
"gs_rank": 23,
"qs_value": 8.0,
"qs_rank": 6,
"era_value": 3.5492,
"era_rank": 36.0,
"w_value": 2.0,
"w_rank": 149,
"l_value": 4.0,
"l_rank": 40,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 71.0,
"ip_rank": 18,
"h_value": 73.0,
"h_rank": 7,
"er_value": 28.0,
"er_rank": 61,
"hr_value": 4.0,
"hr_rank": 158,
"bb_value": 23.0,
"bb_rank": 42,
"k_value": 60.0,
"k_rank": 50,
"k_per_9_value": 7.6056337,
"k_per_9_rank": 75,
"whip_value": 1.3521,
"whip_rank": 60.0,
"war_value": 1.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0523,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0523,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.97,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0988,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.94,
"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": 59.2,
"ER": 26,
"H": 64,
"BB": 21,
"SO": 50,
"HR": 4,
"ERA": 3.921787709497207,
"WHIP": 1.4245810055865922,
"K9": 7.5418994413407825,
"HR9": 0.6033519553072626,
"games_pitched": 10,
"quality_starts": 7,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "607625",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"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": 85.6808,
"release_spin_rate": 2492.7299,
"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.2251,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.6078,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"role": "pitcher",
"player_id": "607625",
"report_date": "20260604_K",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.1,
"ER": 15.0,
"R": 17.0,
"H": 32.0,
"BB": 10.0,
"SO": 23.0,
"HR": 3.0,
"BF": 125.0,
"Pitches": 463.0
},
"per_game": {
"IP": 5.1,
"ER": 3.0,
"R": 3.4,
"H": 6.4,
"BB": 2.0,
"SO": 4.6,
"HR": 0.6,
"BF": 25.0,
"Pitches": 92.6
},
"rates": {
"ERA": 4.939,
"WHIP": 1.5366,
"ER_per_IP": 0.54878,
"H_per_IP": 1.17073,
"BB_per_IP": 0.36585,
"SO_per_IP": 0.84146,
"HR_per_IP": 0.10976
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.2,
"ER": 26.0,
"R": 29.0,
"H": 64.0,
"BB": 21.0,
"SO": 50.0,
"HR": 4.0,
"BF": 254.0,
"Pitches": 940.0
},
"per_game": {
"IP": 6.0,
"ER": 2.6,
"R": 2.9,
"H": 6.4,
"BB": 2.1,
"SO": 5.0,
"HR": 0.4,
"BF": 25.4,
"Pitches": 94.0
},
"rates": {
"ERA": 3.9218,
"WHIP": 1.4246,
"ER_per_IP": 0.43575,
"H_per_IP": 1.07263,
"BB_per_IP": 0.35196,
"SO_per_IP": 0.83799,
"HR_per_IP": 0.06704
}
},
"season": {
"games": 12,
"totals": {
"IP": 71.0,
"ER": 28.0,
"R": 31.0,
"H": 73.0,
"BB": 23.0,
"SO": 60.0,
"HR": 4.0,
"BF": 299.0,
"Pitches": 1120.0
},
"per_game": {
"IP": 6.0,
"ER": 2.3333,
"R": 2.5833,
"H": 6.0833,
"BB": 1.9167,
"SO": 5.0,
"HR": 0.3333,
"BF": 24.9167,
"Pitches": 93.3333
},
"rates": {
"ERA": 3.5493,
"WHIP": 1.3521,
"ER_per_IP": 0.39437,
"H_per_IP": 1.02817,
"BB_per_IP": 0.32394,
"SO_per_IP": 0.84507,
"HR_per_IP": 0.05634
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.729,
"predicted_H": 6.05,
"predicted_BB": 2.03,
"predicted_SO": 4.953,
"predicted_HR": 0.567,
"predicted_ERA": 4.3161,
"predicted_WHIP": 1.42
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7059,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.729,
"final": 1.4348,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 6.05,
"final": 4.6035,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 2.03,
"final": 1.5415,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.953,
"final": 4.9753,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.567,
"final": 0.2981,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3161,
"final": 4.3161,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.42,
"final": 1.42,
"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 | Daniel Lynch IV |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3224 |
| ESPN Rank | 121 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0064 |
| Avg Velo | 89.5863 |
| Avg Spin | 2118.0215 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 1.8493 |
| Season WHIP | 0.9863 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 70,
"wins": 25,
"losses": 45,
"win_pct": 0.3571,
"runs_scored": 260.0,
"runs_allowed": 327.0,
"run_differential": -67.0,
"run_differential_per_game": -0.9571,
"avg_runs_scored": 3.7143,
"avg_runs_allowed": 4.6714,
"offense_index": 0.8322,
"defense_index": 0.9554,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.2,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.3094
},
"opponent": {
"team": "MIN",
"games": 69,
"wins": 32,
"losses": 37,
"win_pct": 0.4638,
"runs_scored": 326.0,
"runs_allowed": 338.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1739,
"avg_runs_scored": 4.7246,
"avg_runs_allowed": 4.8986,
"offense_index": 1.0586,
"defense_index": 0.9111,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 7.0,
"run_differential": -28.0
},
"available": true,
"quality_score": -0.1222
},
"edges": {
"quality_edge": -0.1872,
"offense_edge": -0.1678,
"opponent_offense_edge": 0.0586,
"defense_strength": -0.0446,
"opponent_defense_weakness": 0.0889,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9888,
"run_prevention": 1.0232,
"strikeout": 0.9897
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663738",
"profile": {
"available": true,
"pitcher_id": "663738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 28.0,
"bb_percent": 8.0,
"woba": 0.253,
"xwoba": 0.269,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 33.9,
"avg_best_speed": 73.3635,
"avg_hyper_speed": 93.6482,
"whiff_percent": 34.1,
"swing_percent": 47.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.9774,
"command_and_miss": 0.8286,
"regression_edge": -0.4571,
"xwoba_edge": 1.3143,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.6429,
"whiff_edge": 1.1857,
"bb_edge": 0.3,
"pitch_design_score": -0.0064
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663738",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 89.58626979018295,
"release_spin_rate": 2118.0215064986496,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 89.58626979018295,
"release_spin_rate": 2118.0215064986496,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5863,
"release_spin_rate": 2118.0215,
"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.0064,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0456,
"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.3224,
"sample_weight": 0.45,
"run_prevention_factor": 0.9726,
"strikeout_factor": 1.0355,
"walk_factor": 0.9892,
"homer_factor": 0.9651,
"woba_minus_xwoba": -0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663738",
"espn_id": 41227,
"player_name": "Daniel Lynch IV",
"team": "KC",
"role": "pitcher",
"espn_rank": 121,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 121,
"gp_value": 24.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 1.8493,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 7.0,
"hld_rank": 36,
"ip_value": 24.1,
"ip_rank": 269,
"h_value": 16.0,
"h_rank": 342,
"er_value": 5.0,
"er_rank": 444,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 8.0,
"bb_rank": 312,
"k_value": 28.0,
"k_rank": 209,
"k_per_9_value": 10.356165,
"k_per_9_rank": 20,
"whip_value": 0.9863,
"whip_rank": null,
"war_value": 0.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9877,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9877,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9843,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.016,
"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": 2,
"H": 11,
"BB": 4,
"SO": 10,
"HR": 0,
"ERA": 1.8620689655172415,
"WHIP": 1.5517241379310345,
"K9": 9.310344827586208,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "663738",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 89.58626979018295,
"release_spin_rate": 2118.0215064986496,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 89.58626979018295,
"release_spin_rate": 2118.0215064986496,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5863,
"release_spin_rate": 2118.0215,
"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.0064,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0456,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.803,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"role": "pitcher",
"player_id": "663738",
"report_date": "20260604_K",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.2,
"BB": 0.4,
"SO": 0.4,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.0
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.8462,
"ER_per_IP": 0.23077,
"H_per_IP": 1.38462,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.46154,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 2.0,
"H": 11.0,
"BB": 4.0,
"SO": 10.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 173.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.1,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.5,
"Pitches": 17.3
},
"rates": {
"ERA": 1.8621,
"WHIP": 1.5517,
"ER_per_IP": 0.2069,
"H_per_IP": 1.13793,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.03448,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 24.1,
"ER": 5.0,
"R": 8.0,
"H": 16.0,
"BB": 8.0,
"SO": 28.0,
"HR": 1.0,
"BF": 100.0,
"Pitches": 384.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2083,
"R": 0.3333,
"H": 0.6667,
"BB": 0.3333,
"SO": 1.1667,
"HR": 0.0417,
"BF": 4.1667,
"Pitches": 16.0
},
"rates": {
"ERA": 1.8493,
"WHIP": 0.9863,
"ER_per_IP": 0.20548,
"H_per_IP": 0.65753,
"BB_per_IP": 0.32877,
"SO_per_IP": 1.15068,
"HR_per_IP": 0.0411
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.353,
"predicted_H": 1.052,
"predicted_BB": 0.392,
"predicted_SO": 0.872,
"predicted_HR": 0.074,
"predicted_ERA": 3.1735,
"predicted_WHIP": 1.4444
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5655,
"form_weight": 0.4345,
"form_reliability": 0.4899,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.803,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.353,
"final": 0.1534,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.052,
"final": 1.0226,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.392,
"final": 0.7358,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.872,
"final": 0.3789,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.074,
"final": 0.0322,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1735,
"final": 3.1735,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4444,
"final": 1.4444,
"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 | Lucas Erceg |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1259 |
| ESPN Rank | 640 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1355 |
| Avg Velo | 92.1201 |
| Avg Spin | 1981.6520 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 5.2388 |
| Season WHIP | 1.7463 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 70,
"wins": 25,
"losses": 45,
"win_pct": 0.3571,
"runs_scored": 260.0,
"runs_allowed": 327.0,
"run_differential": -67.0,
"run_differential_per_game": -0.9571,
"avg_runs_scored": 3.7143,
"avg_runs_allowed": 4.6714,
"offense_index": 0.8322,
"defense_index": 0.9554,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.2,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.3094
},
"opponent": {
"team": "MIN",
"games": 69,
"wins": 32,
"losses": 37,
"win_pct": 0.4638,
"runs_scored": 326.0,
"runs_allowed": 338.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1739,
"avg_runs_scored": 4.7246,
"avg_runs_allowed": 4.8986,
"offense_index": 1.0586,
"defense_index": 0.9111,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 7.0,
"run_differential": -28.0
},
"available": true,
"quality_score": -0.1222
},
"edges": {
"quality_edge": -0.1872,
"offense_edge": -0.1678,
"opponent_offense_edge": 0.0586,
"defense_strength": -0.0446,
"opponent_defense_weakness": 0.0889,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9888,
"run_prevention": 1.0232,
"strikeout": 0.9897
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668674",
"profile": {
"available": true,
"pitcher_id": "668674",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 93.0,
"k_percent": 19.2,
"bb_percent": 14.4,
"woba": 0.403,
"xwoba": 0.33,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 40.6,
"avg_best_speed": 74.4586,
"avg_hyper_speed": 94.4944,
"whiff_percent": 20.6,
"swing_percent": 47.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.5363,
"command_and_miss": -0.7321,
"regression_edge": 2.0,
"xwoba_edge": -0.4286,
"barrel_edge": 0.0,
"hard_hit_edge": -0.3143,
"whiff_edge": -0.7429,
"bb_edge": -1.3,
"pitch_design_score": 0.1355
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668674",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.12014511342626,
"release_spin_rate": 1981.652014047624,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.12014511342626,
"release_spin_rate": 1981.652014047624,
"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.1201,
"release_spin_rate": 1981.652,
"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.1355,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9679,
"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.1259,
"sample_weight": 0.45,
"run_prevention_factor": 1.0107,
"strikeout_factor": 0.9781,
"walk_factor": 1.0468,
"homer_factor": 1.0114,
"woba_minus_xwoba": 0.073,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "668674",
"espn_id": 36618,
"player_name": "Lucas Erceg",
"team": "KC",
"role": "pitcher",
"espn_rank": 640,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 640,
"gp_value": 24.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 6.4477,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 11.0,
"sv_rank": 9,
"hld_value": 1.0,
"hld_rank": 188,
"ip_value": 22.1,
"ip_rank": 307,
"h_value": 29.0,
"h_rank": 171,
"er_value": 16.0,
"er_rank": 159,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 15.0,
"bb_rank": 155,
"k_value": 20.0,
"k_rank": 303,
"k_per_9_value": 8.059701,
"k_per_9_rank": 26,
"whip_value": 1.9701,
"whip_rank": null,
"war_value": -0.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0048,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0048,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0211,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0051,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9901,
"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": 7,
"H": 14,
"BB": 5,
"SO": 9,
"HR": 1,
"ERA": 7.0,
"WHIP": 2.111111111111111,
"K9": 9.0,
"HR9": 1.0,
"games_pitched": 9,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "668674",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.12014511342626,
"release_spin_rate": 1981.652014047624,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.12014511342626,
"release_spin_rate": 1981.652014047624,
"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.1201,
"release_spin_rate": 1981.652,
"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.1355,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9679,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.408,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4685,
"prior_weight": 0.5315
},
"role": "pitcher",
"player_id": "668674",
"report_date": "20260604_K",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 6.0,
"R": 7.0,
"H": 11.0,
"BB": 3.0,
"SO": 5.0,
"HR": 1.0,
"BF": 28.0,
"Pitches": 104.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.4,
"H": 2.2,
"BB": 0.6,
"SO": 1.0,
"HR": 0.2,
"BF": 5.6,
"Pitches": 20.8
},
"rates": {
"ERA": 10.8,
"WHIP": 2.8,
"ER_per_IP": 1.2,
"H_per_IP": 2.2,
"BB_per_IP": 0.6,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 7.0,
"R": 8.0,
"H": 14.0,
"BB": 5.0,
"SO": 10.0,
"HR": 1.0,
"BF": 47.0,
"Pitches": 177.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 1.4,
"BB": 0.5,
"SO": 1.0,
"HR": 0.1,
"BF": 4.7,
"Pitches": 17.7
},
"rates": {
"ERA": 6.3,
"WHIP": 1.9,
"ER_per_IP": 0.7,
"H_per_IP": 1.4,
"BB_per_IP": 0.5,
"SO_per_IP": 1.0,
"HR_per_IP": 0.1
}
},
"season": {
"games": 23,
"totals": {
"IP": 22.1,
"ER": 13.0,
"R": 15.0,
"H": 24.0,
"BB": 15.0,
"SO": 20.0,
"HR": 1.0,
"BF": 99.0,
"Pitches": 406.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5652,
"R": 0.6522,
"H": 1.0435,
"BB": 0.6522,
"SO": 0.8696,
"HR": 0.0435,
"BF": 4.3043,
"Pitches": 17.6522
},
"rates": {
"ERA": 5.2388,
"WHIP": 1.7463,
"ER_per_IP": 0.58209,
"H_per_IP": 1.07463,
"BB_per_IP": 0.67164,
"SO_per_IP": 0.89552,
"HR_per_IP": 0.04478
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.679,
"predicted_H": 1.302,
"predicted_BB": 0.466,
"predicted_SO": 0.959,
"predicted_HR": 0.136,
"predicted_ERA": 6.1089,
"predicted_WHIP": 1.7685
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5746,
"form_weight": 0.4254,
"form_reliability": 0.4685,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.408,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4685,
"prior_weight": 0.5315
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.679,
"final": 0.2889,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.302,
"final": 0.5539,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.466,
"final": 0.1983,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.959,
"final": 0.9826,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.136,
"final": 0.0579,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.1089,
"final": 6.1089,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7685,
"final": 1.7685,
"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 | Matt Strahm |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1460 |
| ESPN Rank | 298 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1675 |
| Avg Velo | 86.7099 |
| Avg Spin | 2450.7400 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 4.1538 |
| Season WHIP | 1.2692 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 70,
"wins": 25,
"losses": 45,
"win_pct": 0.3571,
"runs_scored": 260.0,
"runs_allowed": 327.0,
"run_differential": -67.0,
"run_differential_per_game": -0.9571,
"avg_runs_scored": 3.7143,
"avg_runs_allowed": 4.6714,
"offense_index": 0.8322,
"defense_index": 0.9554,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.2,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.3094
},
"opponent": {
"team": "MIN",
"games": 69,
"wins": 32,
"losses": 37,
"win_pct": 0.4638,
"runs_scored": 326.0,
"runs_allowed": 338.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1739,
"avg_runs_scored": 4.7246,
"avg_runs_allowed": 4.8986,
"offense_index": 1.0586,
"defense_index": 0.9111,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 7.0,
"run_differential": -28.0
},
"available": true,
"quality_score": -0.1222
},
"edges": {
"quality_edge": -0.1872,
"offense_edge": -0.1678,
"opponent_offense_edge": 0.0586,
"defense_strength": -0.0446,
"opponent_defense_weakness": 0.0889,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9888,
"run_prevention": 1.0232,
"strikeout": 0.9897
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621381",
"profile": {
"available": true,
"pitcher_id": "621381",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 71.0,
"k_percent": 22.7,
"bb_percent": 9.3,
"woba": 0.338,
"xwoba": 0.275,
"sweet_spot_percent": 28.0,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 40.0,
"avg_best_speed": 80.5455,
"avg_hyper_speed": 93.2206,
"whiff_percent": 22.5,
"swing_percent": 48.3
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.3548,
"command_and_miss": -0.1571,
"regression_edge": 1.8,
"xwoba_edge": 1.1429,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.2286,
"whiff_edge": -0.4714,
"bb_edge": -0.025,
"pitch_design_score": -0.1675
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "621381",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 86.70993923919282,
"release_spin_rate": 2450.7399638308816,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 86.70993923919282,
"release_spin_rate": 2450.7399638308816,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.7099,
"release_spin_rate": 2450.74,
"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.1675,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1961,
"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.146,
"sample_weight": 0.45,
"run_prevention_factor": 0.9876,
"strikeout_factor": 0.992,
"walk_factor": 1.0009,
"homer_factor": 0.9791,
"woba_minus_xwoba": 0.063,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "621381",
"espn_id": 34862,
"player_name": "Matt Strahm",
"team": "KC",
"role": "pitcher",
"espn_rank": 298,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 298,
"gp_value": 18.0,
"gp_rank": 164,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.1538,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 9.0,
"hld_rank": 21,
"ip_value": 17.1,
"ip_rank": 379,
"h_value": 15.0,
"h_rank": 362,
"er_value": 8.0,
"er_rank": 334,
"hr_value": 4.0,
"hr_rank": 158,
"bb_value": 7.0,
"bb_rank": 348,
"k_value": 17.0,
"k_rank": 342,
"k_per_9_value": 8.826922,
"k_per_9_rank": 24,
"whip_value": 1.2692,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9944,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9944,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9906,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9964,
"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": 5,
"H": 10,
"BB": 4,
"SO": 8,
"HR": 3,
"ERA": 4.655172413793104,
"WHIP": 1.4482758620689655,
"K9": 7.448275862068966,
"HR9": 2.793103448275862,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "621381",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 86.70993923919282,
"release_spin_rate": 2450.7399638308816,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 86.70993923919282,
"release_spin_rate": 2450.7399638308816,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.7099,
"release_spin_rate": 2450.74,
"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.1675,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1961,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.421,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4063,
"prior_weight": 0.5937
},
"role": "pitcher",
"player_id": "621381",
"report_date": "20260604_K",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 1.0,
"SO": 3.0,
"HR": 2.0,
"BF": 20.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.2,
"SO": 0.6,
"HR": 0.4,
"BF": 4.0,
"Pitches": 13.4
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.2857,
"ER_per_IP": 0.64286,
"H_per_IP": 1.07143,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 4.0,
"SO": 8.0,
"HR": 3.0,
"BF": 43.0,
"Pitches": 154.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.0,
"BB": 0.4,
"SO": 0.8,
"HR": 0.3,
"BF": 4.3,
"Pitches": 15.4
},
"rates": {
"ERA": 4.6552,
"WHIP": 1.4483,
"ER_per_IP": 0.51724,
"H_per_IP": 1.03448,
"BB_per_IP": 0.41379,
"SO_per_IP": 0.82759,
"HR_per_IP": 0.31034
}
},
"season": {
"games": 18,
"totals": {
"IP": 17.1,
"ER": 8.0,
"R": 8.0,
"H": 15.0,
"BB": 7.0,
"SO": 17.0,
"HR": 4.0,
"BF": 75.0,
"Pitches": 294.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4444,
"R": 0.4444,
"H": 0.8333,
"BB": 0.3889,
"SO": 0.9444,
"HR": 0.2222,
"BF": 4.1667,
"Pitches": 16.3333
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.2692,
"ER_per_IP": 0.46154,
"H_per_IP": 0.86538,
"BB_per_IP": 0.40385,
"SO_per_IP": 0.98077,
"HR_per_IP": 0.23077
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.515,
"predicted_H": 0.981,
"predicted_BB": 0.349,
"predicted_SO": 0.874,
"predicted_HR": 0.223,
"predicted_ERA": 4.6356,
"predicted_WHIP": 1.3295
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6008,
"form_weight": 0.3992,
"form_reliability": 0.4063,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.421,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4063,
"prior_weight": 0.5937
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.515,
"final": 0.2056,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.981,
"final": 0.9924,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.349,
"final": 0.1393,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.874,
"final": 1.5505,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.223,
"final": 0.089,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6356,
"final": 4.6356,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3295,
"final": 1.3295,
"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.112 | 1.000 | 0.000 | Hitting_2B | 0.112 | 0.000 | 0.888 | 1.000 |
| predicted_3B | 0.039 | 1.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | 0.961 | 1.000 |
| predicted_AB | 4.100 | 3.000 | 7.000 | Hitting_AB | 3.768 | 4.000 | -0.768 | -1.000 |
| predicted_AVG | 0.230 | 0.667 | 0.286 | Hitting_AVG | 0.197 | 0.500 | 0.470 | 0.167 |
| predicted_BB | 0.536 | 1.000 | 1.000 | Hitting_BB | 0.536 | 1.000 | 0.464 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.950 | 2.000 | 2.000 | Hitting_H | 0.742 | 2.000 | 1.258 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.103 | 1.000 | -0.103 | -1.000 |
| predicted_OBP | 0.330 | 0.750 | 0.375 | Hitting_OBP | 0.295 | 0.600 | 0.455 | 0.150 |
| predicted_R | 0.438 | 1.000 | 1.000 | Hitting_R | 0.438 | 1.000 | 0.562 | 0.000 |
| predicted_RBI | 0.530 | 1.000 | 1.000 | Hitting_RBI | 0.472 | 2.000 | 0.528 | -1.000 |
| predicted_SLG | 0.392 | 1.667 | 0.286 | Hitting_SLG | 0.329 | 1.250 | 1.338 | 0.417 |
| predicted_SO | 0.803 | 1.000 | 1.000 | Hitting_SO | 0.803 | 0.000 | 0.197 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 12 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.9500 -> 2.0000 (boost 1.0500, better) |
| Biggest Deboost | predicted_AB: 4.1000 -> 3.0000 (deboost -1.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 8 | 3 | 7 | 4 | predicted_AB: 4.1000 -> 7.3994 (boost 3.2994, better) | predicted_SLG: 0.3920 -> 0.3784 (deboost -0.0136, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3784 -> 0.3592 (deboost -0.0192, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 1.6182 -> 2.0000 (boost 0.3818, better) | predicted_SO: 1.5251 -> 1.0000 (deboost -0.5251, better) | AB rounded to 7 (raw=7.40), rates preserved: AVG=0.219 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6991 -> 1.0000 (boost 0.3009, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2187 -> 0.2860 (boost 0.0673, better) | predicted_SLG: 0.3592 -> 0.2860 (deboost -0.0732, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3592 (boost 0.0732, better) | predicted_AVG: 0.2860 -> 0.2187 (deboost -0.0673, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686469",
"player_name": "Vinnie Pasquantino",
"position": "1B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.112,
"predicted_3B": 0.039,
"predicted_AB": 4.1,
"predicted_AVG": 0.23,
"predicted_BB": 0.536,
"predicted_H": 0.95,
"predicted_HR": 0.13,
"predicted_OBP": 0.33,
"predicted_R": 0.438,
"predicted_RBI": 0.53,
"predicted_SLG": 0.392,
"predicted_SO": 0.803
},
"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.2348,
"predicted_3B": 0.0571,
"predicted_AB": 7.3994,
"predicted_AVG": 0.2249,
"predicted_BB": 1.0638,
"predicted_H": 1.6465,
"predicted_HBP": 0.038,
"predicted_HR": 0.2351,
"predicted_OBP": 0.3247,
"predicted_R": 0.7216,
"predicted_RBI": 1.0106,
"predicted_SLG": 0.3784,
"predicted_SO": 1.5066
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.112,
"after": 0.2348,
"delta": 0.1228,
"percent_delta": 1.0964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0571,
"delta": 0.0181,
"percent_delta": 0.4641,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 7.3994,
"delta": 3.2994,
"percent_delta": 0.8047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2249,
"delta": -0.0051,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.536,
"after": 1.0638,
"delta": 0.5278,
"percent_delta": 0.9847,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.6465,
"delta": 0.6965,
"percent_delta": 0.7332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2351,
"delta": 0.1051,
"percent_delta": 0.8085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3247,
"delta": -0.0053,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 0.7216,
"delta": 0.2836,
"percent_delta": 0.6475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 1.0106,
"delta": 0.4806,
"percent_delta": 0.9068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3784,
"delta": -0.0136,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.803,
"after": 1.5066,
"delta": 0.7036,
"percent_delta": 0.8762,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 7.3994,
"delta": 3.2994,
"percent_delta": 0.8047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3784,
"delta": -0.0136,
"percent_delta": -0.0347,
"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": 7,
"season": 58
}
},
{
"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.2348,
"predicted_3B": 0.0571,
"predicted_AB": 7.3994,
"predicted_AVG": 0.2187,
"predicted_BB": 1.0507,
"predicted_H": 1.6182,
"predicted_HBP": 0.038,
"predicted_HR": 0.2303,
"predicted_OBP": 0.3158,
"predicted_R": 0.6991,
"predicted_RBI": 0.9791,
"predicted_SLG": 0.3592,
"predicted_SO": 1.5251
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2348,
"after": 0.2348,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0571,
"after": 0.0571,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.3994,
"after": 7.3994,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2249,
"after": 0.2187,
"delta": -0.0062,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0638,
"after": 1.0507,
"delta": -0.0131,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6465,
"after": 1.6182,
"delta": -0.0283,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.038,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2351,
"after": 0.2303,
"delta": -0.0048,
"percent_delta": -0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3247,
"after": 0.3158,
"delta": -0.0089,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7216,
"after": 0.6991,
"delta": -0.0225,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0106,
"after": 0.9791,
"delta": -0.0315,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3784,
"after": 0.3592,
"delta": -0.0192,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5066,
"after": 1.5251,
"delta": 0.0185,
"percent_delta": 0.0123,
"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.3784,
"after": 0.3592,
"delta": -0.0192,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.40), rates preserved: AVG=0.219 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.2348,
"after": 0.0,
"delta": -0.2348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0571,
"after": 0.0,
"delta": -0.0571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.3994,
"after": 7.0,
"delta": -0.3994,
"percent_delta": -0.054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0507,
"after": 1.0,
"delta": -0.0507,
"percent_delta": -0.0483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6182,
"after": 2.0,
"delta": 0.3818,
"percent_delta": 0.2359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2303,
"after": 0.0,
"delta": -0.2303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9791,
"after": 1.0,
"delta": 0.0209,
"percent_delta": 0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5251,
"after": 1.0,
"delta": -0.5251,
"percent_delta": -0.3443,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.6182,
"after": 2.0,
"delta": 0.3818,
"percent_delta": 0.2359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5251,
"after": 1.0,
"delta": -0.5251,
"percent_delta": -0.3443,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.6991,
"after": 1.0,
"delta": 0.3009,
"percent_delta": 0.4304,
"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.6991,
"after": 1.0,
"delta": 0.3009,
"percent_delta": 0.4304,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2187,
"after": 0.286,
"delta": 0.0673,
"percent_delta": 0.3077,
"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": 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.3158,
"after": 0.375,
"delta": 0.0592,
"percent_delta": 0.1875,
"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.3592,
"after": 0.286,
"delta": -0.0732,
"percent_delta": -0.2038,
"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.2187,
"after": 0.286,
"delta": 0.0673,
"percent_delta": 0.3077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3592,
"after": 0.286,
"delta": -0.0732,
"percent_delta": -0.2038,
"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": 1.0,
"predicted_AB": 3.0,
"predicted_BB": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"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": 1.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2187,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3158,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3592,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2187,
"delta": -0.0673,
"percent_delta": -0.2353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3158,
"delta": -0.0592,
"percent_delta": -0.1578,
"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.286,
"after": 0.3592,
"delta": 0.0732,
"percent_delta": 0.256,
"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.286,
"after": 0.3592,
"delta": 0.0732,
"percent_delta": 0.256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2187,
"delta": -0.0673,
"percent_delta": -0.2353,
"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.112,
"after": 1.0,
"delta": 0.888,
"percent_delta": 7.9286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 1.0,
"delta": 0.961,
"percent_delta": 24.641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2187,
"delta": -0.0113,
"percent_delta": -0.0491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.536,
"after": 1.0,
"delta": 0.464,
"percent_delta": 0.8657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 2.0,
"delta": 1.05,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3158,
"delta": -0.0142,
"percent_delta": -0.043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 1.0,
"delta": 0.562,
"percent_delta": 1.2831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 1.0,
"delta": 0.47,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3592,
"delta": -0.0328,
"percent_delta": -0.0837,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.803,
"after": 1.0,
"delta": 0.197,
"percent_delta": 0.2453,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 7,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.95,
"after": 2.0,
"delta": 1.05,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.112 | - |
| predicted_3B | 0.039 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.536 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.438 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.392 | - |
| predicted_SO | 0.803 | - |
Final model 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.235 | 0.123 |
| predicted_3B | 0.057 | 0.018 |
| predicted_AB | 7.399 | 3.299 |
| predicted_AVG | 0.225 | -0.005 |
| predicted_BB | 1.064 | 0.528 |
| predicted_H | 1.647 | 0.697 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.235 | 0.105 |
| predicted_OBP | 0.325 | -0.005 |
| predicted_R | 0.722 | 0.284 |
| predicted_RBI | 1.011 | 0.481 |
| predicted_SLG | 0.378 | -0.014 |
| predicted_SO | 1.507 | 0.704 |
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.235 | 0.000 |
| predicted_3B | 0.057 | 0.000 |
| predicted_AB | 7.399 | 0.000 |
| predicted_AVG | 0.219 | -0.006 |
| predicted_BB | 1.051 | -0.013 |
| predicted_H | 1.618 | -0.028 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.230 | -0.005 |
| predicted_OBP | 0.316 | -0.009 |
| predicted_R | 0.699 | -0.022 |
| predicted_RBI | 0.979 | -0.031 |
| predicted_SLG | 0.359 | -0.019 |
| predicted_SO | 1.525 | 0.018 |
AB rounded to 7 (raw=7.40), rates preserved: AVG=0.219 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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.235 |
| predicted_3B | 0.000 | -0.057 |
| predicted_AB | 7.000 | -0.399 |
| predicted_AVG | 0.286 | 0.067 |
| predicted_BB | 1.000 | -0.051 |
| predicted_H | 2.000 | 0.382 |
| predicted_HR | 0.000 | -0.230 |
| predicted_OBP | 0.375 | 0.059 |
| predicted_R | 1.000 | 0.301 |
| predicted_RBI | 1.000 | 0.021 |
| predicted_SLG | 0.286 | -0.073 |
| predicted_SO | 1.000 | -0.525 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 1.000 | 1.000 |
| AB | 3.000 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 1.000 | 4.000 | 4.000 | 0.2857 | 0.4000 | 0.4762 | 0.2857 | 0.0476 | 0.1905 | 0.1905 | 0.1905 |
| last_10 | 0.20 | 7 | - | 40.000 | 8.000 | 1.000 | 0.000 | 1.000 | 5.000 | 1.000 | 5.000 | 8.000 | 0.2000 | 0.2889 | 0.3000 | 0.2000 | 0.0250 | 0.1250 | 0.1250 | 0.2000 |
| season | 0.60 | 58 | - | 878.000 | 173.000 | 26.000 | 9.000 | 24.000 | 110.000 | 102.000 | 125.000 | 187.000 | 0.1970 | 0.2946 | 0.3292 | 0.1970 | 0.0273 | 0.1253 | 0.1424 | 0.2130 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3900 |
| predicted_3B | 0.0800 |
| predicted_AB | 11.5700 |
| predicted_AVG | 0.2184 |
| predicted_BB | 1.7310 |
| predicted_H | 2.5270 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.3680 |
| predicted_OBP | 0.3179 |
| predicted_R | 1.0800 |
| predicted_RBI | 1.6180 |
| predicted_SLG | 0.3613 |
| predicted_SO | 2.3960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1120 | 0.3900 | 0.2348 | model_form_blend |
| predicted_3B | 0.0390 | 0.0800 | 0.0571 | model_form_blend |
| predicted_AB | 4.1000 | 11.5700 | 7.3994 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2184 | 0.2249 | model_form_blend |
| predicted_BB | 0.5360 | 1.7310 | 1.0638 | model_form_blend |
| predicted_H | 0.9500 | 2.5270 | 1.6465 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.1300 | 0.3680 | 0.2351 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3179 | 0.3247 | model_form_blend |
| predicted_R | 0.4380 | 1.0800 | 0.7216 | model_form_blend |
| predicted_RBI | 0.5300 | 1.6180 | 1.0106 | model_form_blend |
| predicted_SLG | 0.3920 | 0.3613 | 0.3784 | model_form_blend |
| predicted_SO | 0.8030 | 2.3960 | 1.5066 | 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 | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 233 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 1 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.197 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 1 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260603_KC@CIN |
| game_type | full |
| mlbID | 686469 |
| playerID | 686469 |
| playerName | Vinnie Pasquantino |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.29 |
| sl_xwoba | 0.314 |
| sl_xba | 0.239 |
| sl_xslg | 0.39 |
| sl_sweet_spot_percent | 36.0 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 35.4 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 20.2 |
| sl_whiff_percent | 16.6 |
| sl_swing_percent | 45.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.101 | 0.000 | 0.000 | Hitting_2B | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.150 | 4.000 | 7.000 | Hitting_AB | 3.859 | 5.000 | 0.141 | -1.000 |
| predicted_AVG | 0.214 | 0.000 | 0.143 | Hitting_AVG | 0.221 | 0.200 | -0.221 | -0.200 |
| predicted_BB | 0.225 | 0.000 | 0.000 | Hitting_BB | 0.225 | 0.000 | -0.225 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 0.000 | 1.000 | Hitting_H | 0.855 | 1.000 | -0.855 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.185 | 0.000 | -0.185 | 0.000 |
| predicted_OBP | 0.281 | 0.000 | 0.143 | Hitting_OBP | 0.275 | 0.200 | -0.275 | -0.200 |
| predicted_R | 0.445 | 0.000 | 1.000 | Hitting_R | 0.445 | 0.000 | -0.445 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 1.000 | Hitting_RBI | 0.489 | 0.000 | -0.489 | 0.000 |
| predicted_SLG | 0.356 | 0.000 | 0.143 | Hitting_SLG | 0.392 | 0.200 | -0.392 | -0.200 |
| predicted_SO | 0.811 | 2.000 | 1.000 | Hitting_SO | 0.811 | 2.000 | 1.189 | 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.8110 -> 2.0000 (boost 1.1890, worse) |
| Biggest Deboost | predicted_H: 0.8900 -> 0.0000 (deboost -0.8900, 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 | 11 | 8 | 3 | 7 | 4 | predicted_AB: 4.1500 -> 7.3838 (boost 3.2338, better) | predicted_SLG: 0.3560 -> 0.3447 (deboost -0.0113, 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.2746 -> 0.2478 (deboost -0.0268, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_RBI: 0.6474 -> 1.0000 (boost 0.3526, better) | predicted_SO: 1.5332 -> 1.0000 (deboost -0.5332, better) | AB rounded to 7 (raw=7.38), rates preserved: AVG=0.201 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6973 -> 1.0000 (boost 0.3027, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3256 -> 0.1430 (deboost -0.1826, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3256 (boost 0.1826, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "521692",
"player_name": "Salvador Perez",
"position": "DH",
"team": "KC",
"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.101,
"predicted_3B": 0.0,
"predicted_AB": 4.15,
"predicted_AVG": 0.214,
"predicted_BB": 0.225,
"predicted_H": 0.89,
"predicted_HR": 0.13,
"predicted_OBP": 0.281,
"predicted_R": 0.445,
"predicted_RBI": 0.4,
"predicted_SLG": 0.356,
"predicted_SO": 0.811
},
"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.2175,
"predicted_3B": 0.0004,
"predicted_AB": 7.3838,
"predicted_AVG": 0.2079,
"predicted_BB": 0.4636,
"predicted_H": 1.5111,
"predicted_HBP": 0.308,
"predicted_HR": 0.2385,
"predicted_OBP": 0.2746,
"predicted_R": 0.7198,
"predicted_RBI": 0.6682,
"predicted_SLG": 0.3447,
"predicted_SO": 1.5146
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.101,
"after": 0.2175,
"delta": 0.1165,
"percent_delta": 1.1535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.15,
"after": 7.3838,
"delta": 3.2338,
"percent_delta": 0.7792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2079,
"delta": -0.0061,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.225,
"after": 0.4636,
"delta": 0.2386,
"percent_delta": 1.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.5111,
"delta": 0.6211,
"percent_delta": 0.6979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2385,
"delta": 0.1085,
"percent_delta": 0.8346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2746,
"delta": -0.0064,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.445,
"after": 0.7198,
"delta": 0.2748,
"percent_delta": 0.6175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.6682,
"delta": 0.2682,
"percent_delta": 0.6705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3447,
"delta": -0.0113,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.811,
"after": 1.5146,
"delta": 0.7036,
"percent_delta": 0.8676,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 7.3838,
"delta": 3.2338,
"percent_delta": 0.7792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3447,
"delta": -0.0113,
"percent_delta": -0.0317,
"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": 7,
"season": 58
}
},
{
"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.2175,
"predicted_3B": 0.0004,
"predicted_AB": 7.3838,
"predicted_AVG": 0.2011,
"predicted_BB": 0.4579,
"predicted_H": 1.4851,
"predicted_HBP": 0.308,
"predicted_HR": 0.2336,
"predicted_OBP": 0.2478,
"predicted_R": 0.6973,
"predicted_RBI": 0.6474,
"predicted_SLG": 0.3256,
"predicted_SO": 1.5332
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2175,
"after": 0.2175,
"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": 7.3838,
"after": 7.3838,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2079,
"after": 0.2011,
"delta": -0.0068,
"percent_delta": -0.0327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4636,
"after": 0.4579,
"delta": -0.0057,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5111,
"after": 1.4851,
"delta": -0.026,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.308,
"after": 0.308,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2385,
"after": 0.2336,
"delta": -0.0049,
"percent_delta": -0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2746,
"after": 0.2478,
"delta": -0.0268,
"percent_delta": -0.0976,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7198,
"after": 0.6973,
"delta": -0.0225,
"percent_delta": -0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6682,
"after": 0.6474,
"delta": -0.0208,
"percent_delta": -0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3447,
"after": 0.3256,
"delta": -0.0191,
"percent_delta": -0.0554,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5146,
"after": 1.5332,
"delta": 0.0186,
"percent_delta": 0.0123,
"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.2746,
"after": 0.2478,
"delta": -0.0268,
"percent_delta": -0.0976,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.38), rates preserved: AVG=0.201 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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.2175,
"after": 0.0,
"delta": -0.2175,
"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": 7.3838,
"after": 7.0,
"delta": -0.3838,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4579,
"after": 0.0,
"delta": -0.4579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4851,
"after": 1.0,
"delta": -0.4851,
"percent_delta": -0.3266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2336,
"after": 0.0,
"delta": -0.2336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6474,
"after": 1.0,
"delta": 0.3526,
"percent_delta": 0.5446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5332,
"after": 1.0,
"delta": -0.5332,
"percent_delta": -0.3478,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6474,
"after": 1.0,
"delta": 0.3526,
"percent_delta": 0.5446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5332,
"after": 1.0,
"delta": -0.5332,
"percent_delta": -0.3478,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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": 7.0,
"after": 7.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.6973,
"after": 1.0,
"delta": 0.3027,
"percent_delta": 0.4341,
"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.6973,
"after": 1.0,
"delta": 0.3027,
"percent_delta": 0.4341,
"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": 7.0,
"predicted_AVG": 0.143,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.143,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.143,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2011,
"after": 0.143,
"delta": -0.0581,
"percent_delta": -0.2889,
"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.2478,
"after": 0.143,
"delta": -0.1048,
"percent_delta": -0.4229,
"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.3256,
"after": 0.143,
"delta": -0.1826,
"percent_delta": -0.5608,
"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.3256,
"after": 0.143,
"delta": -0.1826,
"percent_delta": -0.5608,
"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": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2011,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2478,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3256,
"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.143,
"after": 0.2011,
"delta": 0.0581,
"percent_delta": 0.4065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.143,
"after": 0.2478,
"delta": 0.1048,
"percent_delta": 0.7327,
"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.143,
"after": 0.3256,
"delta": 0.1826,
"percent_delta": 1.2769,
"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.143,
"after": 0.3256,
"delta": 0.1826,
"percent_delta": 1.2769,
"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.101,
"after": 0.0,
"delta": -0.101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 4.0,
"delta": -0.15,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2011,
"delta": -0.0129,
"percent_delta": -0.0603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.225,
"after": 0.0,
"delta": -0.225,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2478,
"delta": -0.0332,
"percent_delta": -0.1181,
"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.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3256,
"delta": -0.0304,
"percent_delta": -0.0854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.811,
"after": 2.0,
"delta": 1.189,
"percent_delta": 1.4661,
"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.811,
"after": 2.0,
"delta": 1.189,
"percent_delta": 1.4661,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"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.101 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.150 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.225 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.281 | - |
| predicted_R | 0.445 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.356 | - |
| predicted_SO | 0.811 | - |
Final model 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.217 | 0.116 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.384 | 3.234 |
| predicted_AVG | 0.208 | -0.006 |
| predicted_BB | 0.464 | 0.239 |
| predicted_H | 1.511 | 0.621 |
| predicted_HBP | 0.308 | - |
| predicted_HR | 0.238 | 0.108 |
| predicted_OBP | 0.275 | -0.006 |
| predicted_R | 0.720 | 0.275 |
| predicted_RBI | 0.668 | 0.268 |
| predicted_SLG | 0.345 | -0.011 |
| predicted_SO | 1.515 | 0.704 |
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.217 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.384 | 0.000 |
| predicted_AVG | 0.201 | -0.007 |
| predicted_BB | 0.458 | -0.006 |
| predicted_H | 1.485 | -0.026 |
| predicted_HBP | 0.308 | 0.000 |
| predicted_HR | 0.234 | -0.005 |
| predicted_OBP | 0.248 | -0.027 |
| predicted_R | 0.697 | -0.022 |
| predicted_RBI | 0.647 | -0.021 |
| predicted_SLG | 0.326 | -0.019 |
| predicted_SO | 1.533 | 0.019 |
AB rounded to 7 (raw=7.38), rates preserved: AVG=0.201 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.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 | 7.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.217 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.384 |
| predicted_AVG | 0.143 | -0.058 |
| predicted_BB | 0.000 | -0.458 |
| predicted_H | 1.000 | -0.485 |
| predicted_HR | 0.000 | -0.234 |
| predicted_OBP | 0.143 | -0.105 |
| predicted_R | 1.000 | 0.303 |
| predicted_RBI | 1.000 | 0.353 |
| predicted_SLG | 0.143 | -0.183 |
| predicted_SO | 1.000 | -0.533 |
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 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 21.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 0.1429 | 0.2500 | 0.1905 | 0.1429 | 0.0000 | 0.0000 | 0.0952 | 0.1905 |
| last_10 | 0.20 | 7 | - | 36.000 | 6.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 9.000 | 0.1667 | 0.2308 | 0.1944 | 0.1667 | 0.0000 | 0.0000 | 0.0556 | 0.2500 |
| season | 0.60 | 58 | - | 876.000 | 194.000 | 23.000 | 0.000 | 42.000 | 111.000 | 101.000 | 51.000 | 184.000 | 0.2215 | 0.2745 | 0.3916 | 0.2215 | 0.0479 | 0.1267 | 0.0582 | 0.2100 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3650 |
| predicted_3B | 0.0010 |
| predicted_AB | 11.4810 |
| predicted_AVG | 0.2002 |
| predicted_BB | 0.7660 |
| predicted_H | 2.2980 |
| predicted_HBP | 0.3080 |
| predicted_HR | 0.3760 |
| predicted_OBP | 0.2664 |
| predicted_R | 1.0680 |
| predicted_RBI | 1.0080 |
| predicted_SLG | 0.3304 |
| predicted_SO | 2.4060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1010 | 0.3650 | 0.2175 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1500 | 11.4810 | 7.3838 | model_form_blend |
| predicted_AVG | 0.2140 | 0.2002 | 0.2079 | model_form_blend |
| predicted_BB | 0.2250 | 0.7660 | 0.4636 | model_form_blend |
| predicted_H | 0.8900 | 2.2980 | 1.5111 | model_form_blend |
| predicted_HBP | - | 0.3080 | 0.3080 | form_only |
| predicted_HR | 0.1300 | 0.3760 | 0.2385 | model_form_blend |
| predicted_OBP | 0.2810 | 0.2664 | 0.2746 | model_form_blend |
| predicted_R | 0.4450 | 1.0680 | 0.7198 | model_form_blend |
| predicted_RBI | 0.4000 | 1.0080 | 0.6682 | model_form_blend |
| predicted_SLG | 0.3560 | 0.3304 | 0.3447 | model_form_blend |
| predicted_SO | 0.8110 | 2.4060 | 1.5146 | 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 | 227 |
| Season rows before report date | 227 |
| Report year | 2026 |
| Profile rows used | 227 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.221 |
| 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 | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260603_KC@CIN |
| game_type | full |
| mlbID | 521692 |
| playerID | 521692 |
| playerName | Salvador Perez |
| pos | C |
| started | True |
| startingPosition | DH |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-03 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.27 |
| sl_xwoba | 0.294 |
| sl_xba | 0.226 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 57.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.253 | 0.000 | 1.000 | Hitting_2B | 0.253 | 0.000 | -0.253 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.470 | 3.000 | 8.000 | Hitting_AB | 4.008 | 4.000 | -1.008 | -1.000 |
| predicted_AVG | 0.240 | 0.333 | 0.250 | Hitting_AVG | 0.288 | 0.250 | 0.046 | 0.083 |
| predicted_BB | 0.446 | 1.000 | 1.000 | Hitting_BB | 0.446 | 1.000 | 0.554 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_H | 1.070 | 1.000 | 2.000 | Hitting_H | 1.153 | 1.000 | -0.153 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_OBP | 0.342 | 0.500 | 0.333 | Hitting_OBP | 0.357 | 0.400 | 0.143 | 0.100 |
| predicted_R | 0.498 | 1.000 | 1.000 | Hitting_R | 0.498 | 1.000 | 0.502 | 0.000 |
| predicted_RBI | 0.430 | 0.000 | 1.000 | Hitting_RBI | 0.450 | 0.000 | -0.450 | 0.000 |
| predicted_SLG | 0.438 | 0.333 | 0.375 | Hitting_SLG | 0.481 | 0.250 | -0.148 | 0.083 |
| predicted_SO | 0.851 | 0.000 | 2.000 | Hitting_SO | 0.851 | 1.000 | -0.851 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4460 -> 1.0000 (boost 0.5540, better) |
| Biggest Deboost | predicted_AB: 4.4700 -> 3.0000 (deboost -1.4700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.4700 -> 7.9333 (boost 3.4633, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4334 -> 0.4163 (deboost -0.0171, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 3 | 3 | predicted_2B: 0.5277 -> 1.0000 (boost 0.4723, better) | predicted_HR: 0.2338 -> 0.0000 (deboost -0.2338, worse) | AB rounded to 8 (raw=7.93), rates preserved: AVG=0.254 HR/AB=0.029 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4163 -> 0.3750 (deboost -0.0413, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3750 -> 0.4163 (boost 0.0413, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"position": "SS",
"team": "KC",
"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.253,
"predicted_3B": 0.02,
"predicted_AB": 4.47,
"predicted_AVG": 0.24,
"predicted_BB": 0.446,
"predicted_H": 1.07,
"predicted_HR": 0.16,
"predicted_OBP": 0.342,
"predicted_R": 0.498,
"predicted_RBI": 0.43,
"predicted_SLG": 0.438,
"predicted_SO": 0.851
},
"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.5277,
"predicted_3B": 0.0297,
"predicted_AB": 7.9333,
"predicted_AVG": 0.252,
"predicted_BB": 1.0401,
"predicted_H": 2.0498,
"predicted_HBP": 0.182,
"predicted_HR": 0.2387,
"predicted_OBP": 0.3517,
"predicted_R": 1.0479,
"predicted_RBI": 0.7397,
"predicted_SLG": 0.4334,
"predicted_SO": 1.6256
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.253,
"after": 0.5277,
"delta": 0.2747,
"percent_delta": 1.0858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0297,
"delta": 0.0097,
"percent_delta": 0.485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.47,
"after": 7.9333,
"delta": 3.4633,
"percent_delta": 0.7748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.252,
"delta": 0.012,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 1.0401,
"delta": 0.5941,
"percent_delta": 1.3321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 2.0498,
"delta": 0.9798,
"percent_delta": 0.9157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.2387,
"delta": 0.0787,
"percent_delta": 0.4919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3517,
"delta": 0.0097,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.498,
"after": 1.0479,
"delta": 0.5499,
"percent_delta": 1.1042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.7397,
"delta": 0.3097,
"percent_delta": 0.7202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4334,
"delta": -0.0046,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.851,
"after": 1.6256,
"delta": 0.7746,
"percent_delta": 0.9102,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.47,
"after": 7.9333,
"delta": 3.4633,
"percent_delta": 0.7748,
"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": 61
}
},
{
"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.5277,
"predicted_3B": 0.0297,
"predicted_AB": 7.9333,
"predicted_AVG": 0.2539,
"predicted_BB": 1.0273,
"predicted_H": 2.0145,
"predicted_HBP": 0.182,
"predicted_HR": 0.2338,
"predicted_OBP": 0.3395,
"predicted_R": 1.0152,
"predicted_RBI": 0.7166,
"predicted_SLG": 0.4163,
"predicted_SO": 1.6456
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5277,
"after": 0.5277,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0297,
"after": 0.0297,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.9333,
"after": 7.9333,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2539,
"delta": 0.0019,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0401,
"after": 1.0273,
"delta": -0.0128,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0498,
"after": 2.0145,
"delta": -0.0353,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.182,
"after": 0.182,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2387,
"after": 0.2338,
"delta": -0.0049,
"percent_delta": -0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3517,
"after": 0.3395,
"delta": -0.0122,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0479,
"after": 1.0152,
"delta": -0.0327,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7397,
"after": 0.7166,
"delta": -0.0231,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4334,
"after": 0.4163,
"delta": -0.0171,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6256,
"after": 1.6456,
"delta": 0.02,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4334,
"after": 0.4163,
"delta": -0.0171,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.93), rates preserved: AVG=0.254 HR/AB=0.029",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5277,
"after": 1.0,
"delta": 0.4723,
"percent_delta": 0.895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0297,
"after": 0.0,
"delta": -0.0297,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.9333,
"after": 8.0,
"delta": 0.0667,
"percent_delta": 0.0084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0273,
"after": 1.0,
"delta": -0.0273,
"percent_delta": -0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0145,
"after": 2.0,
"delta": -0.0145,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2338,
"after": 0.0,
"delta": -0.2338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7166,
"after": 1.0,
"delta": 0.2834,
"percent_delta": 0.3955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6456,
"after": 2.0,
"delta": 0.3544,
"percent_delta": 0.2154,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.5277,
"after": 1.0,
"delta": 0.4723,
"percent_delta": 0.895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2338,
"after": 0.0,
"delta": -0.2338,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.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": 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": 8.0,
"after": 8.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": 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": 1.0152,
"after": 1.0,
"delta": -0.0152,
"percent_delta": -0.015,
"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_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.375,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2539,
"after": 0.25,
"delta": -0.0039,
"percent_delta": -0.0154,
"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": 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.3395,
"after": 0.333,
"delta": -0.0065,
"percent_delta": -0.0191,
"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.4163,
"after": 0.375,
"delta": -0.0413,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4163,
"after": 0.375,
"delta": -0.0413,
"percent_delta": -0.0992,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"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.2539,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3395,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4163,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2539,
"delta": 0.0039,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3395,
"delta": 0.0065,
"percent_delta": 0.0194,
"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.375,
"after": 0.4163,
"delta": 0.0413,
"percent_delta": 0.1103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.4163,
"delta": 0.0413,
"percent_delta": 0.1103,
"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.253,
"after": 0.0,
"delta": -0.253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.47,
"after": 3.0,
"delta": -1.47,
"percent_delta": -0.3289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2539,
"delta": 0.0139,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 1.0,
"delta": 0.554,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0,
"delta": -0.07,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3395,
"delta": -0.0025,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.498,
"after": 1.0,
"delta": 0.502,
"percent_delta": 1.008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4163,
"delta": -0.0217,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.851,
"after": 0.0,
"delta": -0.851,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.446,
"after": 1.0,
"delta": 0.554,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.47,
"after": 3.0,
"delta": -1.47,
"percent_delta": -0.3289,
"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.253 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.470 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.446 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.498 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.438 | - |
| predicted_SO | 0.851 | - |
Final model 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.528 | 0.275 |
| predicted_3B | 0.030 | 0.010 |
| predicted_AB | 7.933 | 3.463 |
| predicted_AVG | 0.252 | 0.012 |
| predicted_BB | 1.040 | 0.594 |
| predicted_H | 2.050 | 0.980 |
| predicted_HBP | 0.182 | - |
| predicted_HR | 0.239 | 0.079 |
| predicted_OBP | 0.352 | 0.010 |
| predicted_R | 1.048 | 0.550 |
| predicted_RBI | 0.740 | 0.310 |
| predicted_SLG | 0.433 | -0.005 |
| predicted_SO | 1.626 | 0.775 |
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.528 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 7.933 | 0.000 |
| predicted_AVG | 0.254 | 0.002 |
| predicted_BB | 1.027 | -0.013 |
| predicted_H | 2.014 | -0.035 |
| predicted_HBP | 0.182 | 0.000 |
| predicted_HR | 0.234 | -0.005 |
| predicted_OBP | 0.340 | -0.012 |
| predicted_R | 1.015 | -0.033 |
| predicted_RBI | 0.717 | -0.023 |
| predicted_SLG | 0.416 | -0.017 |
| predicted_SO | 1.646 | 0.020 |
AB rounded to 8 (raw=7.93), rates preserved: AVG=0.254 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 2.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 | 1.000 | 0.472 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 8.000 | 0.067 |
| predicted_AVG | 0.250 | -0.004 |
| predicted_BB | 1.000 | -0.027 |
| predicted_H | 2.000 | -0.014 |
| predicted_HR | 0.000 | -0.234 |
| predicted_OBP | 0.333 | -0.007 |
| predicted_R | 1.000 | -0.015 |
| predicted_RBI | 1.000 | 0.283 |
| predicted_SLG | 0.375 | -0.041 |
| predicted_SO | 2.000 | 0.354 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -5.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 19.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 4.000 | 0.2632 | 0.4400 | 0.3684 | 0.2632 | 0.0000 | 0.0526 | 0.2632 | 0.2105 |
| last_10 | 0.20 | 7 | - | 39.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 8.000 | 0.1282 | 0.2444 | 0.1795 | 0.1282 | 0.0000 | 0.0256 | 0.1282 | 0.2051 |
| season | 0.60 | 61 | - | 998.000 | 287.000 | 63.000 | 5.000 | 40.000 | 112.000 | 124.000 | 111.000 | 212.000 | 0.2876 | 0.3566 | 0.4810 | 0.2876 | 0.0401 | 0.1122 | 0.1112 | 0.2124 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8740 |
| predicted_3B | 0.0420 |
| predicted_AB | 12.2990 |
| predicted_AVG | 0.2671 |
| predicted_BB | 1.7890 |
| predicted_H | 3.2850 |
| predicted_HBP | 0.1820 |
| predicted_HR | 0.3380 |
| predicted_OBP | 0.3640 |
| predicted_R | 1.7410 |
| predicted_RBI | 1.1300 |
| predicted_SLG | 0.4275 |
| predicted_SO | 2.6020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2530 | 0.8740 | 0.5277 | model_form_blend |
| predicted_3B | 0.0200 | 0.0420 | 0.0297 | model_form_blend |
| predicted_AB | 4.4700 | 12.2990 | 7.9333 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2671 | 0.2520 | model_form_blend |
| predicted_BB | 0.4460 | 1.7890 | 1.0401 | model_form_blend |
| predicted_H | 1.0700 | 3.2850 | 2.0498 | model_form_blend |
| predicted_HBP | - | 0.1820 | 0.1820 | form_only |
| predicted_HR | 0.1600 | 0.3380 | 0.2387 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3640 | 0.3517 | model_form_blend |
| predicted_R | 0.4980 | 1.7410 | 1.0479 | model_form_blend |
| predicted_RBI | 0.4300 | 1.1300 | 0.7397 | model_form_blend |
| predicted_SLG | 0.4380 | 0.4275 | 0.4334 | model_form_blend |
| predicted_SO | 0.8510 | 2.6020 | 1.6256 | 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 | 249 |
| Season rows before report date | 249 |
| Report year | 2026 |
| Profile rows used | 249 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.288 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| 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 | SS |
| gameID | 20260603_KC@CIN |
| game_type | full |
| mlbID | 677951 |
| playerID | 677951 |
| playerName | Bobby Witt Jr. |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-03 |
| sl_k_percent | 17.5 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.359 |
| sl_xwoba | 0.395 |
| sl_xba | 0.311 |
| sl_xslg | 0.535 |
| sl_sweet_spot_percent | 39.4 |
| sl_barrel_batted_rate | 13.4 |
| sl_hard_hit_percent | 53.0 |
| sl_exit_velocity_avg | 93.5 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 48.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.157 | 0.000 | 0.000 | Hitting_2B | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.710 | 5.000 | 6.000 | Hitting_AB | 3.417 | 5.000 | 1.583 | 0.000 |
| predicted_AVG | 0.216 | 0.000 | 0.167 | Hitting_AVG | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_BB | 0.440 | 0.000 | 1.000 | Hitting_BB | 0.438 | 0.000 | -0.438 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.800 | 0.000 | 1.000 | Hitting_H | 0.786 | 0.000 | -0.786 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_OBP | 0.279 | 0.000 | 0.286 | Hitting_OBP | 0.317 | 0.000 | -0.317 | 0.000 |
| predicted_R | 0.424 | 0.000 | 1.000 | Hitting_R | 0.422 | 0.000 | -0.422 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.526 | 0.000 | -0.526 | 0.000 |
| predicted_SLG | 0.362 | 0.000 | 0.167 | Hitting_SLG | 0.386 | 0.000 | -0.386 | 0.000 |
| predicted_SO | 1.110 | 0.000 | 2.000 | Hitting_SO | 1.104 | 4.000 | -1.104 | -4.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.7100 -> 5.0000 (boost 1.2900, better) |
| Biggest Deboost | predicted_SO: 1.1100 -> 0.0000 (deboost -1.1100, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.7100 -> 6.1413 (boost 2.4313, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2121 -> 0.2064 (deboost -0.0057, 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_BB: 0.6483 -> 1.0000 (boost 0.3517, better) | predicted_H: 1.2676 -> 1.0000 (deboost -0.2676, worse) | AB rounded to 6 (raw=6.14), rates preserved: AVG=0.206 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7326 -> 1.0000 (boost 0.2674, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3563 -> 0.1670 (deboost -0.1893, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.1670 -> 0.3563 (boost 0.1893, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695600",
"player_name": "Carter Jensen",
"position": "C",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0,
"predicted_AB": 3.71,
"predicted_AVG": 0.216,
"predicted_BB": 0.44,
"predicted_H": 0.8,
"predicted_HR": 0.13,
"predicted_OBP": 0.279,
"predicted_R": 0.424,
"predicted_RBI": 0.51,
"predicted_SLG": 0.362,
"predicted_SO": 1.11
},
"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.2373,
"predicted_3B": 0.0004,
"predicted_AB": 6.1413,
"predicted_AVG": 0.2121,
"predicted_BB": 0.6564,
"predicted_H": 1.2898,
"predicted_HBP": 0.049,
"predicted_HR": 0.2323,
"predicted_OBP": 0.2785,
"predicted_R": 0.7562,
"predicted_RBI": 0.8861,
"predicted_SLG": 0.3619,
"predicted_SO": 1.9996
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.2373,
"delta": 0.0803,
"percent_delta": 0.5115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.71,
"after": 6.1413,
"delta": 2.4313,
"percent_delta": 0.6553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2121,
"delta": -0.0039,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 0.6564,
"delta": 0.2164,
"percent_delta": 0.4918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 1.2898,
"delta": 0.4898,
"percent_delta": 0.6122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2323,
"delta": 0.1023,
"percent_delta": 0.7869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2785,
"delta": -0.0005,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.424,
"after": 0.7562,
"delta": 0.3322,
"percent_delta": 0.7835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.8861,
"delta": 0.3761,
"percent_delta": 0.7375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3619,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.11,
"after": 1.9996,
"delta": 0.8896,
"percent_delta": 0.8014,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.71,
"after": 6.1413,
"delta": 2.4313,
"percent_delta": 0.6553,
"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": 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.2373,
"predicted_3B": 0.0004,
"predicted_AB": 6.1413,
"predicted_AVG": 0.2064,
"predicted_BB": 0.6483,
"predicted_H": 1.2676,
"predicted_HBP": 0.049,
"predicted_HR": 0.2275,
"predicted_OBP": 0.2822,
"predicted_R": 0.7326,
"predicted_RBI": 0.8585,
"predicted_SLG": 0.3563,
"predicted_SO": 2.0242
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2373,
"after": 0.2373,
"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": 6.1413,
"after": 6.1413,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2121,
"after": 0.2064,
"delta": -0.0057,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6564,
"after": 0.6483,
"delta": -0.0081,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2898,
"after": 1.2676,
"delta": -0.0222,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2323,
"after": 0.2275,
"delta": -0.0048,
"percent_delta": -0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2785,
"after": 0.2822,
"delta": 0.0037,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7562,
"after": 0.7326,
"delta": -0.0236,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8861,
"after": 0.8585,
"delta": -0.0276,
"percent_delta": -0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3619,
"after": 0.3563,
"delta": -0.0056,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9996,
"after": 2.0242,
"delta": 0.0246,
"percent_delta": 0.0123,
"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_AVG",
"before": 0.2121,
"after": 0.2064,
"delta": -0.0057,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.14), rates preserved: AVG=0.206 HR/AB=0.037",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2373,
"after": 0.0,
"delta": -0.2373,
"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": 6.1413,
"after": 6.0,
"delta": -0.1413,
"percent_delta": -0.023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6483,
"after": 1.0,
"delta": 0.3517,
"percent_delta": 0.5425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2676,
"after": 1.0,
"delta": -0.2676,
"percent_delta": -0.2111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2275,
"after": 0.0,
"delta": -0.2275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8585,
"after": 1.0,
"delta": 0.1415,
"percent_delta": 0.1648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0242,
"after": 2.0,
"delta": -0.0242,
"percent_delta": -0.012,
"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_BB",
"before": 0.6483,
"after": 1.0,
"delta": 0.3517,
"percent_delta": 0.5425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.2676,
"after": 1.0,
"delta": -0.2676,
"percent_delta": -0.2111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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.7326,
"after": 1.0,
"delta": 0.2674,
"percent_delta": 0.365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7326,
"after": 1.0,
"delta": 0.2674,
"percent_delta": 0.365,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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": 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.2064,
"after": 0.167,
"delta": -0.0394,
"percent_delta": -0.1909,
"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.2822,
"after": 0.286,
"delta": 0.0038,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3563,
"after": 0.167,
"delta": -0.1893,
"percent_delta": -0.5313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3563,
"after": 0.167,
"delta": -0.1893,
"percent_delta": -0.5313,
"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": 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": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"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.2064,
"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.2822,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3563,
"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.167,
"after": 0.2064,
"delta": 0.0394,
"percent_delta": 0.236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2822,
"delta": -0.0038,
"percent_delta": -0.0133,
"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.167,
"after": 0.3563,
"delta": 0.1893,
"percent_delta": 1.1336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.3563,
"delta": 0.1893,
"percent_delta": 1.1336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.71,
"after": 5.0,
"delta": 1.29,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2064,
"delta": -0.0096,
"percent_delta": -0.0444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2822,
"delta": 0.0032,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.424,
"after": 0.0,
"delta": -0.424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3563,
"delta": -0.0057,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.11,
"after": 0.0,
"delta": -1.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.71,
"after": 5.0,
"delta": 1.29,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.11,
"after": 0.0,
"delta": -1.11,
"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.157 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.710 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.440 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.424 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 1.110 | - |
Final model 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.237 | 0.080 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.141 | 2.431 |
| predicted_AVG | 0.212 | -0.004 |
| predicted_BB | 0.656 | 0.216 |
| predicted_H | 1.290 | 0.490 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.232 | 0.102 |
| predicted_OBP | 0.279 | -0.001 |
| predicted_R | 0.756 | 0.332 |
| predicted_RBI | 0.886 | 0.376 |
| predicted_SLG | 0.362 | -0.000 |
| predicted_SO | 2.000 | 0.890 |
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.237 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.141 | 0.000 |
| predicted_AVG | 0.206 | -0.006 |
| predicted_BB | 0.648 | -0.008 |
| predicted_H | 1.268 | -0.022 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.228 | -0.005 |
| predicted_OBP | 0.282 | 0.004 |
| predicted_R | 0.733 | -0.024 |
| predicted_RBI | 0.859 | -0.028 |
| predicted_SLG | 0.356 | -0.006 |
| predicted_SO | 2.024 | 0.025 |
AB rounded to 6 (raw=6.14), rates preserved: AVG=0.206 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.237 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 6.000 | -0.141 |
| predicted_AVG | 0.167 | -0.039 |
| predicted_BB | 1.000 | 0.352 |
| predicted_H | 1.000 | -0.268 |
| predicted_HR | 0.000 | -0.228 |
| predicted_OBP | 0.286 | 0.004 |
| predicted_R | 1.000 | 0.267 |
| predicted_RBI | 1.000 | 0.141 |
| predicted_SLG | 0.167 | -0.189 |
| predicted_SO | 2.000 | -0.024 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 19.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 8.000 | 0.1579 | 0.2000 | 0.3158 | 0.1579 | 0.0526 | 0.1579 | 0.0526 | 0.4210 |
| last_10 | 0.20 | 7 | - | 36.000 | 5.000 | 2.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 11.000 | 0.1389 | 0.1622 | 0.2778 | 0.1389 | 0.0278 | 0.0833 | 0.0278 | 0.3056 |
| season | 0.60 | 55 | - | 656.000 | 151.000 | 30.000 | 0.000 | 24.000 | 101.000 | 81.000 | 84.000 | 212.000 | 0.2302 | 0.3170 | 0.3857 | 0.2302 | 0.0366 | 0.1540 | 0.1280 | 0.3232 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3400 |
| predicted_3B | 0.0010 |
| predicted_AB | 9.2500 |
| predicted_AVG | 0.2072 |
| predicted_BB | 0.9330 |
| predicted_H | 1.9160 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.3630 |
| predicted_OBP | 0.2778 |
| predicted_R | 1.1810 |
| predicted_RBI | 1.3670 |
| predicted_SLG | 0.3618 |
| predicted_SO | 3.1370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.3400 | 0.2373 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7100 | 9.2500 | 6.1413 | model_form_blend |
| predicted_AVG | 0.2160 | 0.2072 | 0.2121 | model_form_blend |
| predicted_BB | 0.4400 | 0.9330 | 0.6564 | model_form_blend |
| predicted_H | 0.8000 | 1.9160 | 1.2898 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.1300 | 0.3630 | 0.2323 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2778 | 0.2785 | model_form_blend |
| predicted_R | 0.4240 | 1.1810 | 0.7562 | model_form_blend |
| predicted_RBI | 0.5100 | 1.3670 | 0.8861 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3618 | 0.3619 | model_form_blend |
| predicted_SO | 1.1100 | 3.1370 | 1.9996 | 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 | 192 |
| Season rows before report date | 192 |
| Report year | 2026 |
| Profile rows used | 191 |
| 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 | 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 | 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 | 4 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260603_KC@CIN |
| game_type | full |
| mlbID | 695600 |
| playerID | 695600 |
| playerName | Carter Jensen |
| pos | C |
| started | True |
| startingPosition | C |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-03 |
| sl_k_percent | 30.1 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.298 |
| sl_xwoba | 0.269 |
| sl_xba | 0.186 |
| sl_xslg | 0.323 |
| sl_sweet_spot_percent | 27.9 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 40.2 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 22.3 |
| sl_whiff_percent | 32.7 |
| sl_swing_percent | 44.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.195 | 0.000 | 0.000 | Hitting_2B | 0.195 | 0.000 | -0.195 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 3.497 | 4.000 | 6.000 | Hitting_AB | 3.497 | 4.000 | 0.503 | 0.000 |
| predicted_AVG | 0.233 | 0.000 | 0.167 | Hitting_AVG | 0.223 | 0.500 | -0.223 | -0.500 |
| predicted_BB | 0.324 | 0.000 | 1.000 | Hitting_BB | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.330 | 0.000 | 1.000 | Hitting_H | 0.778 | 2.000 | -0.778 | -2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_OBP | 0.303 | 0.000 | 0.286 | Hitting_OBP | 0.298 | 0.500 | -0.298 | -0.500 |
| predicted_R | 0.416 | 0.000 | 1.000 | Hitting_R | 0.416 | 0.000 | -0.416 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_SLG | 0.395 | 0.000 | 0.167 | Hitting_SLG | 0.379 | 0.500 | -0.379 | -0.500 |
| predicted_SO | 1.157 | 1.000 | 2.000 | Hitting_SO | 1.157 | 2.000 | -0.157 | -1.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: 3.4970 -> 4.0000 (boost 0.5030, better) |
| Biggest Deboost | predicted_R: 0.4160 -> 0.0000 (deboost -0.4160, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.4970 -> 5.7965 (boost 2.2995, 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.3931 -> 0.3256 (deboost -0.0675, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 2 | 5 | predicted_BB: 0.5754 -> 1.0000 (boost 0.4246, better) | predicted_RBI: 0.4221 -> 0.0000 (deboost -0.4221, worse) | AB rounded to 6 (raw=5.80), rates preserved: AVG=0.189 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6293 -> 1.0000 (boost 0.3707, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2625 -> 0.2860 (boost 0.0235, better) | predicted_SLG: 0.3256 -> 0.1670 (deboost -0.1586, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1670 -> 0.3256 (boost 0.1586, better) | predicted_OBP: 0.2860 -> 0.2625 (deboost -0.0235, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "RF",
"team": "KC",
"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.195,
"predicted_3B": 0.022,
"predicted_AB": 3.497,
"predicted_AVG": 0.233,
"predicted_BB": 0.324,
"predicted_H": 0.33,
"predicted_HR": 0.06,
"predicted_OBP": 0.303,
"predicted_R": 0.416,
"predicted_RBI": 0.16,
"predicted_SLG": 0.395,
"predicted_SO": 1.157
},
"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.2507,
"predicted_3B": 0.0277,
"predicted_AB": 5.7965,
"predicted_AVG": 0.2374,
"predicted_BB": 0.5826,
"predicted_H": 1.1166,
"predicted_HBP": 0.214,
"predicted_HR": 0.1647,
"predicted_OBP": 0.3138,
"predicted_R": 0.6496,
"predicted_RBI": 0.4357,
"predicted_SLG": 0.3931,
"predicted_SO": 1.9848
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.2507,
"delta": 0.0557,
"percent_delta": 0.2856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0277,
"delta": 0.0057,
"percent_delta": 0.2591,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.497,
"after": 5.7965,
"delta": 2.2995,
"percent_delta": 0.6576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2374,
"delta": 0.0044,
"percent_delta": 0.0189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.5826,
"delta": 0.2586,
"percent_delta": 0.7981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.1166,
"delta": 0.7866,
"percent_delta": 2.3836,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.1647,
"delta": 0.1047,
"percent_delta": 1.745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3138,
"delta": 0.0108,
"percent_delta": 0.0356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.416,
"after": 0.6496,
"delta": 0.2336,
"percent_delta": 0.5615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.4357,
"delta": 0.2757,
"percent_delta": 1.7231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3931,
"delta": -0.0019,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.157,
"after": 1.9848,
"delta": 0.8278,
"percent_delta": 0.7155,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.497,
"after": 5.7965,
"delta": 2.2995,
"percent_delta": 0.6576,
"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": 8,
"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.2507,
"predicted_3B": 0.0277,
"predicted_AB": 5.7965,
"predicted_AVG": 0.1893,
"predicted_BB": 0.5754,
"predicted_H": 1.0974,
"predicted_HBP": 0.214,
"predicted_HR": 0.1613,
"predicted_OBP": 0.2625,
"predicted_R": 0.6293,
"predicted_RBI": 0.4221,
"predicted_SLG": 0.3256,
"predicted_SO": 2.0092
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2507,
"after": 0.2507,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0277,
"after": 0.0277,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.7965,
"after": 5.7965,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2374,
"after": 0.1893,
"delta": -0.0481,
"percent_delta": -0.2026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5826,
"after": 0.5754,
"delta": -0.0072,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1166,
"after": 1.0974,
"delta": -0.0192,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.214,
"after": 0.214,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1647,
"after": 0.1613,
"delta": -0.0034,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3138,
"after": 0.2625,
"delta": -0.0513,
"percent_delta": -0.1635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6496,
"after": 0.6293,
"delta": -0.0203,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4357,
"after": 0.4221,
"delta": -0.0136,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3931,
"after": 0.3256,
"delta": -0.0675,
"percent_delta": -0.1717,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9848,
"after": 2.0092,
"delta": 0.0244,
"percent_delta": 0.0123,
"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.3931,
"after": 0.3256,
"delta": -0.0675,
"percent_delta": -0.1717,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.80), rates preserved: AVG=0.189 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2507,
"after": 0.0,
"delta": -0.2507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0277,
"after": 0.0,
"delta": -0.0277,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.7965,
"after": 6.0,
"delta": 0.2035,
"percent_delta": 0.0351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5754,
"after": 1.0,
"delta": 0.4246,
"percent_delta": 0.7379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0974,
"after": 1.0,
"delta": -0.0974,
"percent_delta": -0.0888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.214,
"after": 0.0,
"delta": -0.214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1613,
"after": 0.0,
"delta": -0.1613,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4221,
"after": 0.0,
"delta": -0.4221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0092,
"after": 2.0,
"delta": -0.0092,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5754,
"after": 1.0,
"delta": 0.4246,
"percent_delta": 0.7379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4221,
"after": 0.0,
"delta": -0.4221,
"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": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 6.0,
"after": 6.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.6293,
"after": 1.0,
"delta": 0.3707,
"percent_delta": 0.5891,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6293,
"after": 1.0,
"delta": 0.3707,
"percent_delta": 0.5891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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": 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.1893,
"after": 0.167,
"delta": -0.0223,
"percent_delta": -0.1178,
"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.2625,
"after": 0.286,
"delta": 0.0235,
"percent_delta": 0.0895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3256,
"after": 0.167,
"delta": -0.1586,
"percent_delta": -0.4871,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2625,
"after": 0.286,
"delta": 0.0235,
"percent_delta": 0.0895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3256,
"after": 0.167,
"delta": -0.1586,
"percent_delta": -0.4871,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 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.1893,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2625,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3256,
"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.167,
"after": 0.1893,
"delta": 0.0223,
"percent_delta": 0.1337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2625,
"delta": -0.0235,
"percent_delta": -0.0821,
"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.167,
"after": 0.3256,
"delta": 0.1586,
"percent_delta": 0.9498,
"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.167,
"after": 0.3256,
"delta": 0.1586,
"percent_delta": 0.9498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2625,
"delta": -0.0235,
"percent_delta": -0.0821,
"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.195,
"after": 0.0,
"delta": -0.195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.497,
"after": 4.0,
"delta": 0.503,
"percent_delta": 0.1438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.1893,
"delta": -0.0437,
"percent_delta": -0.1876,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"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.303,
"after": 0.2625,
"delta": -0.0405,
"percent_delta": -0.1337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3256,
"delta": -0.0694,
"percent_delta": -0.1757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.157,
"after": 1.0,
"delta": -0.157,
"percent_delta": -0.1357,
"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": 3.497,
"after": 4.0,
"delta": 0.503,
"percent_delta": 0.1438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"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.195 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 3.497 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.416 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 1.157 | - |
Final model 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.251 | 0.056 |
| predicted_3B | 0.028 | 0.006 |
| predicted_AB | 5.796 | 2.300 |
| predicted_AVG | 0.237 | 0.004 |
| predicted_BB | 0.583 | 0.259 |
| predicted_H | 1.117 | 0.787 |
| predicted_HBP | 0.214 | - |
| predicted_HR | 0.165 | 0.105 |
| predicted_OBP | 0.314 | 0.011 |
| predicted_R | 0.650 | 0.234 |
| predicted_RBI | 0.436 | 0.276 |
| predicted_SLG | 0.393 | -0.002 |
| predicted_SO | 1.985 | 0.828 |
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.251 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 5.796 | 0.000 |
| predicted_AVG | 0.189 | -0.048 |
| predicted_BB | 0.575 | -0.007 |
| predicted_H | 1.097 | -0.019 |
| predicted_HBP | 0.214 | 0.000 |
| predicted_HR | 0.161 | -0.003 |
| predicted_OBP | 0.263 | -0.051 |
| predicted_R | 0.629 | -0.020 |
| predicted_RBI | 0.422 | -0.014 |
| predicted_SLG | 0.326 | -0.068 |
| predicted_SO | 2.009 | 0.024 |
AB rounded to 6 (raw=5.80), rates preserved: AVG=0.189 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.251 |
| predicted_3B | 0.000 | -0.028 |
| predicted_AB | 6.000 | 0.204 |
| predicted_AVG | 0.167 | -0.022 |
| predicted_BB | 1.000 | 0.425 |
| predicted_H | 1.000 | -0.097 |
| predicted_HR | 0.000 | -0.161 |
| predicted_OBP | 0.286 | 0.023 |
| predicted_R | 1.000 | 0.371 |
| predicted_RBI | 0.000 | -0.422 |
| predicted_SLG | 0.167 | -0.159 |
| predicted_SO | 2.000 | -0.009 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 7.000 | 0.3158 | 0.4348 | 0.4737 | 0.3158 | 0.0526 | 0.1579 | 0.1579 | 0.3684 |
| last_10 | 0.20 | 8 | - | 36.000 | 8.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 16.000 | 0.2222 | 0.3000 | 0.3056 | 0.2222 | 0.0278 | 0.0833 | 0.0833 | 0.4444 |
| season | 0.60 | 56 | - | 647.000 | 144.000 | 36.000 | 4.000 | 19.000 | 43.000 | 77.000 | 60.000 | 214.000 | 0.2226 | 0.2985 | 0.3787 | 0.2226 | 0.0294 | 0.0665 | 0.0927 | 0.3308 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3220 |
| predicted_3B | 0.0350 |
| predicted_AB | 8.7440 |
| predicted_AVG | 0.2431 |
| predicted_BB | 0.9140 |
| predicted_H | 2.1250 |
| predicted_HBP | 0.2140 |
| predicted_HR | 0.2990 |
| predicted_OBP | 0.3277 |
| predicted_R | 0.9490 |
| predicted_RBI | 0.7890 |
| predicted_SLG | 0.3906 |
| predicted_SO | 3.0460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1950 | 0.3220 | 0.2507 | model_form_blend |
| predicted_3B | 0.0220 | 0.0350 | 0.0277 | model_form_blend |
| predicted_AB | 3.4970 | 8.7440 | 5.7965 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2431 | 0.2374 | model_form_blend |
| predicted_BB | 0.3240 | 0.9140 | 0.5826 | model_form_blend |
| predicted_H | 0.3300 | 2.1250 | 1.1166 | model_form_blend |
| predicted_HBP | - | 0.2140 | 0.2140 | form_only |
| predicted_HR | 0.0600 | 0.2990 | 0.1647 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3277 | 0.3138 | model_form_blend |
| predicted_R | 0.4160 | 0.9490 | 0.6496 | model_form_blend |
| predicted_RBI | 0.1600 | 0.7890 | 0.4357 | model_form_blend |
| predicted_SLG | 0.3950 | 0.3906 | 0.3931 | model_form_blend |
| predicted_SO | 1.1570 | 3.0460 | 1.9848 | 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 | 185 |
| Season rows before report date | 185 |
| Report year | 2026 |
| Profile rows used | 185 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.223 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | RF |
| gameID | 20260603_KC@CIN |
| game_type | full |
| mlbID | 695506 |
| playerID | 695506 |
| playerName | Jac Caglianone |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-03 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.319 |
| sl_xwoba | 0.34 |
| sl_xba | 0.257 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 58.4 |
| sl_exit_velocity_avg | 93.4 |
| sl_launch_angle_avg | 7.8 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 47.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.137 | 0.000 | 0.000 | Hitting_2B | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.295 | 4.000 | 6.000 | Hitting_AB | 3.259 | 3.000 | 0.741 | 1.000 |
| predicted_AVG | 0.229 | 0.250 | 0.167 | Hitting_AVG | 0.222 | 0.000 | 0.028 | 0.250 |
| predicted_BB | 0.568 | 0.000 | 1.000 | Hitting_BB | 0.562 | 0.000 | -0.562 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_H | 0.730 | 1.000 | 1.000 | Hitting_H | 0.724 | 0.000 | 0.276 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_OBP | 0.311 | 0.250 | 0.286 | Hitting_OBP | 0.349 | 0.000 | -0.099 | 0.250 |
| predicted_R | 0.448 | 0.000 | 1.000 | Hitting_R | 0.443 | 0.000 | -0.443 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.384 | 0.000 | -0.384 | 0.000 |
| predicted_SLG | 0.328 | 0.250 | 0.167 | Hitting_SLG | 0.318 | 0.000 | -0.068 | 0.250 |
| predicted_SO | 1.082 | 0.000 | 2.000 | Hitting_SO | 1.070 | 2.000 | -1.070 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.2950 -> 4.0000 (boost 0.7050, better) |
| Biggest Deboost | predicted_SO: 1.0820 -> 0.0000 (deboost -1.0820, 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 | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.2950 -> 5.8703 (boost 2.5753, better) | predicted_SLG: 0.3280 -> 0.3103 (deboost -0.0177, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3103 -> 0.2954 (deboost -0.0149, 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 | 3 | 5 | predicted_AB: 5.8703 -> 6.0000 (boost 0.1297, better) | predicted_RBI: 0.4890 -> 0.0000 (deboost -0.4890, worse) | AB rounded to 6 (raw=5.87), rates preserved: AVG=0.205 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7943 -> 1.0000 (boost 0.2057, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2954 -> 0.1670 (deboost -0.1284, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.2954 (boost 0.1284, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686555",
"player_name": "Isaac Collins",
"position": "LF",
"team": "KC",
"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.137,
"predicted_3B": 0.0,
"predicted_AB": 3.295,
"predicted_AVG": 0.229,
"predicted_BB": 0.568,
"predicted_H": 0.73,
"predicted_HR": 0.07,
"predicted_OBP": 0.311,
"predicted_R": 0.448,
"predicted_RBI": 0.31,
"predicted_SLG": 0.328,
"predicted_SO": 1.082
},
"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.2572,
"predicted_3B": 0.0004,
"predicted_AB": 5.8703,
"predicted_AVG": 0.2174,
"predicted_BB": 0.9355,
"predicted_H": 1.2246,
"predicted_HBP": 0.183,
"predicted_HR": 0.0928,
"predicted_OBP": 0.3133,
"predicted_R": 0.8199,
"predicted_RBI": 0.5047,
"predicted_SLG": 0.3103,
"predicted_SO": 2.0371
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.137,
"after": 0.2572,
"delta": 0.1202,
"percent_delta": 0.8774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.295,
"after": 5.8703,
"delta": 2.5753,
"percent_delta": 0.7816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2174,
"delta": -0.0116,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.568,
"after": 0.9355,
"delta": 0.3675,
"percent_delta": 0.647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.2246,
"delta": 0.4946,
"percent_delta": 0.6775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0928,
"delta": 0.0228,
"percent_delta": 0.3257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3133,
"delta": 0.0023,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.8199,
"delta": 0.3719,
"percent_delta": 0.8301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.5047,
"delta": 0.1947,
"percent_delta": 0.6281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.3103,
"delta": -0.0177,
"percent_delta": -0.054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.082,
"after": 2.0371,
"delta": 0.9551,
"percent_delta": 0.8827,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.295,
"after": 5.8703,
"delta": 2.5753,
"percent_delta": 0.7816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.3103,
"delta": -0.0177,
"percent_delta": -0.054,
"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": 7,
"season": 50
}
},
{
"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.2572,
"predicted_3B": 0.0004,
"predicted_AB": 5.8703,
"predicted_AVG": 0.205,
"predicted_BB": 0.924,
"predicted_H": 1.2035,
"predicted_HBP": 0.183,
"predicted_HR": 0.0909,
"predicted_OBP": 0.3131,
"predicted_R": 0.7943,
"predicted_RBI": 0.489,
"predicted_SLG": 0.2954,
"predicted_SO": 2.0622
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2572,
"after": 0.2572,
"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": 5.8703,
"after": 5.8703,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2174,
"after": 0.205,
"delta": -0.0124,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9355,
"after": 0.924,
"delta": -0.0115,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2246,
"after": 1.2035,
"delta": -0.0211,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.183,
"after": 0.183,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0928,
"after": 0.0909,
"delta": -0.0019,
"percent_delta": -0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3133,
"after": 0.3131,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8199,
"after": 0.7943,
"delta": -0.0256,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5047,
"after": 0.489,
"delta": -0.0157,
"percent_delta": -0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3103,
"after": 0.2954,
"delta": -0.0149,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0371,
"after": 2.0622,
"delta": 0.0251,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3103,
"after": 0.2954,
"delta": -0.0149,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.87), rates preserved: AVG=0.205 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2572,
"after": 0.0,
"delta": -0.2572,
"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": 5.8703,
"after": 6.0,
"delta": 0.1297,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.924,
"after": 1.0,
"delta": 0.076,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2035,
"after": 1.0,
"delta": -0.2035,
"percent_delta": -0.1691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.183,
"after": 0.0,
"delta": -0.183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0909,
"after": 0.0,
"delta": -0.0909,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.489,
"after": 0.0,
"delta": -0.489,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0622,
"after": 2.0,
"delta": -0.0622,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 5.8703,
"after": 6.0,
"delta": 0.1297,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.489,
"after": 0.0,
"delta": -0.489,
"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": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 6.0,
"after": 6.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.7943,
"after": 1.0,
"delta": 0.2057,
"percent_delta": 0.259,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7943,
"after": 1.0,
"delta": 0.2057,
"percent_delta": 0.259,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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": 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.205,
"after": 0.167,
"delta": -0.038,
"percent_delta": -0.1854,
"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.3131,
"after": 0.286,
"delta": -0.0271,
"percent_delta": -0.0866,
"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.2954,
"after": 0.167,
"delta": -0.1284,
"percent_delta": -0.4347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2954,
"after": 0.167,
"delta": -0.1284,
"percent_delta": -0.4347,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 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.205,
"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.3131,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2954,
"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.167,
"after": 0.205,
"delta": 0.038,
"percent_delta": 0.2277,
"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.286,
"after": 0.3131,
"delta": 0.0271,
"percent_delta": 0.0949,
"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.167,
"after": 0.2954,
"delta": 0.1284,
"percent_delta": 0.769,
"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.167,
"after": 0.2954,
"delta": 0.1284,
"percent_delta": 0.769,
"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.137,
"after": 0.0,
"delta": -0.137,
"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.295,
"after": 4.0,
"delta": 0.705,
"percent_delta": 0.214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.205,
"delta": -0.024,
"percent_delta": -0.1048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.568,
"after": 0.0,
"delta": -0.568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3131,
"delta": 0.0021,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.0,
"delta": -0.448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.2954,
"delta": -0.0326,
"percent_delta": -0.0994,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.082,
"after": 0.0,
"delta": -1.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.295,
"after": 4.0,
"delta": 0.705,
"percent_delta": 0.214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.082,
"after": 0.0,
"delta": -1.082,
"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.137 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.295 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.568 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.448 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.328 | - |
| predicted_SO | 1.082 | - |
Final model 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.257 | 0.120 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 5.870 | 2.575 |
| predicted_AVG | 0.217 | -0.012 |
| predicted_BB | 0.935 | 0.368 |
| predicted_H | 1.225 | 0.495 |
| predicted_HBP | 0.183 | - |
| predicted_HR | 0.093 | 0.023 |
| predicted_OBP | 0.313 | 0.002 |
| predicted_R | 0.820 | 0.372 |
| predicted_RBI | 0.505 | 0.195 |
| predicted_SLG | 0.310 | -0.018 |
| predicted_SO | 2.037 | 0.955 |
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.257 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 5.870 | 0.000 |
| predicted_AVG | 0.205 | -0.012 |
| predicted_BB | 0.924 | -0.011 |
| predicted_H | 1.204 | -0.021 |
| predicted_HBP | 0.183 | 0.000 |
| predicted_HR | 0.091 | -0.002 |
| predicted_OBP | 0.313 | -0.000 |
| predicted_R | 0.794 | -0.026 |
| predicted_RBI | 0.489 | -0.016 |
| predicted_SLG | 0.295 | -0.015 |
| predicted_SO | 2.062 | 0.025 |
AB rounded to 6 (raw=5.87), rates preserved: AVG=0.205 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.257 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 6.000 | 0.130 |
| predicted_AVG | 0.167 | -0.038 |
| predicted_BB | 1.000 | 0.076 |
| predicted_H | 1.000 | -0.204 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.286 | -0.027 |
| predicted_R | 1.000 | 0.206 |
| predicted_RBI | 0.000 | -0.489 |
| predicted_SLG | 0.167 | -0.128 |
| predicted_SO | 2.000 | -0.062 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 17.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 8.000 | 0.1765 | 0.2632 | 0.2353 | 0.1765 | 0.0000 | 0.0000 | 0.1177 | 0.4706 |
| last_10 | 0.20 | 7 | - | 30.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 10.000 | 0.1000 | 0.2059 | 0.1333 | 0.1000 | 0.0000 | 0.0000 | 0.1333 | 0.3333 |
| season | 0.60 | 50 | - | 603.000 | 134.000 | 25.000 | 0.000 | 11.000 | 71.000 | 82.000 | 104.000 | 198.000 | 0.2222 | 0.3488 | 0.3184 | 0.2222 | 0.0182 | 0.1177 | 0.1725 | 0.3284 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4110 |
| predicted_3B | 0.0010 |
| predicted_AB | 9.1680 |
| predicted_AVG | 0.2026 |
| predicted_BB | 1.4060 |
| predicted_H | 1.8580 |
| predicted_HBP | 0.1830 |
| predicted_HR | 0.1220 |
| predicted_OBP | 0.3162 |
| predicted_R | 1.2960 |
| predicted_RBI | 0.7540 |
| predicted_SLG | 0.2876 |
| predicted_SO | 3.2600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1370 | 0.4110 | 0.2572 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2950 | 9.1680 | 5.8703 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2026 | 0.2174 | model_form_blend |
| predicted_BB | 0.5680 | 1.4060 | 0.9355 | model_form_blend |
| predicted_H | 0.7300 | 1.8580 | 1.2246 | model_form_blend |
| predicted_HBP | - | 0.1830 | 0.1830 | form_only |
| predicted_HR | 0.0700 | 0.1220 | 0.0928 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3162 | 0.3133 | model_form_blend |
| predicted_R | 0.4480 | 1.2960 | 0.8199 | model_form_blend |
| predicted_RBI | 0.3100 | 0.7540 | 0.5047 | model_form_blend |
| predicted_SLG | 0.3280 | 0.2876 | 0.3103 | model_form_blend |
| predicted_SO | 1.0820 | 3.2600 | 2.0371 | 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 | 185 |
| Season rows before report date | 185 |
| Report year | 2026 |
| Profile rows used | 183 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.222 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 |
| gameID | 20260603_KC@CIN |
| game_type | full |
| mlbID | 686555 |
| playerID | 686555 |
| playerName | Isaac Collins |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-03 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 12.7 |
| sl_woba | 0.296 |
| sl_xwoba | 0.296 |
| sl_xba | 0.214 |
| sl_xslg | 0.302 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 40.7 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 38.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.252 | 1.000 | 0.000 | Hitting_2B | 0.246 | 0.000 | 0.754 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.168 | 3.000 | 5.000 | Hitting_AB | 3.090 | 4.000 | -0.090 | -1.000 |
| predicted_AVG | 0.264 | 0.333 | 0.200 | Hitting_AVG | 0.241 | 0.500 | 0.092 | -0.167 |
| predicted_BB | 0.101 | 0.000 | 0.000 | Hitting_BB | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.300 | 1.000 | 1.000 | Hitting_H | 0.746 | 2.000 | 0.254 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_OBP | 0.304 | 0.500 | 0.200 | Hitting_OBP | 0.258 | 0.500 | 0.242 | 0.000 |
| predicted_R | 0.345 | 0.000 | 1.000 | Hitting_R | 0.336 | 1.000 | -0.336 | -1.000 |
| predicted_RBI | 0.210 | 0.000 | 1.000 | Hitting_RBI | 0.426 | 1.000 | -0.426 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_SLG | 0.470 | 0.667 | 0.200 | Hitting_SLG | 0.416 | 0.500 | 0.250 | 0.167 |
| predicted_SO | 0.630 | 1.000 | 1.000 | Hitting_SO | 0.615 | 1.000 | 0.385 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_2B: 0.2520 -> 1.0000 (boost 0.7480, better) |
| Biggest Deboost | predicted_R: 0.3450 -> 0.0000 (deboost -0.3450, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.1680 -> 4.7092 (boost 1.5412, 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.4924 -> 0.4042 (deboost -0.0882, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 2 | 3 | predicted_RBI: 0.6487 -> 1.0000 (boost 0.3513, better) | predicted_2B: 0.3302 -> 0.0000 (deboost -0.3302, worse) | AB rounded to 5 (raw=4.71), rates preserved: AVG=0.217 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5748 -> 1.0000 (boost 0.4252, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4042 -> 0.2000 (deboost -0.2042, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 2 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4042 (boost 0.2042, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686681",
"player_name": "Michael Massey",
"position": "2B",
"team": "KC",
"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.252,
"predicted_3B": 0.0,
"predicted_AB": 3.168,
"predicted_AVG": 0.264,
"predicted_BB": 0.101,
"predicted_H": 0.3,
"predicted_HR": 0.06,
"predicted_OBP": 0.304,
"predicted_R": 0.345,
"predicted_RBI": 0.21,
"predicted_SLG": 0.47,
"predicted_SO": 0.63
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3302,
"predicted_3B": 0.0009,
"predicted_AB": 4.7092,
"predicted_AVG": 0.2794,
"predicted_BB": 0.174,
"predicted_H": 1.041,
"predicted_HBP": 0.004,
"predicted_HR": 0.1867,
"predicted_OBP": 0.3114,
"predicted_R": 0.5933,
"predicted_RBI": 0.6696,
"predicted_SLG": 0.4924,
"predicted_SO": 1.0145
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.252,
"after": 0.3302,
"delta": 0.0782,
"percent_delta": 0.3103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.168,
"after": 4.7092,
"delta": 1.5412,
"percent_delta": 0.4865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2794,
"delta": 0.0154,
"percent_delta": 0.0583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.101,
"after": 0.174,
"delta": 0.073,
"percent_delta": 0.7228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.041,
"delta": 0.741,
"percent_delta": 2.47,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.1867,
"delta": 0.1267,
"percent_delta": 2.1117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3114,
"delta": 0.0074,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.345,
"after": 0.5933,
"delta": 0.2483,
"percent_delta": 0.7197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.6696,
"delta": 0.4596,
"percent_delta": 2.1886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.4924,
"delta": 0.0224,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.63,
"after": 1.0145,
"delta": 0.3845,
"percent_delta": 0.6103,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.168,
"after": 4.7092,
"delta": 1.5412,
"percent_delta": 0.4865,
"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": 8,
"season": 43
}
},
{
"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.3302,
"predicted_3B": 0.0009,
"predicted_AB": 4.7092,
"predicted_AVG": 0.2173,
"predicted_BB": 0.1719,
"predicted_H": 1.0231,
"predicted_HBP": 0.004,
"predicted_HR": 0.1829,
"predicted_OBP": 0.2448,
"predicted_R": 0.5748,
"predicted_RBI": 0.6487,
"predicted_SLG": 0.4042,
"predicted_SO": 1.027
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3302,
"after": 0.3302,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7092,
"after": 4.7092,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2794,
"after": 0.2173,
"delta": -0.0621,
"percent_delta": -0.2223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.174,
"after": 0.1719,
"delta": -0.0021,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.041,
"after": 1.0231,
"delta": -0.0179,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1867,
"after": 0.1829,
"delta": -0.0038,
"percent_delta": -0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3114,
"after": 0.2448,
"delta": -0.0666,
"percent_delta": -0.2139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5933,
"after": 0.5748,
"delta": -0.0185,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6696,
"after": 0.6487,
"delta": -0.0209,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4924,
"after": 0.4042,
"delta": -0.0882,
"percent_delta": -0.1791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0145,
"after": 1.027,
"delta": 0.0125,
"percent_delta": 0.0123,
"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.4924,
"after": 0.4042,
"delta": -0.0882,
"percent_delta": -0.1791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.71), rates preserved: AVG=0.217 HR/AB=0.039",
"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.3302,
"after": 0.0,
"delta": -0.3302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7092,
"after": 5.0,
"delta": 0.2908,
"percent_delta": 0.0618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1719,
"after": 0.0,
"delta": -0.1719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0231,
"after": 1.0,
"delta": -0.0231,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1829,
"after": 0.0,
"delta": -0.1829,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6487,
"after": 1.0,
"delta": 0.3513,
"percent_delta": 0.5415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.027,
"after": 1.0,
"delta": -0.027,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6487,
"after": 1.0,
"delta": 0.3513,
"percent_delta": 0.5415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3302,
"after": 0.0,
"delta": -0.3302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5748,
"after": 1.0,
"delta": 0.4252,
"percent_delta": 0.7397,
"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.5748,
"after": 1.0,
"delta": 0.4252,
"percent_delta": 0.7397,
"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": 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.2173,
"after": 0.2,
"delta": -0.0173,
"percent_delta": -0.0796,
"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.2448,
"after": 0.2,
"delta": -0.0448,
"percent_delta": -0.183,
"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.4042,
"after": 0.2,
"delta": -0.2042,
"percent_delta": -0.5052,
"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.4042,
"after": 0.2,
"delta": -0.2042,
"percent_delta": -0.5052,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.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": 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": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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": 3.0,
"predicted_AVG": 0.2173,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2448,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4042,
"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": 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.2,
"after": 0.2173,
"delta": 0.0173,
"percent_delta": 0.0863,
"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": 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.2,
"after": 0.2448,
"delta": 0.0448,
"percent_delta": 0.2241,
"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.2,
"after": 0.4042,
"delta": 0.2042,
"percent_delta": 1.0212,
"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.2,
"after": 0.4042,
"delta": 0.2042,
"percent_delta": 1.0212,
"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.252,
"after": 1.0,
"delta": 0.748,
"percent_delta": 2.9683,
"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.168,
"after": 3.0,
"delta": -0.168,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2173,
"delta": -0.0467,
"percent_delta": -0.1769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.101,
"after": 0.0,
"delta": -0.101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2448,
"delta": -0.0592,
"percent_delta": -0.1947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.345,
"after": 0.0,
"delta": -0.345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.4042,
"delta": -0.0658,
"percent_delta": -0.14,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.63,
"after": 1.0,
"delta": 0.37,
"percent_delta": 0.5873,
"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_2B",
"before": 0.252,
"after": 1.0,
"delta": 0.748,
"percent_delta": 2.9683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.345,
"after": 0.0,
"delta": -0.345,
"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.252 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.168 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.101 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.345 | - |
| predicted_RBI | 0.210 | - |
| predicted_SLG | 0.470 | - |
| predicted_SO | 0.630 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.330 | 0.078 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.709 | 1.541 |
| predicted_AVG | 0.279 | 0.015 |
| predicted_BB | 0.174 | 0.073 |
| predicted_H | 1.041 | 0.741 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.187 | 0.127 |
| predicted_OBP | 0.311 | 0.007 |
| predicted_R | 0.593 | 0.248 |
| predicted_RBI | 0.670 | 0.460 |
| predicted_SLG | 0.492 | 0.022 |
| predicted_SO | 1.014 | 0.384 |
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.330 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.709 | 0.000 |
| predicted_AVG | 0.217 | -0.062 |
| predicted_BB | 0.172 | -0.002 |
| predicted_H | 1.023 | -0.018 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.183 | -0.004 |
| predicted_OBP | 0.245 | -0.067 |
| predicted_R | 0.575 | -0.019 |
| predicted_RBI | 0.649 | -0.021 |
| predicted_SLG | 0.404 | -0.088 |
| predicted_SO | 1.027 | 0.012 |
AB rounded to 5 (raw=4.71), rates preserved: AVG=0.217 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.330 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.291 |
| predicted_AVG | 0.200 | -0.017 |
| predicted_BB | 0.000 | -0.172 |
| predicted_H | 1.000 | -0.023 |
| predicted_HR | 0.000 | -0.183 |
| predicted_OBP | 0.200 | -0.045 |
| predicted_R | 1.000 | 0.425 |
| predicted_RBI | 1.000 | 0.351 |
| predicted_SLG | 0.200 | -0.204 |
| predicted_SO | 1.000 | -0.027 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 8.000 | 0.000 | 0.000 | 2.000 | 6.000 | 4.000 | 1.000 | 5.000 | 0.4444 | 0.4737 | 0.7778 | 0.4444 | 0.1111 | 0.3333 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 8 | - | 29.000 | 11.000 | 3.000 | 0.000 | 2.000 | 7.000 | 4.000 | 1.000 | 8.000 | 0.3793 | 0.3871 | 0.6897 | 0.3793 | 0.0690 | 0.2414 | 0.0345 | 0.2759 |
| season | 0.60 | 43 | - | 377.000 | 91.000 | 30.000 | 0.000 | 12.000 | 52.000 | 41.000 | 12.000 | 75.000 | 0.2414 | 0.2581 | 0.4164 | 0.2414 | 0.0318 | 0.1379 | 0.0318 | 0.1989 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4340 |
| predicted_3B | 0.0020 |
| predicted_AB | 6.7560 |
| predicted_AVG | 0.2998 |
| predicted_BB | 0.2710 |
| predicted_H | 2.0250 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.3550 |
| predicted_OBP | 0.3212 |
| predicted_R | 0.9230 |
| predicted_RBI | 1.2800 |
| predicted_SLG | 0.5221 |
| predicted_SO | 1.5250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2520 | 0.4340 | 0.3302 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.1680 | 6.7560 | 4.7092 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2998 | 0.2794 | model_form_blend |
| predicted_BB | 0.1010 | 0.2710 | 0.1740 | model_form_blend |
| predicted_H | 0.3000 | 2.0250 | 1.0410 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0600 | 0.3550 | 0.1867 | model_form_blend |
| predicted_OBP | 0.3040 | 0.3212 | 0.3114 | model_form_blend |
| predicted_R | 0.3450 | 0.9230 | 0.5933 | model_form_blend |
| predicted_RBI | 0.2100 | 1.2800 | 0.6696 | model_form_blend |
| predicted_SLG | 0.4700 | 0.5221 | 0.4924 | model_form_blend |
| predicted_SO | 0.6300 | 1.5250 | 1.0145 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 122 |
| Season rows before report date | 122 |
| Report year | 2026 |
| Profile rows used | 119 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_KC@CIN |
| game_type | full |
| mlbID | 686681 |
| playerID | 686681 |
| playerName | Michael Massey |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 3.8 |
| sl_woba | 0.314 |
| sl_xwoba | 0.283 |
| sl_xba | 0.214 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 41.6 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.253 | 0.000 | 0.000 | Hitting_2B | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.960 | 4.000 | 4.000 | Hitting_AB | 2.883 | 4.000 | 1.117 | 0.000 |
| predicted_AVG | 0.251 | 0.250 | 0.250 | Hitting_AVG | 0.212 | 0.250 | 0.038 | 0.000 |
| predicted_BB | 0.400 | 0.000 | 1.000 | Hitting_BB | 0.403 | 0.000 | -0.403 | 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.610 | 1.000 | 0.390 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.013 | 1.000 | -0.013 | -1.000 |
| predicted_OBP | 0.308 | 0.250 | 0.400 | Hitting_OBP | 0.323 | 0.250 | -0.073 | 0.000 |
| predicted_R | 0.533 | 0.000 | 1.000 | Hitting_R | 0.519 | 1.000 | -0.519 | -1.000 |
| predicted_RBI | 0.420 | 0.000 | 1.000 | Hitting_RBI | 0.649 | 2.000 | -0.649 | -2.000 |
| predicted_SLG | 0.375 | 0.250 | 0.250 | Hitting_SLG | 0.311 | 1.000 | -0.061 | -0.750 |
| predicted_SO | 0.360 | 0.000 | 1.000 | Hitting_SO | 0.351 | 1.000 | -0.351 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.9600 -> 4.0000 (boost 1.0400, better) |
| Biggest Deboost | predicted_R: 0.5330 -> 0.0000 (deboost -0.5330, 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 | 8 | 6 | 2 | 5 | 3 | predicted_AB: 2.9600 -> 4.2655 (boost 1.3055, better) | predicted_AVG: 0.2510 -> 0.2384 (deboost -0.0126, 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.2384 -> 0.2114 (deboost -0.0270, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_BB: 0.5761 -> 1.0000 (boost 0.4239, better) | predicted_2B: 0.2971 -> 0.0000 (deboost -0.2971, worse) | AB rounded to 4 (raw=4.27), rates preserved: AVG=0.211 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7595 -> 1.0000 (boost 0.2405, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3052 -> 0.4000 (boost 0.0948, better) | predicted_SLG: 0.3536 -> 0.2500 (deboost -0.1036, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3536 (boost 0.1036, better) | predicted_OBP: 0.4000 -> 0.3052 (deboost -0.0948, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679845",
"player_name": "Nick Loftin",
"position": "3B",
"team": "KC",
"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.253,
"predicted_3B": 0.0,
"predicted_AB": 2.96,
"predicted_AVG": 0.251,
"predicted_BB": 0.4,
"predicted_H": 0.61,
"predicted_HR": 0.08,
"predicted_OBP": 0.308,
"predicted_R": 0.533,
"predicted_RBI": 0.42,
"predicted_SLG": 0.375,
"predicted_SO": 0.36
},
"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.2971,
"predicted_3B": 0.0008,
"predicted_AB": 4.2655,
"predicted_AVG": 0.2384,
"predicted_BB": 0.5833,
"predicted_H": 0.9174,
"predicted_HBP": 0.134,
"predicted_HR": 0.1048,
"predicted_OBP": 0.3122,
"predicted_R": 0.784,
"predicted_RBI": 0.7438,
"predicted_SLG": 0.3644,
"predicted_SO": 0.6068
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.253,
"after": 0.2971,
"delta": 0.0441,
"percent_delta": 0.1743,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.96,
"after": 4.2655,
"delta": 1.3055,
"percent_delta": 0.441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2384,
"delta": -0.0126,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.5833,
"delta": 0.1833,
"percent_delta": 0.4583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.9174,
"delta": 0.3074,
"percent_delta": 0.5039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1048,
"delta": 0.0248,
"percent_delta": 0.31,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3122,
"delta": 0.0042,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 0.784,
"delta": 0.251,
"percent_delta": 0.4709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.7438,
"delta": 0.3238,
"percent_delta": 0.771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3644,
"delta": -0.0106,
"percent_delta": -0.0283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.36,
"after": 0.6068,
"delta": 0.2468,
"percent_delta": 0.6856,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 6,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.96,
"after": 4.2655,
"delta": 1.3055,
"percent_delta": 0.441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2384,
"delta": -0.0126,
"percent_delta": -0.0502,
"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": 8,
"season": 28
}
},
{
"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.2971,
"predicted_3B": 0.0008,
"predicted_AB": 4.2655,
"predicted_AVG": 0.2114,
"predicted_BB": 0.5761,
"predicted_H": 0.9016,
"predicted_HBP": 0.134,
"predicted_HR": 0.1026,
"predicted_OBP": 0.3052,
"predicted_R": 0.7595,
"predicted_RBI": 0.7206,
"predicted_SLG": 0.3536,
"predicted_SO": 0.6143
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2971,
"after": 0.2971,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2655,
"after": 4.2655,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2384,
"after": 0.2114,
"delta": -0.027,
"percent_delta": -0.1133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5833,
"after": 0.5761,
"delta": -0.0072,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9174,
"after": 0.9016,
"delta": -0.0158,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1048,
"after": 0.1026,
"delta": -0.0022,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3122,
"after": 0.3052,
"delta": -0.007,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.784,
"after": 0.7595,
"delta": -0.0245,
"percent_delta": -0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7438,
"after": 0.7206,
"delta": -0.0232,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3644,
"after": 0.3536,
"delta": -0.0108,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6068,
"after": 0.6143,
"delta": 0.0075,
"percent_delta": 0.0124,
"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.2384,
"after": 0.2114,
"delta": -0.027,
"percent_delta": -0.1133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.27), rates preserved: AVG=0.211 HR/AB=0.024",
"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.2971,
"after": 0.0,
"delta": -0.2971,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2655,
"after": 4.0,
"delta": -0.2655,
"percent_delta": -0.0622,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5761,
"after": 1.0,
"delta": 0.4239,
"percent_delta": 0.7358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9016,
"after": 1.0,
"delta": 0.0984,
"percent_delta": 0.1091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1026,
"after": 0.0,
"delta": -0.1026,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7206,
"after": 1.0,
"delta": 0.2794,
"percent_delta": 0.3877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6143,
"after": 1.0,
"delta": 0.3857,
"percent_delta": 0.6279,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5761,
"after": 1.0,
"delta": 0.4239,
"percent_delta": 0.7358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2971,
"after": 0.0,
"delta": -0.2971,
"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": 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.7595,
"after": 1.0,
"delta": 0.2405,
"percent_delta": 0.3167,
"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.7595,
"after": 1.0,
"delta": 0.2405,
"percent_delta": 0.3167,
"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": 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.2114,
"after": 0.25,
"delta": 0.0386,
"percent_delta": 0.1826,
"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.3052,
"after": 0.4,
"delta": 0.0948,
"percent_delta": 0.3106,
"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.3536,
"after": 0.25,
"delta": -0.1036,
"percent_delta": -0.293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3052,
"after": 0.4,
"delta": 0.0948,
"percent_delta": 0.3106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3536,
"after": 0.25,
"delta": -0.1036,
"percent_delta": -0.293,
"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": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2114,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3052,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3536,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2114,
"delta": -0.0386,
"percent_delta": -0.1545,
"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.4,
"after": 0.3052,
"delta": -0.0948,
"percent_delta": -0.237,
"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.25,
"after": 0.3536,
"delta": 0.1036,
"percent_delta": 0.4144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3536,
"delta": 0.1036,
"percent_delta": 0.4144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3052,
"delta": -0.0948,
"percent_delta": -0.237,
"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.253,
"after": 0.0,
"delta": -0.253,
"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.96,
"after": 4.0,
"delta": 1.04,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2114,
"delta": -0.0396,
"percent_delta": -0.1578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 1.0,
"delta": 0.39,
"percent_delta": 0.6393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3052,
"delta": -0.0028,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 0.0,
"delta": -0.533,
"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.375,
"after": 0.3536,
"delta": -0.0214,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.96,
"after": 4.0,
"delta": 1.04,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.533,
"after": 0.0,
"delta": -0.533,
"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.253 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.960 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.533 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.375 | - |
| predicted_SO | 0.360 | - |
Final model 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.297 | 0.044 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.266 | 1.306 |
| predicted_AVG | 0.238 | -0.013 |
| predicted_BB | 0.583 | 0.183 |
| predicted_H | 0.917 | 0.307 |
| predicted_HBP | 0.134 | - |
| predicted_HR | 0.105 | 0.025 |
| predicted_OBP | 0.312 | 0.004 |
| predicted_R | 0.784 | 0.251 |
| predicted_RBI | 0.744 | 0.324 |
| predicted_SLG | 0.364 | -0.011 |
| predicted_SO | 0.607 | 0.247 |
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.297 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.266 | 0.000 |
| predicted_AVG | 0.211 | -0.027 |
| predicted_BB | 0.576 | -0.007 |
| predicted_H | 0.902 | -0.016 |
| predicted_HBP | 0.134 | 0.000 |
| predicted_HR | 0.103 | -0.002 |
| predicted_OBP | 0.305 | -0.007 |
| predicted_R | 0.759 | -0.025 |
| predicted_RBI | 0.721 | -0.023 |
| predicted_SLG | 0.354 | -0.011 |
| predicted_SO | 0.614 | 0.007 |
AB rounded to 4 (raw=4.27), rates preserved: AVG=0.211 HR/AB=0.024
| 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 | - |
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.297 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.266 |
| predicted_AVG | 0.250 | 0.039 |
| predicted_BB | 1.000 | 0.424 |
| predicted_H | 1.000 | 0.098 |
| predicted_HR | 0.000 | -0.103 |
| predicted_OBP | 0.400 | 0.095 |
| predicted_R | 1.000 | 0.241 |
| predicted_RBI | 1.000 | 0.279 |
| predicted_SLG | 0.250 | -0.104 |
| predicted_SO | 1.000 | 0.386 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | - | 15.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 3.000 | 3.000 | 0.2667 | 0.3684 | 0.4667 | 0.2667 | 0.0667 | 0.2000 | 0.2000 | 0.2000 |
| last_10 | 0.20 | 8 | - | 30.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 3.000 | 6.000 | 0.1667 | 0.2353 | 0.3000 | 0.1667 | 0.0333 | 0.1000 | 0.1000 | 0.2000 |
| season | 0.60 | 28 | - | 222.000 | 47.000 | 19.000 | 0.000 | 1.000 | 50.000 | 40.000 | 30.000 | 27.000 | 0.2117 | 0.3184 | 0.3108 | 0.2117 | 0.0045 | 0.2252 | 0.1351 | 0.1216 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3580 |
| predicted_3B | 0.0020 |
| predicted_AB | 6.0650 |
| predicted_AVG | 0.2211 |
| predicted_BB | 0.8360 |
| predicted_H | 1.3410 |
| predicted_HBP | 0.1340 |
| predicted_HR | 0.1390 |
| predicted_OBP | 0.3179 |
| predicted_R | 1.1300 |
| predicted_RBI | 1.1900 |
| predicted_SLG | 0.3498 |
| predicted_SO | 0.9470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2530 | 0.3580 | 0.2971 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9600 | 6.0650 | 4.2655 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2211 | 0.2384 | model_form_blend |
| predicted_BB | 0.4000 | 0.8360 | 0.5833 | model_form_blend |
| predicted_H | 0.6100 | 1.3410 | 0.9174 | model_form_blend |
| predicted_HBP | - | 0.1340 | 0.1340 | form_only |
| predicted_HR | 0.0800 | 0.1390 | 0.1048 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3179 | 0.3122 | model_form_blend |
| predicted_R | 0.5330 | 1.1300 | 0.7840 | model_form_blend |
| predicted_RBI | 0.4200 | 1.1900 | 0.7438 | model_form_blend |
| predicted_SLG | 0.3750 | 0.3498 | 0.3644 | model_form_blend |
| predicted_SO | 0.3600 | 0.9470 | 0.6068 | 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 | 77 |
| Season rows before report date | 77 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.212 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_KC@CIN |
| game_type | full |
| mlbID | 679845 |
| playerID | 679845 |
| playerName | Nick Loftin |
| pos | 2B |
| started | True |
| startingPosition | 3B |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-03 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.305 |
| sl_xwoba | 0.31 |
| sl_xba | 0.229 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 32.9 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 12.3 |
| sl_swing_percent | 38.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.134 | 0.000 | 0.000 | Hitting_2B | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.255 | 4.000 | 5.000 | Hitting_AB | 3.234 | 2.000 | 0.766 | 2.000 |
| predicted_AVG | 0.239 | 0.250 | 0.200 | Hitting_AVG | 0.260 | 0.000 | -0.010 | 0.250 |
| predicted_BB | 0.172 | 0.000 | 0.000 | Hitting_BB | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.630 | 1.000 | 1.000 | Hitting_H | 0.842 | 0.000 | 0.158 | 1.000 |
| predicted_HR | 0.060 | 1.000 | 0.000 | Hitting_HR | 0.070 | 0.000 | 0.930 | 1.000 |
| predicted_OBP | 0.260 | 0.250 | 0.200 | Hitting_OBP | 0.310 | 0.000 | -0.060 | 0.250 |
| predicted_R | 0.363 | 1.000 | 0.000 | Hitting_R | 0.367 | 0.000 | 0.633 | 1.000 |
| predicted_RBI | 0.260 | 2.000 | 0.000 | Hitting_RBI | 0.266 | 0.000 | 1.734 | 2.000 |
| predicted_SLG | 0.333 | 1.000 | 0.200 | Hitting_SLG | 0.382 | 0.000 | 0.618 | 1.000 |
| predicted_SO | 0.924 | 1.000 | 1.000 | Hitting_SO | 0.918 | 0.000 | 0.082 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.2600 -> 2.0000 (boost 1.7400, better) |
| Biggest Deboost | predicted_BB: 0.1720 -> 0.0000 (deboost -0.1720, 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 | 6 | 1 | 5 | 2 | predicted_AB: 3.2550 -> 5.0658 (boost 1.8108, better) | predicted_AVG: 0.2390 -> 0.2298 (deboost -0.0092, 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.2298 -> 0.2053 (deboost -0.0245, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_SO: 1.3290 -> 1.0000 (deboost -0.3290, better) | AB rounded to 5 (raw=5.07), rates preserved: AVG=0.205 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4351 -> 0.0000 (deboost -0.4351, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3119 -> 0.2000 (deboost -0.1119, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 3 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3119 (boost 0.1119, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664728",
"player_name": "Kyle Isbel",
"position": "CF",
"team": "KC",
"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.134,
"predicted_3B": 0.025,
"predicted_AB": 3.255,
"predicted_AVG": 0.239,
"predicted_BB": 0.172,
"predicted_H": 0.63,
"predicted_HR": 0.06,
"predicted_OBP": 0.26,
"predicted_R": 0.363,
"predicted_RBI": 0.26,
"predicted_SLG": 0.333,
"predicted_SO": 0.924
},
"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.2367,
"predicted_3B": 0.0302,
"predicted_AB": 5.0658,
"predicted_AVG": 0.2298,
"predicted_BB": 0.2155,
"predicted_H": 1.0584,
"predicted_HBP": 0.111,
"predicted_HR": 0.0826,
"predicted_OBP": 0.2566,
"predicted_R": 0.4491,
"predicted_RBI": 0.3326,
"predicted_SLG": 0.3286,
"predicted_SO": 1.3129
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.134,
"after": 0.2367,
"delta": 0.1027,
"percent_delta": 0.7664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0302,
"delta": 0.0052,
"percent_delta": 0.208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.255,
"after": 5.0658,
"delta": 1.8108,
"percent_delta": 0.5563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2298,
"delta": -0.0092,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.172,
"after": 0.2155,
"delta": 0.0435,
"percent_delta": 0.2529,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 1.0584,
"delta": 0.4284,
"percent_delta": 0.68,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0826,
"delta": 0.0226,
"percent_delta": 0.3767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.26,
"after": 0.2566,
"delta": -0.0034,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.363,
"after": 0.4491,
"delta": 0.0861,
"percent_delta": 0.2372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.3326,
"delta": 0.0726,
"percent_delta": 0.2792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3286,
"delta": -0.0044,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 1.3129,
"delta": 0.3889,
"percent_delta": 0.4209,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.255,
"after": 5.0658,
"delta": 1.8108,
"percent_delta": 0.5563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2298,
"delta": -0.0092,
"percent_delta": -0.0385,
"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": 8,
"season": 50
}
},
{
"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.2367,
"predicted_3B": 0.0302,
"predicted_AB": 5.0658,
"predicted_AVG": 0.2053,
"predicted_BB": 0.2128,
"predicted_H": 1.0402,
"predicted_HBP": 0.111,
"predicted_HR": 0.0809,
"predicted_OBP": 0.2374,
"predicted_R": 0.4351,
"predicted_RBI": 0.3222,
"predicted_SLG": 0.3119,
"predicted_SO": 1.329
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2367,
"after": 0.2367,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0302,
"after": 0.0302,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0658,
"after": 5.0658,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2298,
"after": 0.2053,
"delta": -0.0245,
"percent_delta": -0.1066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2155,
"after": 0.2128,
"delta": -0.0027,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0584,
"after": 1.0402,
"delta": -0.0182,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.111,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0826,
"after": 0.0809,
"delta": -0.0017,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2566,
"after": 0.2374,
"delta": -0.0192,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4491,
"after": 0.4351,
"delta": -0.014,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3326,
"after": 0.3222,
"delta": -0.0104,
"percent_delta": -0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3286,
"after": 0.3119,
"delta": -0.0167,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3129,
"after": 1.329,
"delta": 0.0161,
"percent_delta": 0.0123,
"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.2298,
"after": 0.2053,
"delta": -0.0245,
"percent_delta": -0.1066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.07), rates preserved: AVG=0.205 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2367,
"after": 0.0,
"delta": -0.2367,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0302,
"after": 0.0,
"delta": -0.0302,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0658,
"after": 5.0,
"delta": -0.0658,
"percent_delta": -0.013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2128,
"after": 0.0,
"delta": -0.2128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0402,
"after": 1.0,
"delta": -0.0402,
"percent_delta": -0.0386,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0809,
"after": 0.0,
"delta": -0.0809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3222,
"after": 0.0,
"delta": -0.3222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.329,
"after": 1.0,
"delta": -0.329,
"percent_delta": -0.2476,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.329,
"after": 1.0,
"delta": -0.329,
"percent_delta": -0.2476,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4351,
"after": 0.0,
"delta": -0.4351,
"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.4351,
"after": 0.0,
"delta": -0.4351,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.0,
"predicted_RBI": 0.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.2053,
"after": 0.2,
"delta": -0.0053,
"percent_delta": -0.0258,
"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.2374,
"after": 0.2,
"delta": -0.0374,
"percent_delta": -0.1575,
"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.3119,
"after": 0.2,
"delta": -0.1119,
"percent_delta": -0.3588,
"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.3119,
"after": 0.2,
"delta": -0.1119,
"percent_delta": -0.3588,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2053,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2374,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3119,
"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.2,
"after": 0.2053,
"delta": 0.0053,
"percent_delta": 0.0267,
"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": 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.2,
"after": 0.2374,
"delta": 0.0374,
"percent_delta": 0.1869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3119,
"delta": 0.1119,
"percent_delta": 0.5595,
"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.2,
"after": 0.3119,
"delta": 0.1119,
"percent_delta": 0.5595,
"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.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.255,
"after": 4.0,
"delta": 0.745,
"percent_delta": 0.2289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2053,
"delta": -0.0337,
"percent_delta": -0.141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 1.0,
"delta": 0.37,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 1.0,
"delta": 0.94,
"percent_delta": 15.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.26,
"after": 0.2374,
"delta": -0.0226,
"percent_delta": -0.0869,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.363,
"after": 1.0,
"delta": 0.637,
"percent_delta": 1.7548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 2.0,
"delta": 1.74,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3119,
"delta": -0.0211,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 1.0,
"delta": 0.076,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.26,
"after": 2.0,
"delta": 1.74,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"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.134 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.255 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.172 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.260 | - |
| predicted_R | 0.363 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.333 | - |
| predicted_SO | 0.924 | - |
Final model 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.237 | 0.103 |
| predicted_3B | 0.030 | 0.005 |
| predicted_AB | 5.066 | 1.811 |
| predicted_AVG | 0.230 | -0.009 |
| predicted_BB | 0.215 | 0.044 |
| predicted_H | 1.058 | 0.428 |
| predicted_HBP | 0.111 | - |
| predicted_HR | 0.083 | 0.023 |
| predicted_OBP | 0.257 | -0.003 |
| predicted_R | 0.449 | 0.086 |
| predicted_RBI | 0.333 | 0.073 |
| predicted_SLG | 0.329 | -0.004 |
| predicted_SO | 1.313 | 0.389 |
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.237 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 5.066 | 0.000 |
| predicted_AVG | 0.205 | -0.024 |
| predicted_BB | 0.213 | -0.003 |
| predicted_H | 1.040 | -0.018 |
| predicted_HBP | 0.111 | 0.000 |
| predicted_HR | 0.081 | -0.002 |
| predicted_OBP | 0.237 | -0.019 |
| predicted_R | 0.435 | -0.014 |
| predicted_RBI | 0.322 | -0.010 |
| predicted_SLG | 0.312 | -0.017 |
| predicted_SO | 1.329 | 0.016 |
AB rounded to 5 (raw=5.07), rates preserved: AVG=0.205 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.237 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 5.000 | -0.066 |
| predicted_AVG | 0.200 | -0.005 |
| predicted_BB | 0.000 | -0.213 |
| predicted_H | 1.000 | -0.040 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.200 | -0.037 |
| predicted_R | 0.000 | -0.435 |
| predicted_RBI | 0.000 | -0.322 |
| predicted_SLG | 0.200 | -0.112 |
| predicted_SO | 1.000 | -0.329 |
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 | 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 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.1667 | 0.1667 | 0.2500 | 0.1667 | 0.0000 | 0.0000 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 8 | - | 26.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.0769 | 0.0769 | 0.1154 | 0.0769 | 0.0000 | 0.0000 | 0.0000 | 0.1923 |
| season | 0.60 | 50 | - | 511.000 | 133.000 | 21.000 | 4.000 | 11.000 | 42.000 | 57.000 | 27.000 | 145.000 | 0.2603 | 0.3105 | 0.3816 | 0.2603 | 0.0215 | 0.0822 | 0.0528 | 0.2838 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3700 |
| predicted_3B | 0.0370 |
| predicted_AB | 7.4180 |
| predicted_AVG | 0.2178 |
| predicted_BB | 0.2720 |
| predicted_H | 1.6150 |
| predicted_HBP | 0.1110 |
| predicted_HR | 0.1120 |
| predicted_OBP | 0.2521 |
| predicted_R | 0.5610 |
| predicted_RBI | 0.4270 |
| predicted_SLG | 0.3229 |
| predicted_SO | 1.8180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1340 | 0.3700 | 0.2367 | model_form_blend |
| predicted_3B | 0.0250 | 0.0370 | 0.0302 | model_form_blend |
| predicted_AB | 3.2550 | 7.4180 | 5.0658 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2178 | 0.2298 | model_form_blend |
| predicted_BB | 0.1720 | 0.2720 | 0.2155 | model_form_blend |
| predicted_H | 0.6300 | 1.6150 | 1.0584 | model_form_blend |
| predicted_HBP | - | 0.1110 | 0.1110 | form_only |
| predicted_HR | 0.0600 | 0.1120 | 0.0826 | model_form_blend |
| predicted_OBP | 0.2600 | 0.2521 | 0.2566 | model_form_blend |
| predicted_R | 0.3630 | 0.5610 | 0.4491 | model_form_blend |
| predicted_RBI | 0.2600 | 0.4270 | 0.3326 | model_form_blend |
| predicted_SLG | 0.3330 | 0.3229 | 0.3286 | model_form_blend |
| predicted_SO | 0.9240 | 1.8180 | 1.3129 | 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 | 158 |
| Season rows before report date | 158 |
| Report year | 2026 |
| Profile rows used | 157 |
| 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 | 1 |
| 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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260603_KC@CIN |
| game_type | full |
| mlbID | 664728 |
| playerID | 664728 |
| playerName | Kyle Isbel |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.288 |
| sl_xwoba | 0.275 |
| sl_xba | 0.237 |
| sl_xslg | 0.33 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 33.1 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 48.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 | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.917 | 0.000 | -0.917 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.333 | 1.000 | -2.333 | -1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 6.083 | 6.000 | -3.083 | -3.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.800 | 6.000 | -0.600 | -0.800 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.000 | 6.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: 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": "607625",
"player_name": "Seth Lugo",
"position": "Starter",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 0.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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 | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 27.100 | 15.000 | 32.000 | 10.000 | 23.000 | 3.000 | 4.9390 | 1.5366 | 0.5488 | 1.1707 | 0.3659 | 0.8415 | 0.1098 |
| last_10 | 0.35 | 10 | 59.200 | 26.000 | 64.000 | 21.000 | 50.000 | 4.000 | 3.9218 | 1.4246 | 0.4358 | 1.0726 | 0.3520 | 0.8380 | 0.0670 |
| season | 0.20 | 12 | 71.000 | 28.000 | 73.000 | 23.000 | 60.000 | 4.000 | 3.5493 | 1.3521 | 0.3944 | 1.0282 | 0.3239 | 0.8451 | 0.0563 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0300 |
| predicted_ER | 2.7290 |
| predicted_ERA | 4.3161 |
| predicted_H | 6.0500 |
| predicted_HR | 0.5670 |
| predicted_IP | 5.2000 |
| predicted_SO | 4.9530 |
| predicted_WHIP | 1.4200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 2.0300 | 1.5415 | model_form_blend |
| predicted_ER | 0.0000 | 2.7290 | 1.4348 | model_form_blend |
| predicted_ERA | - | 4.3161 | 4.3161 | form_only |
| predicted_H | 3.0000 | 6.0500 | 4.6035 | model_form_blend |
| predicted_HR | 0.0000 | 0.5670 | 0.2981 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 5.0000 | 4.9530 | 4.9753 | model_form_blend |
| predicted_WHIP | - | 1.4200 | 1.4200 | 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 | 12 |
| Season rows before report date | 12 |
| Report year | 2026 |
| Profile rows used | 12 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 3 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 5 |
| HR | 0 |
| BF | 22 |
| Pitches | 101 |
| 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 | 26 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.55 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 8 |
| Pitching_H | 6 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 90 |
| Pitching_R | 3 |
| Pitching_SO | 6 |
| Pitching_Strikes | 64 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260530_KC@TEX |
| game_type | full |
| mlbID | 607625 |
| playerID | 607625 |
| playerName | Seth Lugo |
| pos | P |
| started | True |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-30 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.321 |
| sl_xwoba | 0.348 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 41.4 |
| sl_whiff_percent | 17.7 |
| sl_swing_percent | 47.4 |
| sl_avg_best_speed | 79.824751792 |
| sl_avg_hyper_speed | 94.512794834 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.208 | 0.000 | -0.208 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.667 | 1.000 | 0.333 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.888 | 1.000 | 0.213 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.167 | 1.000 | -1.167 | -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": "663738",
"player_name": "Daniel Lynch IV",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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 | 1.000 | - |
| predicted_ER | 0.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.100 | 1.000 | 6.000 | 2.000 | 2.000 | 0.000 | 2.0769 | 1.8462 | 0.2308 | 1.3846 | 0.4615 | 0.4615 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 11.000 | 4.000 | 10.000 | 0.000 | 1.8621 | 1.5517 | 0.2069 | 1.1379 | 0.4138 | 1.0345 | 0.0000 |
| season | 0.20 | 24 | 24.100 | 5.000 | 16.000 | 8.000 | 28.000 | 1.000 | 1.8493 | 0.9863 | 0.2055 | 0.6575 | 0.3288 | 1.1507 | 0.0411 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3920 |
| predicted_ER | 0.3530 |
| predicted_ERA | 3.1735 |
| predicted_H | 1.0520 |
| predicted_HR | 0.0740 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8720 |
| predicted_WHIP | 1.4444 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3920 | 0.7358 | model_form_blend |
| predicted_ER | 0.0000 | 0.3530 | 0.1534 | model_form_blend |
| predicted_ERA | - | 3.1735 | 3.1735 | form_only |
| predicted_H | 1.0000 | 1.0520 | 1.0226 | model_form_blend |
| predicted_HR | 0.0000 | 0.0740 | 0.0322 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8720 | 0.3789 | model_form_blend |
| predicted_WHIP | - | 1.4444 | 1.4444 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.85 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260603_KC@CIN |
| game_type | full |
| mlbID | 663738 |
| playerID | 663738 |
| playerName | Daniel Lynch IV |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-03 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.253 |
| sl_xwoba | 0.269 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 33.9 |
| sl_whiff_percent | 34.1 |
| sl_swing_percent | 47.4 |
| sl_avg_best_speed | 73.36350129 |
| sl_avg_hyper_speed | 93.648174839 |
| 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.625 | 2.000 | -0.625 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.667 | 1.000 | -0.667 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.208 | 1.000 | -1.208 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.892 | 1.000 | 0.108 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.833 | 2.000 | 0.167 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "668674",
"player_name": "Lucas Erceg",
"position": "Middle Reliever",
"team": "KC",
"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 | 5.000 | 6.000 | 11.000 | 3.000 | 5.000 | 1.000 | 10.8000 | 2.8000 | 1.2000 | 2.2000 | 0.6000 | 1.0000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 7.000 | 14.000 | 5.000 | 10.000 | 1.000 | 6.3000 | 1.9000 | 0.7000 | 1.4000 | 0.5000 | 1.0000 | 0.1000 |
| season | 0.20 | 23 | 22.100 | 13.000 | 24.000 | 15.000 | 20.000 | 1.000 | 5.2388 | 1.7463 | 0.5821 | 1.0746 | 0.6716 | 0.8955 | 0.0448 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4660 |
| predicted_ER | 0.6790 |
| predicted_ERA | 6.1089 |
| predicted_H | 1.3020 |
| predicted_HR | 0.1360 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9590 |
| predicted_WHIP | 1.7685 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4660 | 0.1983 | model_form_blend |
| predicted_ER | 0.0000 | 0.6790 | 0.2889 | model_form_blend |
| predicted_ERA | - | 6.1089 | 6.1089 | form_only |
| predicted_H | 0.0000 | 1.3020 | 0.5539 | model_form_blend |
| predicted_HR | 0.0000 | 0.1360 | 0.0579 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9590 | 0.9826 | model_form_blend |
| predicted_WHIP | - | 1.7685 | 1.7685 | 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 | 24 |
| Season rows before report date | 24 |
| 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.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.45 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 24 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260602_KC@CIN |
| game_type | full |
| mlbID | 668674 |
| playerID | 668674 |
| playerName | Lucas Erceg |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-02 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 14.4 |
| sl_woba | 0.403 |
| sl_xwoba | 0.33 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 40.6 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 47.0 |
| sl_avg_best_speed | 74.458634706 |
| sl_avg_hyper_speed | 94.494434118 |
| 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.389 | 0.000 | -0.389 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.444 | 1.000 | -0.444 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.833 | 1.000 | 0.167 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.911 | 1.000 | 0.089 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.944 | 0.000 | 1.056 | 2.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": "621381",
"player_name": "Matt Strahm",
"position": "Middle Reliever",
"team": "KC",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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 | 1.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.200 | 3.000 | 5.000 | 1.000 | 3.000 | 2.000 | 5.7857 | 1.2857 | 0.6429 | 1.0714 | 0.2143 | 0.6429 | 0.4286 |
| last_10 | 0.35 | 10 | 9.200 | 5.000 | 10.000 | 4.000 | 8.000 | 3.000 | 4.6552 | 1.4483 | 0.5172 | 1.0345 | 0.4138 | 0.8276 | 0.3103 |
| season | 0.20 | 18 | 17.100 | 8.000 | 15.000 | 7.000 | 17.000 | 4.000 | 4.1538 | 1.2692 | 0.4615 | 0.8654 | 0.4038 | 0.9808 | 0.2308 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3490 |
| predicted_ER | 0.5150 |
| predicted_ERA | 4.6356 |
| predicted_H | 0.9810 |
| predicted_HR | 0.2230 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8740 |
| predicted_WHIP | 1.3295 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3490 | 0.1393 | model_form_blend |
| predicted_ER | 0.0000 | 0.5150 | 0.2056 | model_form_blend |
| predicted_ERA | - | 4.6356 | 4.6356 | form_only |
| predicted_H | 1.0000 | 0.9810 | 0.9924 | model_form_blend |
| predicted_HR | 0.0000 | 0.2230 | 0.0890 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8740 | 1.5505 | model_form_blend |
| predicted_WHIP | - | 1.3295 | 1.3295 | 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 | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.15 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260602_KC@CIN |
| game_type | full |
| mlbID | 621381 |
| playerID | 621381 |
| playerName | Matt Strahm |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-02 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.338 |
| sl_xwoba | 0.275 |
| sl_sweet_spot_percent | 28.0 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 48.3 |
| sl_avg_best_speed | 80.5454924 |
| sl_avg_hyper_speed | 93.220572 |
| Field | Value |
|---|---|
| Pitcher | Andrew Morris |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1789 |
| ESPN Rank | 314 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0870 |
| Avg Velo | 91.2544 |
| Avg Spin | 2082.7997 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 4.0685 |
| Season WHIP | 1.5205 |
| Role Avg IP | 1 |
| Recent Avg IP | 1 |
| Last Start IP | 1 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 69,
"wins": 32,
"losses": 37,
"win_pct": 0.4638,
"runs_scored": 326.0,
"runs_allowed": 338.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1739,
"avg_runs_scored": 4.7246,
"avg_runs_allowed": 4.8986,
"offense_index": 1.0586,
"defense_index": 0.9111,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 7.0,
"run_differential": -28.0
},
"available": true,
"quality_score": -0.1222
},
"opponent": {
"team": "KC",
"games": 70,
"wins": 25,
"losses": 45,
"win_pct": 0.3571,
"runs_scored": 260.0,
"runs_allowed": 327.0,
"run_differential": -67.0,
"run_differential_per_game": -0.9571,
"avg_runs_scored": 3.7143,
"avg_runs_allowed": 4.6714,
"offense_index": 0.8322,
"defense_index": 0.9554,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.2,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.3094
},
"edges": {
"quality_edge": 0.1872,
"offense_edge": 0.0586,
"opponent_offense_edge": -0.1678,
"defense_strength": -0.0889,
"opponent_defense_weakness": 0.0446,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0115,
"run_prevention": 0.9727,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "702193",
"profile": {
"available": true,
"pitcher_id": "702193",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 20.0,
"bb_percent": 8.2,
"woba": 0.33,
"xwoba": 0.288,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 32.1,
"avg_best_speed": 74.8015,
"avg_hyper_speed": 92.6304,
"whiff_percent": 23.7,
"swing_percent": 49.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5835,
"command_and_miss": -0.2157,
"regression_edge": 1.2,
"xwoba_edge": 0.7714,
"barrel_edge": 1.0222,
"hard_hit_edge": 0.9,
"whiff_edge": -0.3,
"bb_edge": 0.25,
"pitch_design_score": 0.087
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "702193",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 91.25441707079453,
"release_spin_rate": 2082.799748804589,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 91.25441707079453,
"release_spin_rate": 2082.799748804589,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.2544,
"release_spin_rate": 2082.7997,
"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.087,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6216,
"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.1789,
"sample_weight": 0.45,
"run_prevention_factor": 0.9848,
"strikeout_factor": 0.9882,
"walk_factor": 0.991,
"homer_factor": 0.9366,
"woba_minus_xwoba": 0.042,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "702193",
"espn_id": 5007765,
"player_name": "Andrew Morris",
"team": "MIN",
"role": "pitcher",
"espn_rank": 314,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 314,
"gp_value": 17.0,
"gp_rank": 181,
"gs_value": 1.0,
"gs_rank": 224,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.0684,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 7.0,
"hld_rank": 36,
"ip_value": 24.1,
"ip_rank": 269,
"h_value": 28.0,
"h_rank": 176,
"er_value": 11.0,
"er_rank": 242,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 22.0,
"k_rank": 287,
"k_per_9_value": 8.136987,
"k_per_9_rank": 28,
"whip_value": 1.5205,
"whip_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9932,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9932,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9715,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.9947,
"adjusted": 0
}
}
}
}{
"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": 2,
"H": 8,
"BB": 5,
"SO": 8,
"HR": 0,
"ERA": 2.076923076923077,
"WHIP": 1.5,
"K9": 8.307692307692308,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "702193",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 91.25441707079453,
"release_spin_rate": 2082.799748804589,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 91.25441707079453,
"release_spin_rate": 2082.799748804589,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.2544,
"release_spin_rate": 2082.7997,
"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.087,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6216,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.803,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"role": "pitcher",
"player_id": "702193",
"report_date": "20260604_K",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 2.0,
"H": 4.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.8,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 19.4
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.6154,
"ER_per_IP": 0.23077,
"H_per_IP": 0.92308,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 2.0,
"R": 4.0,
"H": 8.0,
"BB": 5.0,
"SO": 8.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 166.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.8,
"BB": 0.5,
"SO": 0.8,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.6
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.5,
"ER_per_IP": 0.23077,
"H_per_IP": 0.92308,
"BB_per_IP": 0.57692,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.0
}
},
"season": {
"games": 17,
"totals": {
"IP": 24.1,
"ER": 11.0,
"R": 13.0,
"H": 28.0,
"BB": 9.0,
"SO": 22.0,
"HR": 1.0,
"BF": 110.0,
"Pitches": 447.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6471,
"R": 0.7647,
"H": 1.6471,
"BB": 0.5294,
"SO": 1.2941,
"HR": 0.0588,
"BF": 6.4706,
"Pitches": 26.2941
},
"rates": {
"ERA": 4.0685,
"WHIP": 1.5205,
"ER_per_IP": 0.45205,
"H_per_IP": 1.15068,
"BB_per_IP": 0.36986,
"SO_per_IP": 0.90411,
"HR_per_IP": 0.0411
}
}
},
"weighted_prediction": {
"predicted_IP": 3.0,
"predicted_ER": 1.17,
"predicted_H": 2.957,
"predicted_BB": 1.459,
"predicted_SO": 3.172,
"predicted_HR": 0.227,
"predicted_ERA": 3.4278,
"predicted_WHIP": 1.437
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5655,
"form_weight": 0.4345,
"form_reliability": 0.4899,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.803,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 3.0,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.17,
"final": 1.6394,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 2.957,
"final": 2.4158,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.459,
"final": 1.7649,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 3.172,
"final": 4.2058,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.227,
"final": 0.0986,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4278,
"final": 3.4278,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.437,
"final": 1.437,
"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 | Eric Orze |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0773 |
| ESPN Rank | 187 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2138 |
| Avg Velo | 85.8827 |
| Avg Spin | 2018.5778 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.7674 |
| Season WHIP | 1.3953 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 69,
"wins": 32,
"losses": 37,
"win_pct": 0.4638,
"runs_scored": 326.0,
"runs_allowed": 338.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1739,
"avg_runs_scored": 4.7246,
"avg_runs_allowed": 4.8986,
"offense_index": 1.0586,
"defense_index": 0.9111,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 7.0,
"run_differential": -28.0
},
"available": true,
"quality_score": -0.1222
},
"opponent": {
"team": "KC",
"games": 70,
"wins": 25,
"losses": 45,
"win_pct": 0.3571,
"runs_scored": 260.0,
"runs_allowed": 327.0,
"run_differential": -67.0,
"run_differential_per_game": -0.9571,
"avg_runs_scored": 3.7143,
"avg_runs_allowed": 4.6714,
"offense_index": 0.8322,
"defense_index": 0.9554,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.2,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.3094
},
"edges": {
"quality_edge": 0.1872,
"offense_edge": 0.0586,
"opponent_offense_edge": -0.1678,
"defense_strength": -0.0889,
"opponent_defense_weakness": 0.0446,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0115,
"run_prevention": 0.9727,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "679358",
"profile": {
"available": true,
"pitcher_id": "679358",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 110.0,
"k_percent": 21.6,
"bb_percent": 11.2,
"woba": 0.28,
"xwoba": 0.3,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 29.8,
"avg_best_speed": 74.948,
"avg_hyper_speed": 93.109,
"whiff_percent": 25.1,
"swing_percent": 43.9
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5288,
"command_and_miss": -0.1929,
"regression_edge": -0.5714,
"xwoba_edge": 0.4286,
"barrel_edge": 0.5333,
"hard_hit_edge": 1.2286,
"whiff_edge": -0.1,
"bb_edge": -0.5,
"pitch_design_score": -0.2138
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "679358",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 85.88265413315652,
"release_spin_rate": 2018.5777884598785,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 85.88265413315652,
"release_spin_rate": 2018.5777884598785,
"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": 85.8827,
"release_spin_rate": 2018.5778,
"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.2138,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.5271,
"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.0773,
"sample_weight": 0.45,
"run_prevention_factor": 0.9934,
"strikeout_factor": 0.9959,
"walk_factor": 1.018,
"homer_factor": 0.9529,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679358",
"espn_id": 4299966,
"player_name": "Eric Orze",
"team": "MIN",
"role": "pitcher",
"espn_rank": 187,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 187,
"gp_value": 24.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.7674,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 6.0,
"hld_rank": 57,
"ip_value": 28.2,
"ip_rank": 191,
"h_value": 26.0,
"h_rank": 198,
"er_value": 12.0,
"er_rank": 220,
"hr_value": 0.0,
"hr_rank": 536,
"bb_value": 14.0,
"bb_rank": 167,
"k_value": 27.0,
"k_rank": 223,
"k_per_9_value": 8.476744,
"k_per_9_rank": 31,
"whip_value": 1.3953,
"whip_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.997,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.997,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0081,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9788,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9982,
"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": 13.0,
"ER": 4,
"H": 12,
"BB": 6,
"SO": 12,
"HR": 0,
"ERA": 2.769230769230769,
"WHIP": 1.3846153846153846,
"K9": 8.307692307692308,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "679358",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 85.88265413315652,
"release_spin_rate": 2018.5777884598785,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 85.88265413315652,
"release_spin_rate": 2018.5777884598785,
"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": 85.8827,
"release_spin_rate": 2018.5778,
"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.2138,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.5271,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.658,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5309,
"prior_weight": 0.4691
},
"role": "pitcher",
"player_id": "679358",
"report_date": "20260604_K",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 3.0,
"R": 4.0,
"H": 7.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 29.0,
"Pitches": 102.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6,
"R": 0.8,
"H": 1.4,
"BB": 0.4,
"SO": 1.8,
"HR": 0.0,
"BF": 5.8,
"Pitches": 20.4
},
"rates": {
"ERA": 4.2632,
"WHIP": 1.4211,
"ER_per_IP": 0.47368,
"H_per_IP": 1.10526,
"BB_per_IP": 0.31579,
"SO_per_IP": 1.42105,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 4.0,
"R": 5.0,
"H": 12.0,
"BB": 6.0,
"SO": 12.0,
"HR": 0.0,
"BF": 58.0,
"Pitches": 194.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.5,
"H": 1.2,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 5.8,
"Pitches": 19.4
},
"rates": {
"ERA": 2.7692,
"WHIP": 1.3846,
"ER_per_IP": 0.30769,
"H_per_IP": 0.92308,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 28.2,
"ER": 12.0,
"R": 13.0,
"H": 26.0,
"BB": 14.0,
"SO": 27.0,
"HR": 0.0,
"BF": 125.0,
"Pitches": 462.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 0.5417,
"H": 1.0833,
"BB": 0.5833,
"SO": 1.125,
"HR": 0.0,
"BF": 5.2083,
"Pitches": 19.25
},
"rates": {
"ERA": 3.7674,
"WHIP": 1.3953,
"ER_per_IP": 0.4186,
"H_per_IP": 0.90698,
"BB_per_IP": 0.48837,
"SO_per_IP": 0.94186,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.588,
"predicted_H": 1.307,
"predicted_BB": 0.514,
"predicted_SO": 1.403,
"predicted_HR": 0.086,
"predicted_ERA": 3.9702,
"predicted_WHIP": 1.3654
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5482,
"form_weight": 0.4518,
"form_reliability": 0.5309,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.658,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5309,
"prior_weight": 0.4691
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.588,
"final": 0.8139,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.307,
"final": 1.6869,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.514,
"final": 0.2322,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.403,
"final": 0.6339,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.086,
"final": 0.5871,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9702,
"final": 3.9702,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3654,
"final": 1.3654,
"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 | Yoendrys Gómez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2441 |
| ESPN Rank | 198 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0919 |
| Avg Velo | 91.3414 |
| Avg Spin | 2486.6262 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.9000 |
| Season WHIP | 1.3000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 69,
"wins": 32,
"losses": 37,
"win_pct": 0.4638,
"runs_scored": 326.0,
"runs_allowed": 338.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1739,
"avg_runs_scored": 4.7246,
"avg_runs_allowed": 4.8986,
"offense_index": 1.0586,
"defense_index": 0.9111,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 7.0,
"run_differential": -28.0
},
"available": true,
"quality_score": -0.1222
},
"opponent": {
"team": "KC",
"games": 70,
"wins": 25,
"losses": 45,
"win_pct": 0.3571,
"runs_scored": 260.0,
"runs_allowed": 327.0,
"run_differential": -67.0,
"run_differential_per_game": -0.9571,
"avg_runs_scored": 3.7143,
"avg_runs_allowed": 4.6714,
"offense_index": 0.8322,
"defense_index": 0.9554,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.2,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.3094
},
"edges": {
"quality_edge": 0.1872,
"offense_edge": 0.0586,
"opponent_offense_edge": -0.1678,
"defense_strength": -0.0889,
"opponent_defense_weakness": 0.0446,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0115,
"run_prevention": 0.9727,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "672782",
"profile": {
"available": true,
"pitcher_id": "672782",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 109.0,
"k_percent": 22.1,
"bb_percent": 10.7,
"woba": 0.322,
"xwoba": 0.354,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 41.0,
"avg_best_speed": 78.179,
"avg_hyper_speed": 94.461,
"whiff_percent": 24.3,
"swing_percent": 47.6
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.7367,
"command_and_miss": -0.1757,
"regression_edge": -0.9143,
"xwoba_edge": -1.1143,
"barrel_edge": -0.9556,
"hard_hit_edge": -0.3714,
"whiff_edge": -0.2143,
"bb_edge": -0.375,
"pitch_design_score": 0.0919
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "672782",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 91.34144418028757,
"release_spin_rate": 2486.626244885168,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 91.34144418028757,
"release_spin_rate": 2486.626244885168,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3414,
"release_spin_rate": 2486.6262,
"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.0919,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6565,
"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.2441,
"sample_weight": 0.45,
"run_prevention_factor": 1.0207,
"strikeout_factor": 0.9951,
"walk_factor": 1.0135,
"homer_factor": 1.0561,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "672782",
"espn_id": 42898,
"player_name": "Yoendrys Gomez",
"team": "MIN",
"role": "pitcher",
"espn_rank": 198,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 198,
"gp_value": 23.0,
"gp_rank": 108,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.9,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 4.0,
"sv_rank": 27,
"hld_value": 5.0,
"hld_rank": 75,
"ip_value": 30.0,
"ip_rank": 178,
"h_value": 25.0,
"h_rank": 214,
"er_value": 13.0,
"er_rank": 196,
"hr_value": 5.0,
"hr_rank": 120,
"bb_value": 14.0,
"bb_rank": 167,
"k_value": 29.0,
"k_rank": 200,
"k_per_9_value": 8.7,
"k_per_9_rank": 30,
"whip_value": 1.3,
"whip_rank": null,
"war_value": 0.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0093,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0093,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0061,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0252,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9978,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 1,
"H": 6,
"BB": 4,
"SO": 15,
"HR": 0,
"ERA": 0.84375,
"WHIP": 0.9375,
"K9": 12.65625,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "672782",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 91.34144418028757,
"release_spin_rate": 2486.626244885168,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 91.34144418028757,
"release_spin_rate": 2486.626244885168,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3414,
"release_spin_rate": 2486.6262,
"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.0919,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6565,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.921,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5422,
"prior_weight": 0.4578
},
"role": "pitcher",
"player_id": "672782",
"report_date": "20260604_K",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 1.0,
"R": 2.0,
"H": 6.0,
"BB": 4.0,
"SO": 15.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 172.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 1.5,
"HR": 0.0,
"BF": 4.3,
"Pitches": 17.2
},
"rates": {
"ERA": 0.8438,
"WHIP": 0.9375,
"ER_per_IP": 0.09375,
"H_per_IP": 0.5625,
"BB_per_IP": 0.375,
"SO_per_IP": 1.40625,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 30.0,
"ER": 13.0,
"R": 15.0,
"H": 25.0,
"BB": 14.0,
"SO": 29.0,
"HR": 5.0,
"BF": 131.0,
"Pitches": 494.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5652,
"R": 0.6522,
"H": 1.087,
"BB": 0.6087,
"SO": 1.2609,
"HR": 0.2174,
"BF": 5.6957,
"Pitches": 21.4783
},
"rates": {
"ERA": 3.9,
"WHIP": 1.3,
"ER_per_IP": 0.43333,
"H_per_IP": 0.83333,
"BB_per_IP": 0.46667,
"SO_per_IP": 0.96667,
"HR_per_IP": 0.16667
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.296,
"predicted_H": 0.809,
"predicted_BB": 0.351,
"predicted_SO": 1.185,
"predicted_HR": 0.084,
"predicted_ERA": 2.5711,
"predicted_WHIP": 1.1196
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5434,
"form_weight": 0.4566,
"form_reliability": 0.5422,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.921,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5422,
"prior_weight": 0.4578
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.296,
"final": 0.1351,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.809,
"final": 1.4562,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.351,
"final": 0.1603,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.185,
"final": 0.541,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.084,
"final": 0.0384,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5711,
"final": 2.5711,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1196,
"final": 1.1196,
"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 | Taylor Rogers |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2222 |
| ESPN Rank | 182 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2720 |
| Avg Velo | 84.8440 |
| Avg Spin | 2423.8192 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 2 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.7794 |
| Season WHIP | 1.4118 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 69,
"wins": 32,
"losses": 37,
"win_pct": 0.4638,
"runs_scored": 326.0,
"runs_allowed": 338.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1739,
"avg_runs_scored": 4.7246,
"avg_runs_allowed": 4.8986,
"offense_index": 1.0586,
"defense_index": 0.9111,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 7.0,
"run_differential": -28.0
},
"available": true,
"quality_score": -0.1222
},
"opponent": {
"team": "KC",
"games": 70,
"wins": 25,
"losses": 45,
"win_pct": 0.3571,
"runs_scored": 260.0,
"runs_allowed": 327.0,
"run_differential": -67.0,
"run_differential_per_game": -0.9571,
"avg_runs_scored": 3.7143,
"avg_runs_allowed": 4.6714,
"offense_index": 0.8322,
"defense_index": 0.9554,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.2,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.3094
},
"edges": {
"quality_edge": 0.1872,
"offense_edge": 0.0586,
"opponent_offense_edge": -0.1678,
"defense_strength": -0.0889,
"opponent_defense_weakness": 0.0446,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0115,
"run_prevention": 0.9727,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "573124",
"profile": {
"available": true,
"pitcher_id": "573124",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 93.0,
"k_percent": 17.0,
"bb_percent": 6.0,
"woba": 0.351,
"xwoba": 0.346,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 31.6,
"avg_best_speed": 75.6084,
"avg_hyper_speed": 93.0748,
"whiff_percent": 16.6,
"swing_percent": 45.3
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.565,
"command_and_miss": -0.6536,
"regression_edge": 0.1429,
"xwoba_edge": -0.8857,
"barrel_edge": -0.1556,
"hard_hit_edge": 0.9714,
"whiff_edge": -1.3143,
"bb_edge": 0.8,
"pitch_design_score": -0.272
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "573124",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.84402866684916,
"release_spin_rate": 2423.8191680733603,
"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": 10,
"pitch_usage": 0.0,
"release_speed": 84.84402866684916,
"release_spin_rate": 2423.8191680733603,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.844,
"release_spin_rate": 2423.8192,
"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.272,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9425,
"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.2222,
"sample_weight": 0.45,
"run_prevention_factor": 1.0189,
"strikeout_factor": 0.9622,
"walk_factor": 0.9712,
"homer_factor": 1.0001,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573124",
"espn_id": 33671,
"player_name": "Taylor Rogers",
"team": "MIN",
"role": "pitcher",
"espn_rank": 182,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 182,
"gp_value": 26.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.9705,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 6.0,
"hld_rank": 57,
"ip_value": 22.2,
"ip_rank": 297,
"h_value": 29.0,
"h_rank": 171,
"er_value": 10.0,
"er_rank": 267,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 6.0,
"bb_rank": 388,
"k_value": 17.0,
"k_rank": 342,
"k_per_9_value": 6.75,
"k_per_9_rank": 31,
"whip_value": 1.5441,
"whip_rank": null,
"war_value": 0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0085,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0085,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.987,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.983,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 7.1,
"ER": 2,
"H": 9,
"BB": 0,
"SO": 5,
"HR": 1,
"ERA": 2.4545454545454546,
"WHIP": 1.2272727272727273,
"K9": 6.136363636363637,
"HR9": 1.2272727272727273,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "573124",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.84402866684916,
"release_spin_rate": 2423.8191680733603,
"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": 10,
"pitch_usage": 0.0,
"release_speed": 84.84402866684916,
"release_spin_rate": 2423.8191680733603,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.844,
"release_spin_rate": 2423.8192,
"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.272,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9425,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.474,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4722,
"prior_weight": 0.5278
},
"role": "pitcher",
"player_id": "573124",
"report_date": "20260604_K",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 0.0,
"SO": 2.0,
"HR": 1.0,
"BF": 16.0,
"Pitches": 60.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.0,
"SO": 0.4,
"HR": 0.2,
"BF": 3.2,
"Pitches": 12.0
},
"rates": {
"ERA": 4.9091,
"WHIP": 1.6364,
"ER_per_IP": 0.54545,
"H_per_IP": 1.63636,
"BB_per_IP": 0.0,
"SO_per_IP": 0.54545,
"HR_per_IP": 0.27273
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.1,
"ER": 2.0,
"R": 2.0,
"H": 9.0,
"BB": 0.0,
"SO": 5.0,
"HR": 1.0,
"BF": 30.0,
"Pitches": 125.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.0,
"SO": 0.5,
"HR": 0.1,
"BF": 3.0,
"Pitches": 12.5
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.2273,
"ER_per_IP": 0.27273,
"H_per_IP": 1.22727,
"BB_per_IP": 0.0,
"SO_per_IP": 0.68182,
"HR_per_IP": 0.13636
}
},
"season": {
"games": 25,
"totals": {
"IP": 22.2,
"ER": 7.0,
"R": 7.0,
"H": 27.0,
"BB": 5.0,
"SO": 17.0,
"HR": 1.0,
"BF": 97.0,
"Pitches": 371.0
},
"per_game": {
"IP": 1.0,
"ER": 0.28,
"R": 0.28,
"H": 1.08,
"BB": 0.2,
"SO": 0.68,
"HR": 0.04,
"BF": 3.88,
"Pitches": 14.84
},
"rates": {
"ERA": 2.7794,
"WHIP": 1.4118,
"ER_per_IP": 0.30882,
"H_per_IP": 1.19118,
"BB_per_IP": 0.22059,
"SO_per_IP": 0.75,
"HR_per_IP": 0.04412
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.311,
"predicted_H": 0.815,
"predicted_BB": 0.15,
"predicted_SO": 0.556,
"predicted_HR": 0.11,
"predicted_ERA": 4.0033,
"predicted_WHIP": 1.382
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.573,
"form_weight": 0.427,
"form_reliability": 0.4722,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.474,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4722,
"prior_weight": 0.5278
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.311,
"final": 0.1328,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.815,
"final": 0.921,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.15,
"final": 0.0641,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.556,
"final": 0.8104,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.11,
"final": 0.047,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0033,
"final": 4.0033,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.382,
"final": 1.382,
"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.223 | 0.000 | 0.000 | Hitting_2B | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.654 | 3.000 | 6.000 | Hitting_AB | 3.535 | 4.000 | -0.535 | -1.000 |
| predicted_AVG | 0.228 | 0.000 | 0.167 | Hitting_AVG | 0.287 | 0.250 | -0.287 | -0.250 |
| predicted_BB | 0.525 | 1.000 | 1.000 | Hitting_BB | 0.519 | 0.000 | 0.481 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_H | 0.750 | 0.000 | 1.000 | Hitting_H | 1.016 | 1.000 | -1.016 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_OBP | 0.286 | 0.250 | 0.286 | Hitting_OBP | 0.388 | 0.250 | -0.138 | 0.000 |
| predicted_R | 0.475 | 0.000 | 1.000 | Hitting_R | 0.470 | 0.000 | -0.470 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 1.000 | Hitting_RBI | 0.405 | 0.000 | -0.405 | 0.000 |
| predicted_SLG | 0.317 | 0.000 | 0.167 | Hitting_SLG | 0.394 | 0.250 | -0.394 | -0.250 |
| predicted_SO | 0.609 | 1.000 | 1.000 | Hitting_SO | 0.589 | 0.000 | 0.411 | 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_BB: 0.5250 -> 1.0000 (boost 0.4750, better) |
| Biggest Deboost | predicted_H: 0.7500 -> 0.0000 (deboost -0.7500, 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 | 8 | 1 | 7 | 2 | predicted_AB: 3.6540 -> 6.3260 (boost 2.6720, better) | predicted_SLG: 0.3170 -> 0.3087 (deboost -0.0083, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2942 -> 0.3072 (boost 0.0130, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 2 | 5 | predicted_RBI: 0.6343 -> 1.0000 (boost 0.3657, better) | predicted_H: 1.4068 -> 1.0000 (deboost -0.4068, worse) | AB rounded to 6 (raw=6.33), rates preserved: AVG=0.222 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8561 -> 1.0000 (boost 0.1439, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3083 -> 0.1670 (deboost -0.1413, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3083 (boost 0.1413, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668885",
"player_name": "Austin Martin",
"position": "RF",
"team": "MIN",
"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.223,
"predicted_3B": 0.0,
"predicted_AB": 3.654,
"predicted_AVG": 0.228,
"predicted_BB": 0.525,
"predicted_H": 0.75,
"predicted_HR": 0.06,
"predicted_OBP": 0.286,
"predicted_R": 0.475,
"predicted_RBI": 0.35,
"predicted_SLG": 0.317,
"predicted_SO": 0.609
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.2972,
"predicted_3B": 0.0004,
"predicted_AB": 6.326,
"predicted_AVG": 0.2267,
"predicted_BB": 0.7682,
"predicted_H": 1.3834,
"predicted_HBP": 0.134,
"predicted_HR": 0.0802,
"predicted_OBP": 0.2942,
"predicted_R": 0.8314,
"predicted_RBI": 0.616,
"predicted_SLG": 0.3087,
"predicted_SO": 1.0506
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.223,
"after": 0.2972,
"delta": 0.0742,
"percent_delta": 0.3327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.654,
"after": 6.326,
"delta": 2.672,
"percent_delta": 0.7313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2267,
"delta": -0.0013,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.525,
"after": 0.7682,
"delta": 0.2432,
"percent_delta": 0.4632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.3834,
"delta": 0.6334,
"percent_delta": 0.8445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0802,
"delta": 0.0202,
"percent_delta": 0.3367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2942,
"delta": 0.0082,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.475,
"after": 0.8314,
"delta": 0.3564,
"percent_delta": 0.7503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.616,
"delta": 0.266,
"percent_delta": 0.76,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.3087,
"delta": -0.0083,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.609,
"after": 1.0506,
"delta": 0.4416,
"percent_delta": 0.7251,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.654,
"after": 6.326,
"delta": 2.672,
"percent_delta": 0.7313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.3087,
"delta": -0.0083,
"percent_delta": -0.0262,
"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": 8,
"season": 50
}
},
{
"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.2972,
"predicted_3B": 0.0004,
"predicted_AB": 6.326,
"predicted_AVG": 0.2224,
"predicted_BB": 0.7743,
"predicted_H": 1.4068,
"predicted_HBP": 0.134,
"predicted_HR": 0.0819,
"predicted_OBP": 0.3072,
"predicted_R": 0.8561,
"predicted_RBI": 0.6343,
"predicted_SLG": 0.3083,
"predicted_SO": 1.0422
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2972,
"after": 0.2972,
"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": 6.326,
"after": 6.326,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2267,
"after": 0.2224,
"delta": -0.0043,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7682,
"after": 0.7743,
"delta": 0.0061,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3834,
"after": 1.4068,
"delta": 0.0234,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0802,
"after": 0.0819,
"delta": 0.0017,
"percent_delta": 0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2942,
"after": 0.3072,
"delta": 0.013,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8314,
"after": 0.8561,
"delta": 0.0247,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.616,
"after": 0.6343,
"delta": 0.0183,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3087,
"after": 0.3083,
"delta": -0.0004,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0506,
"after": 1.0422,
"delta": -0.0084,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2942,
"after": 0.3072,
"delta": 0.013,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.33), rates preserved: AVG=0.222 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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.2972,
"after": 0.0,
"delta": -0.2972,
"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": 6.326,
"after": 6.0,
"delta": -0.326,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7743,
"after": 1.0,
"delta": 0.2257,
"percent_delta": 0.2915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4068,
"after": 1.0,
"delta": -0.4068,
"percent_delta": -0.2892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0819,
"after": 0.0,
"delta": -0.0819,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6343,
"after": 1.0,
"delta": 0.3657,
"percent_delta": 0.5765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0422,
"after": 1.0,
"delta": -0.0422,
"percent_delta": -0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6343,
"after": 1.0,
"delta": 0.3657,
"percent_delta": 0.5765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4068,
"after": 1.0,
"delta": -0.4068,
"percent_delta": -0.2892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 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": 6.0,
"after": 6.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.8561,
"after": 1.0,
"delta": 0.1439,
"percent_delta": 0.1681,
"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.8561,
"after": 1.0,
"delta": 0.1439,
"percent_delta": 0.1681,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.2224,
"after": 0.167,
"delta": -0.0554,
"percent_delta": -0.2491,
"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.3072,
"after": 0.286,
"delta": -0.0212,
"percent_delta": -0.069,
"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.3083,
"after": 0.167,
"delta": -0.1413,
"percent_delta": -0.4583,
"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.3083,
"after": 0.167,
"delta": -0.1413,
"percent_delta": -0.4583,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"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.2224,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3072,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3083,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2224,
"delta": 0.0554,
"percent_delta": 0.3316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3072,
"delta": 0.0212,
"percent_delta": 0.0741,
"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.167,
"after": 0.3083,
"delta": 0.1413,
"percent_delta": 0.8462,
"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.167,
"after": 0.3083,
"delta": 0.1413,
"percent_delta": 0.8462,
"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.223,
"after": 0.0,
"delta": -0.223,
"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.654,
"after": 3.0,
"delta": -0.654,
"percent_delta": -0.179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2224,
"delta": -0.0056,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.525,
"after": 1.0,
"delta": 0.475,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"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.286,
"after": 0.3072,
"delta": 0.0212,
"percent_delta": 0.0741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.475,
"after": 0.0,
"delta": -0.475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.3083,
"delta": -0.0087,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.609,
"after": 1.0,
"delta": 0.391,
"percent_delta": 0.642,
"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_BB",
"before": 0.525,
"after": 1.0,
"delta": 0.475,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"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.223 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.654 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.525 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.475 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.317 | - |
| predicted_SO | 0.609 | - |
Final model 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.297 | 0.074 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.326 | 2.672 |
| predicted_AVG | 0.227 | -0.001 |
| predicted_BB | 0.768 | 0.243 |
| predicted_H | 1.383 | 0.633 |
| predicted_HBP | 0.134 | - |
| predicted_HR | 0.080 | 0.020 |
| predicted_OBP | 0.294 | 0.008 |
| predicted_R | 0.831 | 0.356 |
| predicted_RBI | 0.616 | 0.266 |
| predicted_SLG | 0.309 | -0.008 |
| predicted_SO | 1.051 | 0.442 |
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.297 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.326 | 0.000 |
| predicted_AVG | 0.222 | -0.004 |
| predicted_BB | 0.774 | 0.006 |
| predicted_H | 1.407 | 0.023 |
| predicted_HBP | 0.134 | 0.000 |
| predicted_HR | 0.082 | 0.002 |
| predicted_OBP | 0.307 | 0.013 |
| predicted_R | 0.856 | 0.025 |
| predicted_RBI | 0.634 | 0.018 |
| predicted_SLG | 0.308 | -0.000 |
| predicted_SO | 1.042 | -0.008 |
AB rounded to 6 (raw=6.33), rates preserved: AVG=0.222 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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.297 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 6.000 | -0.326 |
| predicted_AVG | 0.167 | -0.055 |
| predicted_BB | 1.000 | 0.226 |
| predicted_H | 1.000 | -0.407 |
| predicted_HR | 0.000 | -0.082 |
| predicted_OBP | 0.286 | -0.021 |
| predicted_R | 1.000 | 0.144 |
| predicted_RBI | 1.000 | 0.366 |
| predicted_SLG | 0.167 | -0.141 |
| predicted_SO | 1.000 | -0.042 |
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 | -3.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 3.000 | 0.1000 | 0.1429 | 0.1000 | 0.1000 | 0.0000 | 0.0500 | 0.0500 | 0.1500 |
| last_10 | 0.20 | 8 | - | 35.000 | 4.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 2.000 | 6.000 | 0.1143 | 0.1622 | 0.1143 | 0.1143 | 0.0000 | 0.0857 | 0.0571 | 0.1714 |
| season | 0.60 | 50 | - | 654.000 | 188.000 | 40.000 | 0.000 | 10.000 | 75.000 | 85.000 | 94.000 | 109.000 | 0.2875 | 0.3864 | 0.3945 | 0.2875 | 0.0153 | 0.1147 | 0.1437 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3920 |
| predicted_3B | 0.0010 |
| predicted_AB | 9.7410 |
| predicted_AVG | 0.2251 |
| predicted_BB | 1.0790 |
| predicted_H | 2.1930 |
| predicted_HBP | 0.1340 |
| predicted_HR | 0.1060 |
| predicted_OBP | 0.3046 |
| predicted_R | 1.2870 |
| predicted_RBI | 0.9560 |
| predicted_SLG | 0.2982 |
| predicted_SO | 1.6150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2230 | 0.3920 | 0.2972 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6540 | 9.7410 | 6.3260 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2251 | 0.2267 | model_form_blend |
| predicted_BB | 0.5250 | 1.0790 | 0.7682 | model_form_blend |
| predicted_H | 0.7500 | 2.1930 | 1.3834 | model_form_blend |
| predicted_HBP | - | 0.1340 | 0.1340 | form_only |
| predicted_HR | 0.0600 | 0.1060 | 0.0802 | model_form_blend |
| predicted_OBP | 0.2860 | 0.3046 | 0.2942 | model_form_blend |
| predicted_R | 0.4750 | 1.2870 | 0.8314 | model_form_blend |
| predicted_RBI | 0.3500 | 0.9560 | 0.6160 | model_form_blend |
| predicted_SLG | 0.3170 | 0.2982 | 0.3087 | model_form_blend |
| predicted_SO | 0.6090 | 1.6150 | 1.0506 | 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 | 185 |
| Season rows before report date | 185 |
| Report year | 2026 |
| Profile rows used | 179 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.287 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | RF |
| gameID | 20260603_CHW@MIN |
| game_type | full |
| mlbID | 668885 |
| playerID | 668885 |
| playerName | Austin Martin |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-03 |
| sl_k_percent | 15.0 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.325 |
| sl_xwoba | 0.323 |
| sl_xba | 0.256 |
| sl_xslg | 0.348 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 28.9 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 40.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.224 | 0.000 | 0.000 | Hitting_2B | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 4.810 | 3.000 | 9.000 | Hitting_AB | 4.278 | 4.000 | -1.278 | -1.000 |
| predicted_AVG | 0.218 | 0.000 | 0.222 | Hitting_AVG | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_BB | 0.341 | 0.000 | 1.000 | Hitting_BB | 0.341 | 0.000 | -0.341 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.050 | 0.000 | 2.000 | Hitting_H | 1.143 | 0.000 | -1.143 | 0.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.372 | 0.000 | -0.372 | 0.000 |
| predicted_OBP | 0.296 | 0.250 | 0.300 | Hitting_OBP | 0.327 | 0.000 | -0.077 | 0.250 |
| predicted_R | 0.834 | 0.000 | 1.000 | Hitting_R | 0.834 | 0.000 | -0.834 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.605 | 0.000 | -0.605 | 0.000 |
| predicted_SLG | 0.418 | 0.000 | 0.222 | Hitting_SLG | 0.589 | 0.000 | -0.589 | 0.000 |
| predicted_SO | 1.247 | 1.000 | 2.000 | Hitting_SO | 1.247 | 0.000 | -0.247 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SLG: 0.4180 -> 0.4611 (boost 0.0431, better) |
| Biggest Deboost | predicted_AB: 4.8100 -> 3.0000 (deboost -1.8100, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.8100 -> 8.6147 (boost 3.8047, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4425 -> 0.4611 (boost 0.0186, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 5 | 3 | 4 | 4 | predicted_HR: 0.4948 -> 1.0000 (boost 0.5052, better) | predicted_2B: 0.3393 -> 0.0000 (deboost -0.3393, worse) | AB rounded to 9 (raw=8.61), rates preserved: AVG=0.243 HR/AB=0.057 |
| 5 | bvp_blend | 2 | 0 | 2 | 1 | 1 | - | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4638 -> 1.0000 (deboost -0.4638, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4611 -> 0.2220 (deboost -0.2391, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 1 | 6 | 2 | 5 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 9.0000 -> 3.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2220 -> 0.4611 (boost 0.2391, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621439",
"player_name": "Byron Buxton",
"position": "DH",
"team": "MIN",
"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.224,
"predicted_3B": 0.018,
"predicted_AB": 4.81,
"predicted_AVG": 0.218,
"predicted_BB": 0.341,
"predicted_H": 1.05,
"predicted_HR": 0.22,
"predicted_OBP": 0.296,
"predicted_R": 0.834,
"predicted_RBI": 0.41,
"predicted_SLG": 0.418,
"predicted_SO": 1.247
},
"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.3393,
"predicted_3B": 0.0273,
"predicted_AB": 8.6147,
"predicted_AVG": 0.2314,
"predicted_BB": 0.6512,
"predicted_H": 2.0587,
"predicted_HBP": 0.106,
"predicted_HR": 0.4847,
"predicted_OBP": 0.3005,
"predicted_R": 1.4216,
"predicted_RBI": 0.8214,
"predicted_SLG": 0.4425,
"predicted_SO": 2.5328
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.224,
"after": 0.3393,
"delta": 0.1153,
"percent_delta": 0.5147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0273,
"delta": 0.0093,
"percent_delta": 0.5167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.81,
"after": 8.6147,
"delta": 3.8047,
"percent_delta": 0.791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2314,
"delta": 0.0134,
"percent_delta": 0.0615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.341,
"after": 0.6512,
"delta": 0.3102,
"percent_delta": 0.9097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 2.0587,
"delta": 1.0087,
"percent_delta": 0.9607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4847,
"delta": 0.2647,
"percent_delta": 1.2032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3005,
"delta": 0.0045,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.834,
"after": 1.4216,
"delta": 0.5876,
"percent_delta": 0.7046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.8214,
"delta": 0.4114,
"percent_delta": 1.0034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4425,
"delta": 0.0245,
"percent_delta": 0.0586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.247,
"after": 2.5328,
"delta": 1.2858,
"percent_delta": 1.0311,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.81,
"after": 8.6147,
"delta": 3.8047,
"percent_delta": 0.791,
"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": 53
}
},
{
"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.3393,
"predicted_3B": 0.0273,
"predicted_AB": 8.6147,
"predicted_AVG": 0.243,
"predicted_BB": 0.6564,
"predicted_H": 2.0935,
"predicted_HBP": 0.106,
"predicted_HR": 0.4948,
"predicted_OBP": 0.2966,
"predicted_R": 1.4638,
"predicted_RBI": 0.8458,
"predicted_SLG": 0.4611,
"predicted_SO": 2.5125
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3393,
"after": 0.3393,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0273,
"after": 0.0273,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.6147,
"after": 8.6147,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2314,
"after": 0.243,
"delta": 0.0116,
"percent_delta": 0.0501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6512,
"after": 0.6564,
"delta": 0.0052,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0587,
"after": 2.0935,
"delta": 0.0348,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.106,
"after": 0.106,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4847,
"after": 0.4948,
"delta": 0.0101,
"percent_delta": 0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3005,
"after": 0.2966,
"delta": -0.0039,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.4216,
"after": 1.4638,
"delta": 0.0422,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8214,
"after": 0.8458,
"delta": 0.0244,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4425,
"after": 0.4611,
"delta": 0.0186,
"percent_delta": 0.042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5328,
"after": 2.5125,
"delta": -0.0203,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4425,
"after": 0.4611,
"delta": 0.0186,
"percent_delta": 0.042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.61), rates preserved: AVG=0.243 HR/AB=0.057",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3393,
"after": 0.0,
"delta": -0.3393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0273,
"after": 0.0,
"delta": -0.0273,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.6147,
"after": 9.0,
"delta": 0.3853,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6564,
"after": 1.0,
"delta": 0.3436,
"percent_delta": 0.5235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0935,
"after": 2.0,
"delta": -0.0935,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4948,
"after": 1.0,
"delta": 0.5052,
"percent_delta": 1.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8458,
"after": 1.0,
"delta": 0.1542,
"percent_delta": 0.1823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5125,
"after": 3.0,
"delta": 0.4875,
"percent_delta": 0.194,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 5,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.4948,
"after": 1.0,
"delta": 0.5052,
"percent_delta": 1.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3393,
"after": 0.0,
"delta": -0.3393,
"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=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"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": 9.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.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": 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": 1.4638,
"after": 1.0,
"delta": -0.4638,
"percent_delta": -0.3168,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.4638,
"after": 1.0,
"delta": -0.4638,
"percent_delta": -0.3168,
"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": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.222,
"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": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.222,
"delta": -0.021,
"percent_delta": -0.0864,
"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": 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.2966,
"after": 0.3,
"delta": 0.0034,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4611,
"after": 0.222,
"delta": -0.2391,
"percent_delta": -0.5185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4611,
"after": 0.222,
"delta": -0.2391,
"percent_delta": -0.5185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 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": 9.0,
"after": 3.0,
"delta": -6.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"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_AB",
"before": 9.0,
"after": 3.0,
"delta": -6.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.243,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2966,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4611,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.243,
"delta": 0.021,
"percent_delta": 0.0947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2966,
"delta": -0.0034,
"percent_delta": -0.0113,
"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.222,
"after": 0.4611,
"delta": 0.2391,
"percent_delta": 1.0768,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.222,
"after": 0.4611,
"delta": 0.2391,
"percent_delta": 1.0768,
"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.224,
"after": 0.0,
"delta": -0.224,
"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": 4.81,
"after": 3.0,
"delta": -1.81,
"percent_delta": -0.3763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.243,
"delta": 0.025,
"percent_delta": 0.1147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.341,
"after": 0.0,
"delta": -0.341,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2966,
"delta": 0.0006,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.834,
"after": 0.0,
"delta": -0.834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4611,
"delta": 0.0431,
"percent_delta": 0.1031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.247,
"after": 1.0,
"delta": -0.247,
"percent_delta": -0.1981,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4611,
"delta": 0.0431,
"percent_delta": 0.1031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.81,
"after": 3.0,
"delta": -1.81,
"percent_delta": -0.3763,
"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.224 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 4.810 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.341 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.834 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.418 | - |
| predicted_SO | 1.247 | - |
Final model 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.339 | 0.115 |
| predicted_3B | 0.027 | 0.009 |
| predicted_AB | 8.615 | 3.805 |
| predicted_AVG | 0.231 | 0.013 |
| predicted_BB | 0.651 | 0.310 |
| predicted_H | 2.059 | 1.009 |
| predicted_HBP | 0.106 | - |
| predicted_HR | 0.485 | 0.265 |
| predicted_OBP | 0.300 | 0.005 |
| predicted_R | 1.422 | 0.588 |
| predicted_RBI | 0.821 | 0.411 |
| predicted_SLG | 0.443 | 0.025 |
| predicted_SO | 2.533 | 1.286 |
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.339 | 0.000 |
| predicted_3B | 0.027 | 0.000 |
| predicted_AB | 8.615 | 0.000 |
| predicted_AVG | 0.243 | 0.012 |
| predicted_BB | 0.656 | 0.005 |
| predicted_H | 2.094 | 0.035 |
| predicted_HBP | 0.106 | 0.000 |
| predicted_HR | 0.495 | 0.010 |
| predicted_OBP | 0.297 | -0.004 |
| predicted_R | 1.464 | 0.042 |
| predicted_RBI | 0.846 | 0.024 |
| predicted_SLG | 0.461 | 0.019 |
| predicted_SO | 2.513 | -0.020 |
AB rounded to 9 (raw=8.61), rates preserved: AVG=0.243 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 3.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | -1.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | -1.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 1.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 | 2.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.339 |
| predicted_3B | 0.000 | -0.027 |
| predicted_AB | 9.000 | 0.385 |
| predicted_AVG | 0.222 | -0.021 |
| predicted_BB | 1.000 | 0.344 |
| predicted_H | 2.000 | -0.094 |
| predicted_HR | 0.000 | -0.495 |
| predicted_OBP | 0.300 | 0.003 |
| predicted_R | 1.000 | -0.464 |
| predicted_RBI | 1.000 | 0.154 |
| predicted_SLG | 0.222 | -0.239 |
| predicted_SO | 2.000 | -0.513 |
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 | -6.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 7.000 | 0.1905 | 0.2273 | 0.1905 | 0.1905 | 0.0000 | 0.0000 | 0.0476 | 0.3333 |
| last_10 | 0.20 | 7 | - | 36.000 | 9.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 5.000 | 15.000 | 0.2500 | 0.3415 | 0.3333 | 0.2500 | 0.0278 | 0.0278 | 0.1389 | 0.4167 |
| season | 0.60 | 53 | - | 954.000 | 255.000 | 50.000 | 4.000 | 83.000 | 135.000 | 186.000 | 76.000 | 278.000 | 0.2673 | 0.3273 | 0.5891 | 0.2673 | 0.0870 | 0.1415 | 0.0797 | 0.2914 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4850 |
| predicted_3B | 0.0390 |
| predicted_AB | 13.4210 |
| predicted_AVG | 0.2483 |
| predicted_BB | 1.0430 |
| predicted_H | 3.3330 |
| predicted_HBP | 0.1060 |
| predicted_HR | 0.8190 |
| predicted_OBP | 0.3061 |
| predicted_R | 2.1640 |
| predicted_RBI | 1.3410 |
| predicted_SLG | 0.4734 |
| predicted_SO | 4.1570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2240 | 0.4850 | 0.3393 | model_form_blend |
| predicted_3B | 0.0180 | 0.0390 | 0.0273 | model_form_blend |
| predicted_AB | 4.8100 | 13.4210 | 8.6147 | model_form_blend |
| predicted_AVG | 0.2180 | 0.2483 | 0.2314 | model_form_blend |
| predicted_BB | 0.3410 | 1.0430 | 0.6512 | model_form_blend |
| predicted_H | 1.0500 | 3.3330 | 2.0587 | model_form_blend |
| predicted_HBP | - | 0.1060 | 0.1060 | form_only |
| predicted_HR | 0.2200 | 0.8190 | 0.4847 | model_form_blend |
| predicted_OBP | 0.2960 | 0.3061 | 0.3005 | model_form_blend |
| predicted_R | 0.8340 | 2.1640 | 1.4216 | model_form_blend |
| predicted_RBI | 0.4100 | 1.3410 | 0.8214 | model_form_blend |
| predicted_SLG | 0.4180 | 0.4734 | 0.4425 | model_form_blend |
| predicted_SO | 1.2470 | 4.1570 | 2.5328 | 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 | 223 |
| Season rows before report date | 223 |
| Report year | 2026 |
| Profile rows used | 223 |
| 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.267 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260603_CHW@MIN |
| game_type | full |
| mlbID | 621439 |
| playerID | 621439 |
| playerName | Byron Buxton |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-03 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.366 |
| sl_xwoba | 0.323 |
| sl_xba | 0.227 |
| sl_xslg | 0.467 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 17.7 |
| sl_hard_hit_percent | 45.6 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 22.9 |
| sl_whiff_percent | 31.8 |
| sl_swing_percent | 53.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.233 | 0.000 | 0.000 | Hitting_2B | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_3B | 0.035 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 3.645 | 4.000 | 6.000 | Hitting_AB | 3.624 | 4.000 | 0.376 | 0.000 |
| predicted_AVG | 0.221 | 0.000 | 0.167 | Hitting_AVG | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_BB | 0.343 | 0.000 | 1.000 | Hitting_BB | 0.341 | 0.000 | -0.341 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.350 | 0.000 | 1.000 | Hitting_H | 0.827 | 0.000 | -0.827 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.275 | 0.000 | 0.286 | Hitting_OBP | 0.314 | 0.000 | -0.314 | 0.000 |
| predicted_R | 0.465 | 0.000 | 1.000 | Hitting_R | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_RBI | 0.200 | 0.000 | 1.000 | Hitting_RBI | 0.405 | 0.000 | -0.405 | 0.000 |
| predicted_SLG | 0.427 | 0.000 | 0.167 | Hitting_SLG | 0.416 | 0.000 | -0.416 | 0.000 |
| predicted_SO | 0.936 | 0.000 | 2.000 | Hitting_SO | 0.931 | 2.000 | -0.931 | -2.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: 3.6450 -> 4.0000 (boost 0.3550, better) |
| Biggest Deboost | predicted_SO: 0.9360 -> 0.0000 (deboost -0.9360, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.6450 -> 6.3781 (boost 2.7331, 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.4337 -> 0.3814 (deboost -0.0523, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 3 | 6 | 2 | 7 | predicted_BB: 0.5338 -> 1.0000 (boost 0.4662, better) | predicted_AB: 6.3781 -> 6.0000 (deboost -0.3781, worse) | AB rounded to 6 (raw=6.38), rates preserved: AVG=0.188 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8500 -> 1.0000 (boost 0.1500, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2509 -> 0.2860 (boost 0.0351, better) | predicted_SLG: 0.3814 -> 0.1670 (deboost -0.2144, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1670 -> 0.3814 (boost 0.2144, better) | predicted_OBP: 0.2860 -> 0.2509 (deboost -0.0351, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665019",
"player_name": "Kody Clemens",
"position": "1B",
"team": "MIN",
"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.233,
"predicted_3B": 0.035,
"predicted_AB": 3.645,
"predicted_AVG": 0.221,
"predicted_BB": 0.343,
"predicted_H": 0.35,
"predicted_HR": 0.07,
"predicted_OBP": 0.275,
"predicted_R": 0.465,
"predicted_RBI": 0.2,
"predicted_SLG": 0.427,
"predicted_SO": 0.936
},
"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.3771,
"predicted_3B": 0.1042,
"predicted_AB": 6.3781,
"predicted_AVG": 0.2238,
"predicted_BB": 0.5296,
"predicted_H": 1.1806,
"predicted_HBP": 0.21,
"predicted_HR": 0.2111,
"predicted_OBP": 0.2842,
"predicted_R": 0.8255,
"predicted_RBI": 0.6319,
"predicted_SLG": 0.4337,
"predicted_SO": 1.672
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.3771,
"delta": 0.1441,
"percent_delta": 0.6185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.1042,
"delta": 0.0692,
"percent_delta": 1.9771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.645,
"after": 6.3781,
"delta": 2.7331,
"percent_delta": 0.7498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2238,
"delta": 0.0028,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.5296,
"delta": 0.1866,
"percent_delta": 0.544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 1.1806,
"delta": 0.8306,
"percent_delta": 2.3731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.2111,
"delta": 0.1411,
"percent_delta": 2.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2842,
"delta": 0.0092,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.465,
"after": 0.8255,
"delta": 0.3605,
"percent_delta": 0.7753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.6319,
"delta": 0.4319,
"percent_delta": 2.1595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4337,
"delta": 0.0067,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.936,
"after": 1.672,
"delta": 0.736,
"percent_delta": 0.7863,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.645,
"after": 6.3781,
"delta": 2.7331,
"percent_delta": 0.7498,
"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": 49
}
},
{
"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.3771,
"predicted_3B": 0.1042,
"predicted_AB": 6.3781,
"predicted_AVG": 0.1882,
"predicted_BB": 0.5338,
"predicted_H": 1.2006,
"predicted_HBP": 0.21,
"predicted_HR": 0.2155,
"predicted_OBP": 0.2509,
"predicted_R": 0.85,
"predicted_RBI": 0.6507,
"predicted_SLG": 0.3814,
"predicted_SO": 1.6586
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3771,
"after": 0.3771,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1042,
"after": 0.1042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.3781,
"after": 6.3781,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2238,
"after": 0.1882,
"delta": -0.0356,
"percent_delta": -0.1591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5296,
"after": 0.5338,
"delta": 0.0042,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1806,
"after": 1.2006,
"delta": 0.02,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.21,
"after": 0.21,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2111,
"after": 0.2155,
"delta": 0.0044,
"percent_delta": 0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2842,
"after": 0.2509,
"delta": -0.0333,
"percent_delta": -0.1172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8255,
"after": 0.85,
"delta": 0.0245,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6319,
"after": 0.6507,
"delta": 0.0188,
"percent_delta": 0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4337,
"after": 0.3814,
"delta": -0.0523,
"percent_delta": -0.1206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.672,
"after": 1.6586,
"delta": -0.0134,
"percent_delta": -0.008,
"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.4337,
"after": 0.3814,
"delta": -0.0523,
"percent_delta": -0.1206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.38), rates preserved: AVG=0.188 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3771,
"after": 0.0,
"delta": -0.3771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1042,
"after": 0.0,
"delta": -0.1042,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.3781,
"after": 6.0,
"delta": -0.3781,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5338,
"after": 1.0,
"delta": 0.4662,
"percent_delta": 0.8734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2006,
"after": 1.0,
"delta": -0.2006,
"percent_delta": -0.1671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2155,
"after": 0.0,
"delta": -0.2155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6507,
"after": 1.0,
"delta": 0.3493,
"percent_delta": 0.5368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6586,
"after": 2.0,
"delta": 0.3414,
"percent_delta": 0.2058,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5338,
"after": 1.0,
"delta": 0.4662,
"percent_delta": 0.8734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.3781,
"after": 6.0,
"delta": -0.3781,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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": 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.1882,
"after": 0.167,
"delta": -0.0212,
"percent_delta": -0.1126,
"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.2509,
"after": 0.286,
"delta": 0.0351,
"percent_delta": 0.1399,
"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.3814,
"after": 0.167,
"delta": -0.2144,
"percent_delta": -0.5621,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2509,
"after": 0.286,
"delta": 0.0351,
"percent_delta": 0.1399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3814,
"after": 0.167,
"delta": -0.2144,
"percent_delta": -0.5621,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 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.1882,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2509,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3814,
"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.167,
"after": 0.1882,
"delta": 0.0212,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2509,
"delta": -0.0351,
"percent_delta": -0.1226,
"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.167,
"after": 0.3814,
"delta": 0.2144,
"percent_delta": 1.2838,
"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.167,
"after": 0.3814,
"delta": 0.2144,
"percent_delta": 1.2838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2509,
"delta": -0.0351,
"percent_delta": -0.1226,
"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.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.645,
"after": 4.0,
"delta": 0.355,
"percent_delta": 0.0974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.1882,
"delta": -0.0328,
"percent_delta": -0.1484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2509,
"delta": -0.0241,
"percent_delta": -0.0876,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.3814,
"delta": -0.0456,
"percent_delta": -0.1068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.936,
"after": 0.0,
"delta": -0.936,
"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": 3.645,
"after": 4.0,
"delta": 0.355,
"percent_delta": 0.0974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.936,
"after": 0.0,
"delta": -0.936,
"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.233 | - |
| predicted_3B | 0.035 | - |
| predicted_AB | 3.645 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.343 | - |
| predicted_H | 0.350 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.465 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.427 | - |
| predicted_SO | 0.936 | - |
Final model 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.377 | 0.144 |
| predicted_3B | 0.104 | 0.069 |
| predicted_AB | 6.378 | 2.733 |
| predicted_AVG | 0.224 | 0.003 |
| predicted_BB | 0.530 | 0.187 |
| predicted_H | 1.181 | 0.831 |
| predicted_HBP | 0.210 | - |
| predicted_HR | 0.211 | 0.141 |
| predicted_OBP | 0.284 | 0.009 |
| predicted_R | 0.826 | 0.360 |
| predicted_RBI | 0.632 | 0.432 |
| predicted_SLG | 0.434 | 0.007 |
| predicted_SO | 1.672 | 0.736 |
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.377 | 0.000 |
| predicted_3B | 0.104 | 0.000 |
| predicted_AB | 6.378 | 0.000 |
| predicted_AVG | 0.188 | -0.036 |
| predicted_BB | 0.534 | 0.004 |
| predicted_H | 1.201 | 0.020 |
| predicted_HBP | 0.210 | 0.000 |
| predicted_HR | 0.215 | 0.004 |
| predicted_OBP | 0.251 | -0.033 |
| predicted_R | 0.850 | 0.024 |
| predicted_RBI | 0.651 | 0.019 |
| predicted_SLG | 0.381 | -0.052 |
| predicted_SO | 1.659 | -0.013 |
AB rounded to 6 (raw=6.38), rates preserved: AVG=0.188 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.377 |
| predicted_3B | 0.000 | -0.104 |
| predicted_AB | 6.000 | -0.378 |
| predicted_AVG | 0.167 | -0.021 |
| predicted_BB | 1.000 | 0.466 |
| predicted_H | 1.000 | -0.201 |
| predicted_HR | 0.000 | -0.215 |
| predicted_OBP | 0.286 | 0.035 |
| predicted_R | 1.000 | 0.150 |
| predicted_RBI | 1.000 | 0.349 |
| predicted_SLG | 0.167 | -0.214 |
| predicted_SO | 2.000 | 0.341 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 20.000 | 5.000 | 1.000 | 1.000 | 1.000 | 3.000 | 3.000 | 1.000 | 6.000 | 0.2500 | 0.2857 | 0.5500 | 0.2500 | 0.0500 | 0.1500 | 0.0500 | 0.3000 |
| last_10 | 0.20 | 7 | - | 39.000 | 6.000 | 1.000 | 1.000 | 2.000 | 4.000 | 4.000 | 1.000 | 10.000 | 0.1538 | 0.1750 | 0.3846 | 0.1538 | 0.0513 | 0.1026 | 0.0256 | 0.2564 |
| season | 0.60 | 49 | - | 627.000 | 143.000 | 40.000 | 6.000 | 22.000 | 70.000 | 80.000 | 59.000 | 161.000 | 0.2281 | 0.3144 | 0.4163 | 0.2281 | 0.0351 | 0.1116 | 0.0941 | 0.2568 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5620 |
| predicted_3B | 0.1930 |
| predicted_AB | 9.8840 |
| predicted_AVG | 0.2273 |
| predicted_BB | 0.7690 |
| predicted_H | 2.2460 |
| predicted_HBP | 0.2100 |
| predicted_HR | 0.3920 |
| predicted_OBP | 0.2960 |
| predicted_R | 1.2880 |
| predicted_RBI | 1.1860 |
| predicted_SLG | 0.4424 |
| predicted_SO | 2.6160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2330 | 0.5620 | 0.3771 | model_form_blend |
| predicted_3B | 0.0350 | 0.1930 | 0.1042 | model_form_blend |
| predicted_AB | 3.6450 | 9.8840 | 6.3781 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2273 | 0.2238 | model_form_blend |
| predicted_BB | 0.3430 | 0.7690 | 0.5296 | model_form_blend |
| predicted_H | 0.3500 | 2.2460 | 1.1806 | model_form_blend |
| predicted_HBP | - | 0.2100 | 0.2100 | form_only |
| predicted_HR | 0.0700 | 0.3920 | 0.2111 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2960 | 0.2842 | model_form_blend |
| predicted_R | 0.4650 | 1.2880 | 0.8255 | model_form_blend |
| predicted_RBI | 0.2000 | 1.1860 | 0.6319 | model_form_blend |
| predicted_SLG | 0.4270 | 0.4424 | 0.4337 | model_form_blend |
| predicted_SO | 0.9360 | 2.6160 | 1.6720 | 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 | 173 |
| Season rows before report date | 173 |
| Report year | 2026 |
| Profile rows used | 172 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.228 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260602_CHW@MIN |
| game_type | full |
| mlbID | 665019 |
| playerID | 665019 |
| playerName | Kody Clemens |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-02 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.323 |
| sl_xwoba | 0.322 |
| sl_xba | 0.234 |
| sl_xslg | 0.422 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 13.5 |
| sl_hard_hit_percent | 43.3 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 48.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.192 | 1.000 | 0.000 | Hitting_2B | 0.191 | 0.000 | 0.809 | 1.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.030 | 3.000 | 7.000 | Hitting_AB | 3.758 | 4.000 | -0.758 | -1.000 |
| predicted_AVG | 0.235 | 0.333 | 0.286 | Hitting_AVG | 0.250 | 0.000 | 0.083 | 0.333 |
| predicted_BB | 0.277 | 1.000 | 0.000 | Hitting_BB | 0.279 | 0.000 | 0.721 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 0.950 | 1.000 | 2.000 | Hitting_H | 0.940 | 0.000 | 0.060 | 1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_OBP | 0.306 | 0.500 | 0.286 | Hitting_OBP | 0.308 | 0.000 | 0.192 | 0.500 |
| predicted_R | 0.498 | 0.000 | 1.000 | Hitting_R | 0.493 | 0.000 | -0.493 | 0.000 |
| predicted_RBI | 0.630 | 0.000 | 1.000 | Hitting_RBI | 0.586 | 0.000 | -0.586 | 0.000 |
| predicted_SLG | 0.430 | 0.667 | 0.286 | Hitting_SLG | 0.407 | 0.000 | 0.259 | 0.667 |
| predicted_SO | 0.718 | 0.000 | 1.000 | Hitting_SO | 0.712 | 1.000 | -0.712 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.1920 -> 1.0000 (boost 0.8080, better) |
| Biggest Deboost | predicted_AB: 4.0300 -> 3.0000 (deboost -1.0300, 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 | 10 | 9 | 1 | 8 | 2 | predicted_AB: 4.0300 -> 6.9797 (boost 2.9497, better) | predicted_OBP: 0.3060 -> 0.3000 (deboost -0.0060, 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 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2398 -> 0.2468 (boost 0.0070, better) | predicted_OBP: 0.3000 -> 0.2940 (deboost -0.0060, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 1.7223 -> 2.0000 (boost 0.2777, better) | predicted_BB: 0.4670 -> 0.0000 (deboost -0.4670, worse) | AB rounded to 7 (raw=6.98), rates preserved: AVG=0.247 HR/AB=0.050 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9412 -> 1.0000 (boost 0.0588, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2468 -> 0.2860 (boost 0.0392, better) | predicted_SLG: 0.4420 -> 0.2860 (deboost -0.1560, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 2 | 5 | 3 | 4 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2860 -> 0.4420 (boost 0.1560, better) | predicted_AVG: 0.2860 -> 0.2468 (deboost -0.0392, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686797",
"player_name": "Brooks Lee",
"position": "3B",
"team": "MIN",
"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.192,
"predicted_3B": 0.019,
"predicted_AB": 4.03,
"predicted_AVG": 0.235,
"predicted_BB": 0.277,
"predicted_H": 0.95,
"predicted_HR": 0.17,
"predicted_OBP": 0.306,
"predicted_R": 0.498,
"predicted_RBI": 0.63,
"predicted_SLG": 0.43,
"predicted_SO": 0.718
},
"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.273,
"predicted_3B": 0.0265,
"predicted_AB": 6.9797,
"predicted_AVG": 0.2398,
"predicted_BB": 0.4633,
"predicted_H": 1.6937,
"predicted_HBP": 0.073,
"predicted_HR": 0.3386,
"predicted_OBP": 0.3,
"predicted_R": 0.9141,
"predicted_RBI": 1.1306,
"predicted_SLG": 0.4355,
"predicted_SO": 1.382
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.192,
"after": 0.273,
"delta": 0.081,
"percent_delta": 0.4219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0265,
"delta": 0.0075,
"percent_delta": 0.3947,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 6.9797,
"delta": 2.9497,
"percent_delta": 0.7319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2398,
"delta": 0.0048,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.277,
"after": 0.4633,
"delta": 0.1863,
"percent_delta": 0.6726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.6937,
"delta": 0.7437,
"percent_delta": 0.7828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.3386,
"delta": 0.1686,
"percent_delta": 0.9918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3,
"delta": -0.006,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.498,
"after": 0.9141,
"delta": 0.4161,
"percent_delta": 0.8355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 1.1306,
"delta": 0.5006,
"percent_delta": 0.7946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4355,
"delta": 0.0055,
"percent_delta": 0.0128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.718,
"after": 1.382,
"delta": 0.664,
"percent_delta": 0.9248,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 9,
"deboosted_metrics": 1,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.03,
"after": 6.9797,
"delta": 2.9497,
"percent_delta": 0.7319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3,
"delta": -0.006,
"percent_delta": -0.0196,
"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": 7,
"season": 57
}
},
{
"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.273,
"predicted_3B": 0.0265,
"predicted_AB": 6.9797,
"predicted_AVG": 0.2468,
"predicted_BB": 0.467,
"predicted_H": 1.7223,
"predicted_HBP": 0.073,
"predicted_HR": 0.3457,
"predicted_OBP": 0.294,
"predicted_R": 0.9412,
"predicted_RBI": 1.1642,
"predicted_SLG": 0.442,
"predicted_SO": 1.3709
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.273,
"after": 0.273,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0265,
"after": 0.0265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.9797,
"after": 6.9797,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2398,
"after": 0.2468,
"delta": 0.007,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4633,
"after": 0.467,
"delta": 0.0037,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6937,
"after": 1.7223,
"delta": 0.0286,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3386,
"after": 0.3457,
"delta": 0.0071,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.294,
"delta": -0.006,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9141,
"after": 0.9412,
"delta": 0.0271,
"percent_delta": 0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1306,
"after": 1.1642,
"delta": 0.0336,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4355,
"after": 0.442,
"delta": 0.0065,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.382,
"after": 1.3709,
"delta": -0.0111,
"percent_delta": -0.008,
"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.2398,
"after": 0.2468,
"delta": 0.007,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.294,
"delta": -0.006,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.98), rates preserved: AVG=0.247 HR/AB=0.050",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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.273,
"after": 0.0,
"delta": -0.273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0265,
"after": 0.0,
"delta": -0.0265,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.9797,
"after": 7.0,
"delta": 0.0203,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7223,
"after": 2.0,
"delta": 0.2777,
"percent_delta": 0.1612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3457,
"after": 0.0,
"delta": -0.3457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1642,
"after": 1.0,
"delta": -0.1642,
"percent_delta": -0.141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3709,
"after": 1.0,
"delta": -0.3709,
"percent_delta": -0.2706,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.7223,
"after": 2.0,
"delta": 0.2777,
"percent_delta": 0.1612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"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": 7.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": 7.0,
"after": 7.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.9412,
"after": 1.0,
"delta": 0.0588,
"percent_delta": 0.0625,
"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.9412,
"after": 1.0,
"delta": 0.0588,
"percent_delta": 0.0625,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2468,
"after": 0.286,
"delta": 0.0392,
"percent_delta": 0.1588,
"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.294,
"after": 0.286,
"delta": -0.008,
"percent_delta": -0.0272,
"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.442,
"after": 0.286,
"delta": -0.156,
"percent_delta": -0.3529,
"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.2468,
"after": 0.286,
"delta": 0.0392,
"percent_delta": 0.1588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.286,
"delta": -0.156,
"percent_delta": -0.3529,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"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": 3.0,
"predicted_AVG": 0.2468,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.294,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.442,
"predicted_SO": 0.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": 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.286,
"after": 0.2468,
"delta": -0.0392,
"percent_delta": -0.1372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.286,
"after": 0.294,
"delta": 0.008,
"percent_delta": 0.028,
"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.286,
"after": 0.442,
"delta": 0.156,
"percent_delta": 0.5456,
"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.286,
"after": 0.442,
"delta": 0.156,
"percent_delta": 0.5456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2468,
"delta": -0.0392,
"percent_delta": -0.1372,
"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.192,
"after": 1.0,
"delta": 0.808,
"percent_delta": 4.2083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 3.0,
"delta": -1.03,
"percent_delta": -0.2556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2468,
"delta": 0.0118,
"percent_delta": 0.0502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.277,
"after": 1.0,
"delta": 0.723,
"percent_delta": 2.6101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.0,
"delta": 0.05,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.294,
"delta": -0.012,
"percent_delta": -0.0392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.498,
"after": 0.0,
"delta": -0.498,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.442,
"delta": 0.012,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.718,
"after": 0.0,
"delta": -0.718,
"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_2B",
"before": 0.192,
"after": 1.0,
"delta": 0.808,
"percent_delta": 4.2083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.03,
"after": 3.0,
"delta": -1.03,
"percent_delta": -0.2556,
"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.192 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.030 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.277 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.498 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 0.718 | - |
Final model 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.273 | 0.081 |
| predicted_3B | 0.026 | 0.007 |
| predicted_AB | 6.980 | 2.950 |
| predicted_AVG | 0.240 | 0.005 |
| predicted_BB | 0.463 | 0.186 |
| predicted_H | 1.694 | 0.744 |
| predicted_HBP | 0.073 | - |
| predicted_HR | 0.339 | 0.169 |
| predicted_OBP | 0.300 | -0.006 |
| predicted_R | 0.914 | 0.416 |
| predicted_RBI | 1.131 | 0.501 |
| predicted_SLG | 0.435 | 0.006 |
| predicted_SO | 1.382 | 0.664 |
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.273 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 6.980 | 0.000 |
| predicted_AVG | 0.247 | 0.007 |
| predicted_BB | 0.467 | 0.004 |
| predicted_H | 1.722 | 0.029 |
| predicted_HBP | 0.073 | 0.000 |
| predicted_HR | 0.346 | 0.007 |
| predicted_OBP | 0.294 | -0.006 |
| predicted_R | 0.941 | 0.027 |
| predicted_RBI | 1.164 | 0.034 |
| predicted_SLG | 0.442 | 0.007 |
| predicted_SO | 1.371 | -0.011 |
AB rounded to 7 (raw=6.98), rates preserved: AVG=0.247 HR/AB=0.050
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.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.273 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 7.000 | 0.020 |
| predicted_AVG | 0.286 | 0.039 |
| predicted_BB | 0.000 | -0.467 |
| predicted_H | 2.000 | 0.278 |
| predicted_HR | 0.000 | -0.346 |
| predicted_OBP | 0.286 | -0.008 |
| predicted_R | 1.000 | 0.059 |
| predicted_RBI | 1.000 | -0.164 |
| predicted_SLG | 0.286 | -0.156 |
| predicted_SO | 1.000 | -0.371 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -4.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -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 | - | 18.000 | 5.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 1.000 | 5.000 | 0.2778 | 0.3000 | 0.6111 | 0.2778 | 0.1111 | 0.2222 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 7 | - | 37.000 | 5.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 1.000 | 6.000 | 0.1351 | 0.1538 | 0.2973 | 0.1351 | 0.0541 | 0.1081 | 0.0270 | 0.1622 |
| season | 0.60 | 57 | - | 808.000 | 202.000 | 41.000 | 4.000 | 26.000 | 125.000 | 106.000 | 59.000 | 153.000 | 0.2500 | 0.3071 | 0.4072 | 0.2500 | 0.0322 | 0.1547 | 0.0730 | 0.1894 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3760 |
| predicted_3B | 0.0360 |
| predicted_AB | 10.7290 |
| predicted_AVG | 0.2460 |
| predicted_BB | 0.7000 |
| predicted_H | 2.6390 |
| predicted_HBP | 0.0730 |
| predicted_HR | 0.5530 |
| predicted_OBP | 0.2923 |
| predicted_R | 1.4430 |
| predicted_RBI | 1.7670 |
| predicted_SLG | 0.4424 |
| predicted_SO | 2.2260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1920 | 0.3760 | 0.2730 | model_form_blend |
| predicted_3B | 0.0190 | 0.0360 | 0.0265 | model_form_blend |
| predicted_AB | 4.0300 | 10.7290 | 6.9797 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2460 | 0.2398 | model_form_blend |
| predicted_BB | 0.2770 | 0.7000 | 0.4633 | model_form_blend |
| predicted_H | 0.9500 | 2.6390 | 1.6937 | model_form_blend |
| predicted_HBP | - | 0.0730 | 0.0730 | form_only |
| predicted_HR | 0.1700 | 0.5530 | 0.3386 | model_form_blend |
| predicted_OBP | 0.3060 | 0.2923 | 0.3000 | model_form_blend |
| predicted_R | 0.4980 | 1.4430 | 0.9141 | model_form_blend |
| predicted_RBI | 0.6300 | 1.7670 | 1.1306 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4424 | 0.4355 | model_form_blend |
| predicted_SO | 0.7180 | 2.2260 | 1.3820 | 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 | 215 |
| Season rows before report date | 215 |
| Report year | 2026 |
| Profile rows used | 213 |
| 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| 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 | 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 | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_CHW@MIN |
| game_type | full |
| mlbID | 686797 |
| playerID | 686797 |
| playerName | Brooks Lee |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.321 |
| sl_xwoba | 0.27 |
| sl_xba | 0.22 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 30.6 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 12.0 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 51.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.193 | 0.000 | 0.000 | Hitting_2B | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 3.484 | 4.000 | 6.000 | Hitting_AB | 3.421 | 3.000 | 0.579 | 1.000 |
| predicted_AVG | 0.231 | 0.250 | 0.167 | Hitting_AVG | 0.273 | 0.000 | -0.023 | 0.250 |
| predicted_BB | 0.534 | 0.000 | 1.000 | Hitting_BB | 0.543 | 1.000 | -0.543 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 0.300 | 1.000 | 1.000 | Hitting_H | 0.933 | 0.000 | 0.067 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_OBP | 0.308 | 0.250 | 0.286 | Hitting_OBP | 0.380 | 0.250 | -0.130 | 0.000 |
| predicted_R | 0.634 | 0.000 | 1.000 | Hitting_R | 0.622 | 0.000 | -0.622 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 0.000 | Hitting_RBI | 0.354 | 0.000 | -0.354 | 0.000 |
| predicted_SLG | 0.365 | 0.250 | 0.167 | Hitting_SLG | 0.394 | 0.000 | -0.144 | 0.250 |
| predicted_SO | 0.801 | 1.000 | 1.000 | Hitting_SO | 0.787 | 2.000 | 0.213 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.3000 -> 1.0000 (boost 0.7000, better) |
| Biggest Deboost | predicted_R: 0.6340 -> 0.0000 (deboost -0.6340, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.4840 -> 5.8413 (boost 2.3573, 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.3606 -> 0.3049 (deboost -0.0557, 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: 5.8413 -> 6.0000 (boost 0.1587, better) | predicted_RBI: 0.4623 -> 0.0000 (deboost -0.4623, worse) | AB rounded to 6 (raw=5.84), rates preserved: AVG=0.195 HR/AB=0.014 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3049 -> 0.1670 (deboost -0.1379, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3049 (boost 0.1379, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663616",
"player_name": "Trevor Larnach",
"position": "LF",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.193,
"predicted_3B": 0.031,
"predicted_AB": 3.484,
"predicted_AVG": 0.231,
"predicted_BB": 0.534,
"predicted_H": 0.3,
"predicted_HR": 0.04,
"predicted_OBP": 0.308,
"predicted_R": 0.634,
"predicted_RBI": 0.15,
"predicted_SLG": 0.365,
"predicted_SO": 0.801
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3224,
"predicted_3B": 0.0406,
"predicted_AB": 5.8413,
"predicted_AVG": 0.2369,
"predicted_BB": 0.9651,
"predicted_H": 1.118,
"predicted_HBP": 0.086,
"predicted_HR": 0.0785,
"predicted_OBP": 0.3306,
"predicted_R": 0.9894,
"predicted_RBI": 0.449,
"predicted_SLG": 0.3606,
"predicted_SO": 1.4572
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.3224,
"delta": 0.1294,
"percent_delta": 0.6705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0406,
"delta": 0.0096,
"percent_delta": 0.3097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.484,
"after": 5.8413,
"delta": 2.3573,
"percent_delta": 0.6766,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2369,
"delta": 0.0059,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.534,
"after": 0.9651,
"delta": 0.4311,
"percent_delta": 0.8073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.118,
"delta": 0.818,
"percent_delta": 2.7267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0785,
"delta": 0.0385,
"percent_delta": 0.9625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3306,
"delta": 0.0226,
"percent_delta": 0.0734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.634,
"after": 0.9894,
"delta": 0.3554,
"percent_delta": 0.5606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.449,
"delta": 0.299,
"percent_delta": 1.9933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3606,
"delta": -0.0044,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.801,
"after": 1.4572,
"delta": 0.6562,
"percent_delta": 0.8192,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.484,
"after": 5.8413,
"delta": 2.3573,
"percent_delta": 0.6766,
"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": 48
}
},
{
"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.3224,
"predicted_3B": 0.0406,
"predicted_AB": 5.8413,
"predicted_AVG": 0.1946,
"predicted_BB": 0.9728,
"predicted_H": 1.1369,
"predicted_HBP": 0.086,
"predicted_HR": 0.0801,
"predicted_OBP": 0.3096,
"predicted_R": 1.0188,
"predicted_RBI": 0.4623,
"predicted_SLG": 0.3049,
"predicted_SO": 1.4455
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3224,
"after": 0.3224,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0406,
"after": 0.0406,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.8413,
"after": 5.8413,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2369,
"after": 0.1946,
"delta": -0.0423,
"percent_delta": -0.1786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9651,
"after": 0.9728,
"delta": 0.0077,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.118,
"after": 1.1369,
"delta": 0.0189,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.086,
"after": 0.086,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0785,
"after": 0.0801,
"delta": 0.0016,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3306,
"after": 0.3096,
"delta": -0.021,
"percent_delta": -0.0635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9894,
"after": 1.0188,
"delta": 0.0294,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.449,
"after": 0.4623,
"delta": 0.0133,
"percent_delta": 0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3606,
"after": 0.3049,
"delta": -0.0557,
"percent_delta": -0.1545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4572,
"after": 1.4455,
"delta": -0.0117,
"percent_delta": -0.008,
"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.3606,
"after": 0.3049,
"delta": -0.0557,
"percent_delta": -0.1545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.84), rates preserved: AVG=0.195 HR/AB=0.014",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3224,
"after": 0.0,
"delta": -0.3224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0406,
"after": 0.0,
"delta": -0.0406,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.8413,
"after": 6.0,
"delta": 0.1587,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9728,
"after": 1.0,
"delta": 0.0272,
"percent_delta": 0.028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1369,
"after": 1.0,
"delta": -0.1369,
"percent_delta": -0.1204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.086,
"after": 0.0,
"delta": -0.086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0801,
"after": 0.0,
"delta": -0.0801,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4623,
"after": 0.0,
"delta": -0.4623,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4455,
"after": 1.0,
"delta": -0.4455,
"percent_delta": -0.3082,
"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": 5.8413,
"after": 6.0,
"delta": 0.1587,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4623,
"after": 0.0,
"delta": -0.4623,
"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": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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": 1.0188,
"after": 1.0,
"delta": -0.0188,
"percent_delta": -0.0185,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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.1946,
"after": 0.167,
"delta": -0.0276,
"percent_delta": -0.1418,
"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.3096,
"after": 0.286,
"delta": -0.0236,
"percent_delta": -0.0762,
"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.3049,
"after": 0.167,
"delta": -0.1379,
"percent_delta": -0.4523,
"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.3049,
"after": 0.167,
"delta": -0.1379,
"percent_delta": -0.4523,
"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": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1946,
"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.3096,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3049,
"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.167,
"after": 0.1946,
"delta": 0.0276,
"percent_delta": 0.1655,
"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.286,
"after": 0.3096,
"delta": 0.0236,
"percent_delta": 0.0825,
"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.167,
"after": 0.3049,
"delta": 0.1379,
"percent_delta": 0.8256,
"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.167,
"after": 0.3049,
"delta": 0.1379,
"percent_delta": 0.8256,
"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.193,
"after": 0.0,
"delta": -0.193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.484,
"after": 4.0,
"delta": 0.516,
"percent_delta": 0.1481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.1946,
"delta": -0.0364,
"percent_delta": -0.1576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.534,
"after": 0.0,
"delta": -0.534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3096,
"delta": 0.0016,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.634,
"after": 0.0,
"delta": -0.634,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3049,
"delta": -0.0601,
"percent_delta": -0.1647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.801,
"after": 1.0,
"delta": 0.199,
"percent_delta": 0.2484,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.634,
"after": 0.0,
"delta": -0.634,
"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.193 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.484 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.534 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.634 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.365 | - |
| predicted_SO | 0.801 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.322 | 0.129 |
| predicted_3B | 0.041 | 0.010 |
| predicted_AB | 5.841 | 2.357 |
| predicted_AVG | 0.237 | 0.006 |
| predicted_BB | 0.965 | 0.431 |
| predicted_H | 1.118 | 0.818 |
| predicted_HBP | 0.086 | - |
| predicted_HR | 0.079 | 0.038 |
| predicted_OBP | 0.331 | 0.023 |
| predicted_R | 0.989 | 0.355 |
| predicted_RBI | 0.449 | 0.299 |
| predicted_SLG | 0.361 | -0.004 |
| predicted_SO | 1.457 | 0.656 |
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.322 | 0.000 |
| predicted_3B | 0.041 | 0.000 |
| predicted_AB | 5.841 | 0.000 |
| predicted_AVG | 0.195 | -0.042 |
| predicted_BB | 0.973 | 0.008 |
| predicted_H | 1.137 | 0.019 |
| predicted_HBP | 0.086 | 0.000 |
| predicted_HR | 0.080 | 0.002 |
| predicted_OBP | 0.310 | -0.021 |
| predicted_R | 1.019 | 0.029 |
| predicted_RBI | 0.462 | 0.013 |
| predicted_SLG | 0.305 | -0.056 |
| predicted_SO | 1.446 | -0.012 |
AB rounded to 6 (raw=5.84), rates preserved: AVG=0.195 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.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 | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.322 |
| predicted_3B | 0.000 | -0.041 |
| predicted_AB | 6.000 | 0.159 |
| predicted_AVG | 0.167 | -0.028 |
| predicted_BB | 1.000 | 0.027 |
| predicted_H | 1.000 | -0.137 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.286 | -0.024 |
| predicted_R | 1.000 | -0.019 |
| predicted_RBI | 0.000 | -0.462 |
| predicted_SLG | 0.167 | -0.138 |
| predicted_SO | 1.000 | -0.446 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 5.000 | 0.2000 | 0.3684 | 0.2667 | 0.2000 | 0.0000 | 0.0667 | 0.2667 | 0.3333 |
| last_10 | 0.20 | 7 | - | 35.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 4.000 | 11.000 | 0.1429 | 0.2308 | 0.2571 | 0.1429 | 0.0286 | 0.0857 | 0.1143 | 0.3143 |
| season | 0.60 | 48 | - | 561.000 | 153.000 | 31.000 | 5.000 | 9.000 | 57.000 | 102.000 | 86.000 | 129.000 | 0.2727 | 0.3771 | 0.3939 | 0.2727 | 0.0160 | 0.1016 | 0.1533 | 0.2299 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4890 |
| predicted_3B | 0.0530 |
| predicted_AB | 8.8760 |
| predicted_AVG | 0.2446 |
| predicted_BB | 1.5200 |
| predicted_H | 2.1710 |
| predicted_HBP | 0.0860 |
| predicted_HR | 0.1280 |
| predicted_OBP | 0.3597 |
| predicted_R | 1.4470 |
| predicted_RBI | 0.8340 |
| predicted_SLG | 0.3550 |
| predicted_SO | 2.3020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1930 | 0.4890 | 0.3224 | model_form_blend |
| predicted_3B | 0.0310 | 0.0530 | 0.0406 | model_form_blend |
| predicted_AB | 3.4840 | 8.8760 | 5.8413 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2446 | 0.2369 | model_form_blend |
| predicted_BB | 0.5340 | 1.5200 | 0.9651 | model_form_blend |
| predicted_H | 0.3000 | 2.1710 | 1.1180 | model_form_blend |
| predicted_HBP | - | 0.0860 | 0.0860 | form_only |
| predicted_HR | 0.0400 | 0.1280 | 0.0785 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3597 | 0.3306 | model_form_blend |
| predicted_R | 0.6340 | 1.4470 | 0.9894 | model_form_blend |
| predicted_RBI | 0.1500 | 0.8340 | 0.4490 | model_form_blend |
| predicted_SLG | 0.3650 | 0.3550 | 0.3606 | model_form_blend |
| predicted_SO | 0.8010 | 2.3020 | 1.4572 | 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 | 164 |
| Season rows before report date | 164 |
| Report year | 2026 |
| Profile rows used | 161 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | LF |
| gameID | 20260603_CHW@MIN |
| game_type | full |
| mlbID | 663616 |
| playerID | 663616 |
| playerName | Trevor Larnach |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.346 |
| sl_xwoba | 0.32 |
| sl_xba | 0.236 |
| sl_xslg | 0.35 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 29.9 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 41.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.033 | 0.000 | 0.000 | Hitting_2B | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.359 | 4.000 | 6.000 | Hitting_AB | 3.338 | 4.000 | 0.662 | 0.000 |
| predicted_AVG | 0.235 | 0.250 | 0.167 | Hitting_AVG | 0.185 | 0.250 | 0.065 | 0.000 |
| predicted_BB | 0.346 | 0.000 | 1.000 | Hitting_BB | 0.351 | 0.000 | -0.351 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.730 | 1.000 | 1.000 | Hitting_H | 0.617 | 1.000 | 0.383 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_OBP | 0.296 | 0.250 | 0.286 | Hitting_OBP | 0.283 | 0.250 | -0.033 | 0.000 |
| predicted_R | 0.190 | 0.000 | 0.000 | Hitting_R | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_SLG | 0.332 | 0.250 | 0.167 | Hitting_SLG | 0.224 | 0.250 | 0.026 | 0.000 |
| predicted_SO | 0.797 | 0.000 | 1.000 | Hitting_SO | 0.792 | 1.000 | -0.792 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.3590 -> 4.0000 (boost 0.6410, better) |
| Biggest Deboost | predicted_SO: 0.7970 -> 0.0000 (deboost -0.7970, 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 | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.3590 -> 5.9188 (boost 2.5598, better) | predicted_SLG: 0.3320 -> 0.3000 (deboost -0.0320, 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.3000 -> 0.2729 (deboost -0.0271, 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 | 4 | 4 | predicted_BB: 0.6088 -> 1.0000 (boost 0.3912, better) | predicted_SO: 1.3749 -> 1.0000 (deboost -0.3749, better) | AB rounded to 6 (raw=5.92), rates preserved: AVG=0.217 HR/AB=0.012 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3516 -> 0.0000 (deboost -0.3516, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.2729 -> 0.1670 (deboost -0.1059, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.1670 -> 0.2729 (boost 0.1059, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605170",
"player_name": "Victor Caratini",
"position": "C",
"team": "MIN",
"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.033,
"predicted_3B": 0.0,
"predicted_AB": 3.359,
"predicted_AVG": 0.235,
"predicted_BB": 0.346,
"predicted_H": 0.73,
"predicted_HR": 0.07,
"predicted_OBP": 0.296,
"predicted_R": 0.19,
"predicted_RBI": 0.45,
"predicted_SLG": 0.332,
"predicted_SO": 0.797
},
"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.1103,
"predicted_3B": 0.0009,
"predicted_AB": 5.9188,
"predicted_AVG": 0.2245,
"predicted_BB": 0.604,
"predicted_H": 1.2605,
"predicted_HBP": 0.346,
"predicted_HR": 0.0722,
"predicted_OBP": 0.2947,
"predicted_R": 0.3415,
"predicted_RBI": 0.8565,
"predicted_SLG": 0.3,
"predicted_SO": 1.386
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.033,
"after": 0.1103,
"delta": 0.0773,
"percent_delta": 2.3424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.359,
"after": 5.9188,
"delta": 2.5598,
"percent_delta": 0.7621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2245,
"delta": -0.0105,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.346,
"after": 0.604,
"delta": 0.258,
"percent_delta": 0.7457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.2605,
"delta": 0.5305,
"percent_delta": 0.7267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0722,
"delta": 0.0022,
"percent_delta": 0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2947,
"delta": -0.0013,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.19,
"after": 0.3415,
"delta": 0.1515,
"percent_delta": 0.7974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.8565,
"delta": 0.4065,
"percent_delta": 0.9033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3,
"delta": -0.032,
"percent_delta": -0.0964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.797,
"after": 1.386,
"delta": 0.589,
"percent_delta": 0.739,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.359,
"after": 5.9188,
"delta": 2.5598,
"percent_delta": 0.7621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3,
"delta": -0.032,
"percent_delta": -0.0964,
"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": 44
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1103,
"predicted_3B": 0.0009,
"predicted_AB": 5.9188,
"predicted_AVG": 0.2166,
"predicted_BB": 0.6088,
"predicted_H": 1.2818,
"predicted_HBP": 0.346,
"predicted_HR": 0.0737,
"predicted_OBP": 0.2896,
"predicted_R": 0.3516,
"predicted_RBI": 0.8819,
"predicted_SLG": 0.2729,
"predicted_SO": 1.3749
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1103,
"after": 0.1103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.9188,
"after": 5.9188,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2245,
"after": 0.2166,
"delta": -0.0079,
"percent_delta": -0.0352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.604,
"after": 0.6088,
"delta": 0.0048,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2605,
"after": 1.2818,
"delta": 0.0213,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.346,
"after": 0.346,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0722,
"after": 0.0737,
"delta": 0.0015,
"percent_delta": 0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2947,
"after": 0.2896,
"delta": -0.0051,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3415,
"after": 0.3516,
"delta": 0.0101,
"percent_delta": 0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8565,
"after": 0.8819,
"delta": 0.0254,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3,
"after": 0.2729,
"delta": -0.0271,
"percent_delta": -0.0903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.386,
"after": 1.3749,
"delta": -0.0111,
"percent_delta": -0.008,
"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.3,
"after": 0.2729,
"delta": -0.0271,
"percent_delta": -0.0903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.92), rates preserved: AVG=0.217 HR/AB=0.012",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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.1103,
"after": 0.0,
"delta": -0.1103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.9188,
"after": 6.0,
"delta": 0.0812,
"percent_delta": 0.0137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6088,
"after": 1.0,
"delta": 0.3912,
"percent_delta": 0.6426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2818,
"after": 1.0,
"delta": -0.2818,
"percent_delta": -0.2198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.346,
"after": 0.0,
"delta": -0.346,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0737,
"after": 0.0,
"delta": -0.0737,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8819,
"after": 1.0,
"delta": 0.1181,
"percent_delta": 0.1339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3749,
"after": 1.0,
"delta": -0.3749,
"percent_delta": -0.2727,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6088,
"after": 1.0,
"delta": 0.3912,
"percent_delta": 0.6426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3749,
"after": 1.0,
"delta": -0.3749,
"percent_delta": -0.2727,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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": 6.0,
"after": 6.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.9,
"bvp": 0.1
},
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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.3516,
"after": 0.0,
"delta": -0.3516,
"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.3516,
"after": 0.0,
"delta": -0.3516,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.2166,
"after": 0.167,
"delta": -0.0496,
"percent_delta": -0.229,
"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.2896,
"after": 0.286,
"delta": -0.0036,
"percent_delta": -0.0124,
"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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2729,
"after": 0.167,
"delta": -0.1059,
"percent_delta": -0.3881,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2729,
"after": 0.167,
"delta": -0.1059,
"percent_delta": -0.3881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2166,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2896,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2729,
"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.167,
"after": 0.2166,
"delta": 0.0496,
"percent_delta": 0.2968,
"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.286,
"after": 0.2896,
"delta": 0.0036,
"percent_delta": 0.0127,
"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.167,
"after": 0.2729,
"delta": 0.1059,
"percent_delta": 0.6339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.2729,
"delta": 0.1059,
"percent_delta": 0.6339,
"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.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.359,
"after": 4.0,
"delta": 0.641,
"percent_delta": 0.1908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2166,
"delta": -0.0184,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.346,
"after": 0.0,
"delta": -0.346,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2896,
"delta": -0.0064,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.2729,
"delta": -0.0591,
"percent_delta": -0.178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.797,
"after": 0.0,
"delta": -0.797,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.359,
"after": 4.0,
"delta": 0.641,
"percent_delta": 0.1908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.797,
"after": 0.0,
"delta": -0.797,
"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.033 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.359 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.346 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.190 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.332 | - |
| predicted_SO | 0.797 | - |
Final model 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.110 | 0.077 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.919 | 2.560 |
| predicted_AVG | 0.225 | -0.010 |
| predicted_BB | 0.604 | 0.258 |
| predicted_H | 1.260 | 0.530 |
| predicted_HBP | 0.346 | - |
| predicted_HR | 0.072 | 0.002 |
| predicted_OBP | 0.295 | -0.001 |
| predicted_R | 0.342 | 0.152 |
| predicted_RBI | 0.857 | 0.407 |
| predicted_SLG | 0.300 | -0.032 |
| predicted_SO | 1.386 | 0.589 |
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.110 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.919 | 0.000 |
| predicted_AVG | 0.217 | -0.008 |
| predicted_BB | 0.609 | 0.005 |
| predicted_H | 1.282 | 0.021 |
| predicted_HBP | 0.346 | 0.000 |
| predicted_HR | 0.074 | 0.002 |
| predicted_OBP | 0.290 | -0.005 |
| predicted_R | 0.352 | 0.010 |
| predicted_RBI | 0.882 | 0.025 |
| predicted_SLG | 0.273 | -0.027 |
| predicted_SO | 1.375 | -0.011 |
AB rounded to 6 (raw=5.92), rates preserved: AVG=0.217 HR/AB=0.012
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.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=10.0, weight=0.100, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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 | 6.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 | 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.110 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.081 |
| predicted_AVG | 0.167 | -0.050 |
| predicted_BB | 1.000 | 0.391 |
| predicted_H | 1.000 | -0.282 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.286 | -0.004 |
| predicted_R | 0.000 | -0.352 |
| predicted_RBI | 1.000 | 0.118 |
| predicted_SLG | 0.167 | -0.106 |
| predicted_SO | 1.000 | -0.375 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 2.000 | 4.000 | 0.2778 | 0.3333 | 0.3333 | 0.2778 | 0.0000 | 0.1667 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 6 | - | 35.000 | 8.000 | 1.000 | 0.000 | 0.000 | 6.000 | 1.000 | 2.000 | 8.000 | 0.2286 | 0.2439 | 0.2571 | 0.2286 | 0.0000 | 0.1714 | 0.0571 | 0.2286 |
| season | 0.60 | 44 | - | 514.000 | 95.000 | 5.000 | 0.000 | 5.000 | 74.000 | 29.000 | 53.000 | 122.000 | 0.1848 | 0.2816 | 0.2237 | 0.1848 | 0.0097 | 0.1440 | 0.1031 | 0.2374 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2100 |
| predicted_3B | 0.0020 |
| predicted_AB | 9.2220 |
| predicted_AVG | 0.2109 |
| predicted_BB | 0.9370 |
| predicted_H | 1.9450 |
| predicted_HBP | 0.3460 |
| predicted_HR | 0.0750 |
| predicted_OBP | 0.2931 |
| predicted_R | 0.5370 |
| predicted_RBI | 1.3810 |
| predicted_SLG | 0.2586 |
| predicted_SO | 2.1460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0330 | 0.2100 | 0.1103 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3590 | 9.2220 | 5.9188 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2109 | 0.2245 | model_form_blend |
| predicted_BB | 0.3460 | 0.9370 | 0.6040 | model_form_blend |
| predicted_H | 0.7300 | 1.9450 | 1.2605 | model_form_blend |
| predicted_HBP | - | 0.3460 | 0.3460 | form_only |
| predicted_HR | 0.0700 | 0.0750 | 0.0722 | model_form_blend |
| predicted_OBP | 0.2960 | 0.2931 | 0.2947 | model_form_blend |
| predicted_R | 0.1900 | 0.5370 | 0.3415 | model_form_blend |
| predicted_RBI | 0.4500 | 1.3810 | 0.8565 | model_form_blend |
| predicted_SLG | 0.3320 | 0.2586 | 0.3000 | model_form_blend |
| predicted_SO | 0.7970 | 2.1460 | 1.3860 | 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 | 154 |
| Season rows before report date | 154 |
| Report year | 2026 |
| Profile rows used | 153 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.185 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | C |
| gameID | 20260603_CHW@MIN |
| game_type | full |
| mlbID | 605170 |
| playerID | 605170 |
| playerName | Victor Caratini |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.253 |
| sl_xwoba | 0.325 |
| sl_xba | 0.244 |
| sl_xslg | 0.362 |
| sl_sweet_spot_percent | 39.8 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 37.2 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 43.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.181 | 0.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.716 | 4.000 | 7.000 | Hitting_AB | 3.699 | 4.000 | 0.301 | 0.000 |
| predicted_AVG | 0.251 | 0.250 | 0.286 | Hitting_AVG | 0.244 | 0.250 | 0.006 | 0.000 |
| predicted_BB | 0.400 | 0.000 | 1.000 | Hitting_BB | 0.398 | 0.000 | -0.398 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.930 | 1.000 | 2.000 | Hitting_H | 0.903 | 1.000 | 0.097 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_OBP | 0.332 | 0.250 | 0.375 | Hitting_OBP | 0.325 | 0.250 | -0.075 | 0.000 |
| predicted_R | 0.493 | 0.000 | 1.000 | Hitting_R | 0.491 | 0.000 | -0.491 | 0.000 |
| predicted_RBI | 0.430 | 0.000 | 1.000 | Hitting_RBI | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_SLG | 0.362 | 0.250 | 0.286 | Hitting_SLG | 0.322 | 0.250 | -0.072 | 0.000 |
| predicted_SO | 0.637 | 1.000 | 1.000 | Hitting_SO | 0.634 | 1.000 | 0.366 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.6370 -> 1.0000 (boost 0.3630, worse) |
| Biggest Deboost | predicted_R: 0.4930 -> 0.0000 (deboost -0.4930, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.7160 -> 6.6097 (boost 2.8937, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2670 -> 0.2802 (boost 0.0132, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 5 | 3 | predicted_AB: 6.6097 -> 7.0000 (boost 0.3903, better) | predicted_2B: 0.3132 -> 0.0000 (deboost -0.3132, worse) | AB rounded to 7 (raw=6.61), rates preserved: AVG=0.280 HR/AB=0.008 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3417 -> 0.3750 (boost 0.0333, better) | predicted_SLG: 0.3589 -> 0.2860 (deboost -0.0729, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3589 (boost 0.0729, better) | predicted_OBP: 0.3750 -> 0.3417 (deboost -0.0333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "807712",
"player_name": "Luke Keaschall",
"position": "2B",
"team": "MIN",
"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.181,
"predicted_3B": 0.019,
"predicted_AB": 3.716,
"predicted_AVG": 0.251,
"predicted_BB": 0.4,
"predicted_H": 0.93,
"predicted_HR": 0.05,
"predicted_OBP": 0.332,
"predicted_R": 0.493,
"predicted_RBI": 0.43,
"predicted_SLG": 0.362,
"predicted_SO": 0.637
},
"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.3132,
"predicted_3B": 0.0256,
"predicted_AB": 6.6097,
"predicted_AVG": 0.267,
"predicted_BB": 0.6119,
"predicted_H": 1.8214,
"predicted_HBP": 0.109,
"predicted_HR": 0.0509,
"predicted_OBP": 0.3369,
"predicted_R": 0.9676,
"predicted_RBI": 0.7684,
"predicted_SLG": 0.3592,
"predicted_SO": 1.1032
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.3132,
"delta": 0.1322,
"percent_delta": 0.7304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0256,
"delta": 0.0066,
"percent_delta": 0.3474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.716,
"after": 6.6097,
"delta": 2.8937,
"percent_delta": 0.7787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.267,
"delta": 0.016,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.6119,
"delta": 0.2119,
"percent_delta": 0.5297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.8214,
"delta": 0.8914,
"percent_delta": 0.9585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0509,
"delta": 0.0009,
"percent_delta": 0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3369,
"delta": 0.0049,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.493,
"after": 0.9676,
"delta": 0.4746,
"percent_delta": 0.9627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.7684,
"delta": 0.3384,
"percent_delta": 0.787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3592,
"delta": -0.0028,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.637,
"after": 1.1032,
"delta": 0.4662,
"percent_delta": 0.7319,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.716,
"after": 6.6097,
"delta": 2.8937,
"percent_delta": 0.7787,
"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": 8,
"season": 57
}
},
{
"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.3132,
"predicted_3B": 0.0256,
"predicted_AB": 6.6097,
"predicted_AVG": 0.2802,
"predicted_BB": 0.6168,
"predicted_H": 1.8522,
"predicted_HBP": 0.109,
"predicted_HR": 0.052,
"predicted_OBP": 0.3417,
"predicted_R": 0.9963,
"predicted_RBI": 0.7912,
"predicted_SLG": 0.3589,
"predicted_SO": 1.0944
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3132,
"after": 0.3132,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0256,
"after": 0.0256,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.6097,
"after": 6.6097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2802,
"delta": 0.0132,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6119,
"after": 0.6168,
"delta": 0.0049,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8214,
"after": 1.8522,
"delta": 0.0308,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.109,
"after": 0.109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0509,
"after": 0.052,
"delta": 0.0011,
"percent_delta": 0.0216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3369,
"after": 0.3417,
"delta": 0.0048,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9676,
"after": 0.9963,
"delta": 0.0287,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7684,
"after": 0.7912,
"delta": 0.0228,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3592,
"after": 0.3589,
"delta": -0.0003,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1032,
"after": 1.0944,
"delta": -0.0088,
"percent_delta": -0.008,
"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_AVG",
"before": 0.267,
"after": 0.2802,
"delta": 0.0132,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.61), rates preserved: AVG=0.280 HR/AB=0.008",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.3132,
"after": 0.0,
"delta": -0.3132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0256,
"after": 0.0,
"delta": -0.0256,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.6097,
"after": 7.0,
"delta": 0.3903,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6168,
"after": 1.0,
"delta": 0.3832,
"percent_delta": 0.6213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8522,
"after": 2.0,
"delta": 0.1478,
"percent_delta": 0.0798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.109,
"after": 0.0,
"delta": -0.109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.052,
"after": 0.0,
"delta": -0.052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7912,
"after": 1.0,
"delta": 0.2088,
"percent_delta": 0.2639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0944,
"after": 1.0,
"delta": -0.0944,
"percent_delta": -0.0863,
"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": 6.6097,
"after": 7.0,
"delta": 0.3903,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3132,
"after": 0.0,
"delta": -0.3132,
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.9963,
"after": 1.0,
"delta": 0.0037,
"percent_delta": 0.0037,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2802,
"after": 0.286,
"delta": 0.0058,
"percent_delta": 0.0207,
"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": 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.3417,
"after": 0.375,
"delta": 0.0333,
"percent_delta": 0.0975,
"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.3589,
"after": 0.286,
"delta": -0.0729,
"percent_delta": -0.2031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3417,
"after": 0.375,
"delta": 0.0333,
"percent_delta": 0.0975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3589,
"after": 0.286,
"delta": -0.0729,
"percent_delta": -0.2031,
"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": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2802,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3417,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3589,
"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.286,
"after": 0.2802,
"delta": -0.0058,
"percent_delta": -0.0202,
"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.375,
"after": 0.3417,
"delta": -0.0333,
"percent_delta": -0.0889,
"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.286,
"after": 0.3589,
"delta": 0.0729,
"percent_delta": 0.255,
"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.286,
"after": 0.3589,
"delta": 0.0729,
"percent_delta": 0.255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3417,
"delta": -0.0333,
"percent_delta": -0.0889,
"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.181,
"after": 0.0,
"delta": -0.181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.716,
"after": 4.0,
"delta": 0.284,
"percent_delta": 0.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2802,
"delta": 0.0292,
"percent_delta": 0.1163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.0,
"delta": 0.07,
"percent_delta": 0.0753,
"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.332,
"after": 0.3417,
"delta": 0.0097,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.493,
"after": 0.0,
"delta": -0.493,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3589,
"delta": -0.0031,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.637,
"after": 1.0,
"delta": 0.363,
"percent_delta": 0.5699,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.637,
"after": 1.0,
"delta": 0.363,
"percent_delta": 0.5699,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.493,
"after": 0.0,
"delta": -0.493,
"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.181 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.716 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.493 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.637 | - |
Final model 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.313 | 0.132 |
| predicted_3B | 0.026 | 0.007 |
| predicted_AB | 6.610 | 2.894 |
| predicted_AVG | 0.267 | 0.016 |
| predicted_BB | 0.612 | 0.212 |
| predicted_H | 1.821 | 0.891 |
| predicted_HBP | 0.109 | - |
| predicted_HR | 0.051 | 0.001 |
| predicted_OBP | 0.337 | 0.005 |
| predicted_R | 0.968 | 0.475 |
| predicted_RBI | 0.768 | 0.338 |
| predicted_SLG | 0.359 | -0.003 |
| predicted_SO | 1.103 | 0.466 |
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.313 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 6.610 | 0.000 |
| predicted_AVG | 0.280 | 0.013 |
| predicted_BB | 0.617 | 0.005 |
| predicted_H | 1.852 | 0.031 |
| predicted_HBP | 0.109 | 0.000 |
| predicted_HR | 0.052 | 0.001 |
| predicted_OBP | 0.342 | 0.005 |
| predicted_R | 0.996 | 0.029 |
| predicted_RBI | 0.791 | 0.023 |
| predicted_SLG | 0.359 | -0.000 |
| predicted_SO | 1.094 | -0.009 |
AB rounded to 7 (raw=6.61), rates preserved: AVG=0.280 HR/AB=0.008
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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.313 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 7.000 | 0.390 |
| predicted_AVG | 0.286 | 0.006 |
| predicted_BB | 1.000 | 0.383 |
| predicted_H | 2.000 | 0.148 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.375 | 0.033 |
| predicted_R | 1.000 | 0.004 |
| predicted_RBI | 1.000 | 0.209 |
| predicted_SLG | 0.286 | -0.073 |
| predicted_SO | 1.000 | -0.094 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 7.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 1.000 | 3.000 | 0.3889 | 0.4000 | 0.3889 | 0.3889 | 0.0000 | 0.1667 | 0.0556 | 0.1667 |
| last_10 | 0.20 | 8 | - | 35.000 | 12.000 | 4.000 | 0.000 | 0.000 | 3.000 | 5.000 | 1.000 | 4.000 | 0.3429 | 0.3514 | 0.4571 | 0.3429 | 0.0000 | 0.0857 | 0.0286 | 0.1143 |
| season | 0.60 | 57 | - | 799.000 | 195.000 | 39.000 | 4.000 | 5.000 | 84.000 | 106.000 | 86.000 | 137.000 | 0.2441 | 0.3241 | 0.3217 | 0.2441 | 0.0063 | 0.1051 | 0.1076 | 0.1715 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4810 |
| predicted_3B | 0.0340 |
| predicted_AB | 10.2830 |
| predicted_AVG | 0.2872 |
| predicted_BB | 0.8810 |
| predicted_H | 2.9530 |
| predicted_HBP | 0.1090 |
| predicted_HR | 0.0520 |
| predicted_OBP | 0.3432 |
| predicted_R | 1.5700 |
| predicted_RBI | 1.1980 |
| predicted_SLG | 0.3557 |
| predicted_SO | 1.6950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.4810 | 0.3132 | model_form_blend |
| predicted_3B | 0.0190 | 0.0340 | 0.0256 | model_form_blend |
| predicted_AB | 3.7160 | 10.2830 | 6.6097 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2872 | 0.2670 | model_form_blend |
| predicted_BB | 0.4000 | 0.8810 | 0.6119 | model_form_blend |
| predicted_H | 0.9300 | 2.9530 | 1.8214 | model_form_blend |
| predicted_HBP | - | 0.1090 | 0.1090 | form_only |
| predicted_HR | 0.0500 | 0.0520 | 0.0509 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3432 | 0.3369 | model_form_blend |
| predicted_R | 0.4930 | 1.5700 | 0.9676 | model_form_blend |
| predicted_RBI | 0.4300 | 1.1980 | 0.7684 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3557 | 0.3592 | model_form_blend |
| predicted_SO | 0.6370 | 1.6950 | 1.1032 | 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 | 216 |
| Season rows before report date | 216 |
| Report year | 2026 |
| Profile rows used | 215 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.244 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_CHW@MIN |
| game_type | full |
| mlbID | 807712 |
| playerID | 807712 |
| playerName | Luke Keaschall |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-03 |
| sl_k_percent | 15.3 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.292 |
| sl_xwoba | 0.283 |
| sl_xba | 0.227 |
| sl_xslg | 0.327 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 28.4 |
| sl_exit_velocity_avg | 84.2 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 15.2 |
| sl_swing_percent | 41.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 0.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.275 | 4.000 | 5.000 | Hitting_AB | 2.982 | 0.000 | 1.018 | 4.000 |
| predicted_AVG | 0.266 | 0.000 | 0.200 | Hitting_AVG | 0.257 | - | -0.257 | - |
| predicted_BB | 0.353 | 0.000 | 0.000 | Hitting_BB | 0.339 | 0.000 | -0.339 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_H | 0.540 | 0.000 | 1.000 | Hitting_H | 0.768 | 0.000 | -0.768 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_OBP | 0.284 | 0.000 | 0.200 | Hitting_OBP | 0.337 | 1.000 | -0.337 | -1.000 |
| predicted_R | 0.588 | 0.000 | 1.000 | Hitting_R | 0.571 | 0.000 | -0.571 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 1.000 | Hitting_RBI | 0.482 | 0.000 | -0.482 | 0.000 |
| predicted_SLG | 0.389 | 0.000 | 0.200 | Hitting_SLG | 0.473 | - | -0.473 | - |
| predicted_SO | 1.098 | 3.000 | 2.000 | Hitting_SO | 1.000 | 0.000 | 2.000 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 1.0980 -> 3.0000 (boost 1.9020, worse) |
| Biggest Deboost | predicted_R: 0.5880 -> 0.0000 (deboost -0.5880, 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 | 11 | 8 | 3 | 7 | 4 | predicted_AB: 3.2750 -> 5.0120 (boost 1.7370, better) | predicted_AVG: 0.2660 -> 0.2446 (deboost -0.0214, 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.2446 -> 0.1981 (deboost -0.0465, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_SO: 1.5471 -> 2.0000 (boost 0.4529, worse) | predicted_BB: 0.4491 -> 0.0000 (deboost -0.4491, worse) | AB rounded to 5 (raw=5.01), rates preserved: AVG=0.198 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7968 -> 1.0000 (boost 0.2032, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3478 -> 0.2000 (deboost -0.1478, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2000 -> 0.3478 (boost 0.1478, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668952",
"player_name": "Ryan Kreidler",
"position": "SS",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.0,
"predicted_AB": 3.275,
"predicted_AVG": 0.266,
"predicted_BB": 0.353,
"predicted_H": 0.54,
"predicted_HR": 0.09,
"predicted_OBP": 0.284,
"predicted_R": 0.588,
"predicted_RBI": 0.36,
"predicted_SLG": 0.389,
"predicted_SO": 1.098
},
"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.2267,
"predicted_3B": 0.0016,
"predicted_AB": 5.012,
"predicted_AVG": 0.2446,
"predicted_BB": 0.4455,
"predicted_H": 0.9766,
"predicted_HBP": 0.01,
"predicted_HR": 0.1698,
"predicted_OBP": 0.277,
"predicted_R": 0.7738,
"predicted_RBI": 0.7254,
"predicted_SLG": 0.3805,
"predicted_SO": 1.5596
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.2267,
"delta": 0.0507,
"percent_delta": 0.2881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0016,
"delta": 0.0016,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.275,
"after": 5.012,
"delta": 1.737,
"percent_delta": 0.5304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2446,
"delta": -0.0214,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.4455,
"delta": 0.0925,
"percent_delta": 0.262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.9766,
"delta": 0.4366,
"percent_delta": 0.8085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1698,
"delta": 0.0798,
"percent_delta": 0.8867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.277,
"delta": -0.007,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.588,
"after": 0.7738,
"delta": 0.1858,
"percent_delta": 0.316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.7254,
"delta": 0.3654,
"percent_delta": 1.015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3805,
"delta": -0.0085,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.098,
"after": 1.5596,
"delta": 0.4616,
"percent_delta": 0.4204,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.275,
"after": 5.012,
"delta": 1.737,
"percent_delta": 0.5304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2446,
"delta": -0.0214,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 3,
"last_10": 6,
"season": 17
}
},
{
"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.2267,
"predicted_3B": 0.0016,
"predicted_AB": 5.012,
"predicted_AVG": 0.1981,
"predicted_BB": 0.4491,
"predicted_H": 0.9931,
"predicted_HBP": 0.01,
"predicted_HR": 0.1733,
"predicted_OBP": 0.2641,
"predicted_R": 0.7968,
"predicted_RBI": 0.7469,
"predicted_SLG": 0.3478,
"predicted_SO": 1.5471
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2267,
"after": 0.2267,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.012,
"after": 5.012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2446,
"after": 0.1981,
"delta": -0.0465,
"percent_delta": -0.1901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4455,
"after": 0.4491,
"delta": 0.0036,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9766,
"after": 0.9931,
"delta": 0.0165,
"percent_delta": 0.0169,
"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.1698,
"after": 0.1733,
"delta": 0.0035,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2641,
"delta": -0.0129,
"percent_delta": -0.0466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7738,
"after": 0.7968,
"delta": 0.023,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7254,
"after": 0.7469,
"delta": 0.0215,
"percent_delta": 0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3805,
"after": 0.3478,
"delta": -0.0327,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5596,
"after": 1.5471,
"delta": -0.0125,
"percent_delta": -0.008,
"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.2446,
"after": 0.1981,
"delta": -0.0465,
"percent_delta": -0.1901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.01), rates preserved: AVG=0.198 HR/AB=0.035",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2267,
"after": 0.0,
"delta": -0.2267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0,
"delta": -0.0016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.012,
"after": 5.0,
"delta": -0.012,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4491,
"after": 0.0,
"delta": -0.4491,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9931,
"after": 1.0,
"delta": 0.0069,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1733,
"after": 0.0,
"delta": -0.1733,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7469,
"after": 1.0,
"delta": 0.2531,
"percent_delta": 0.3389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5471,
"after": 2.0,
"delta": 0.4529,
"percent_delta": 0.2927,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.5471,
"after": 2.0,
"delta": 0.4529,
"percent_delta": 0.2927,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4491,
"after": 0.0,
"delta": -0.4491,
"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.000)",
"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": 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_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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": 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_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.7968,
"after": 1.0,
"delta": 0.2032,
"percent_delta": 0.255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7968,
"after": 1.0,
"delta": 0.2032,
"percent_delta": 0.255,
"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": 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.1981,
"after": 0.2,
"delta": 0.0019,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2641,
"after": 0.2,
"delta": -0.0641,
"percent_delta": -0.2427,
"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.3478,
"after": 0.2,
"delta": -0.1478,
"percent_delta": -0.425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3478,
"after": 0.2,
"delta": -0.1478,
"percent_delta": -0.425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1981,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2641,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3478,
"predicted_SO": 3.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1981,
"delta": -0.0019,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2641,
"delta": 0.0641,
"percent_delta": 0.3204,
"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.2,
"after": 0.3478,
"delta": 0.1478,
"percent_delta": 0.7389,
"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": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3478,
"delta": 0.1478,
"percent_delta": 0.7389,
"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.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.275,
"after": 4.0,
"delta": 0.725,
"percent_delta": 0.2214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.1981,
"delta": -0.0679,
"percent_delta": -0.2553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2641,
"delta": -0.0199,
"percent_delta": -0.0701,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.588,
"after": 0.0,
"delta": -0.588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3478,
"delta": -0.0412,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.098,
"after": 3.0,
"delta": 1.902,
"percent_delta": 1.7322,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.098,
"after": 3.0,
"delta": 1.902,
"percent_delta": 1.7322,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.588,
"after": 0.0,
"delta": -0.588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.275 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.353 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.284 | - |
| predicted_R | 0.588 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.389 | - |
| predicted_SO | 1.098 | - |
Final model 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.227 | 0.051 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 5.012 | 1.737 |
| predicted_AVG | 0.245 | -0.021 |
| predicted_BB | 0.446 | 0.093 |
| predicted_H | 0.977 | 0.437 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.170 | 0.080 |
| predicted_OBP | 0.277 | -0.007 |
| predicted_R | 0.774 | 0.186 |
| predicted_RBI | 0.725 | 0.365 |
| predicted_SLG | 0.381 | -0.009 |
| predicted_SO | 1.560 | 0.462 |
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.227 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 5.012 | 0.000 |
| predicted_AVG | 0.198 | -0.047 |
| predicted_BB | 0.449 | 0.004 |
| predicted_H | 0.993 | 0.016 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.173 | 0.004 |
| predicted_OBP | 0.264 | -0.013 |
| predicted_R | 0.797 | 0.023 |
| predicted_RBI | 0.747 | 0.021 |
| predicted_SLG | 0.348 | -0.033 |
| predicted_SO | 1.547 | -0.013 |
AB rounded to 5 (raw=5.01), rates preserved: AVG=0.198 HR/AB=0.035
| 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 | 2.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 2.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.227 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 5.000 | -0.012 |
| predicted_AVG | 0.200 | 0.002 |
| predicted_BB | 0.000 | -0.449 |
| predicted_H | 1.000 | 0.007 |
| predicted_HR | 0.000 | -0.173 |
| predicted_OBP | 0.200 | -0.064 |
| predicted_R | 1.000 | 0.203 |
| predicted_RBI | 1.000 | 0.253 |
| predicted_SLG | 0.200 | -0.148 |
| predicted_SO | 2.000 | 0.453 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 11.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 0.000 | 3.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.2727 | 0.0000 | 0.2727 |
| last_10 | 0.20 | 6 | - | 24.000 | 4.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 0.000 | 5.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.1250 | 0.0000 | 0.2083 |
| season | 0.60 | 17 | - | 167.000 | 43.000 | 9.000 | 0.000 | 9.000 | 27.000 | 30.000 | 18.000 | 56.000 | 0.2575 | 0.3297 | 0.4731 | 0.2575 | 0.0539 | 0.1617 | 0.1078 | 0.3353 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3000 |
| predicted_3B | 0.0040 |
| predicted_AB | 7.5200 |
| predicted_AVG | 0.2137 |
| predicted_BB | 0.5790 |
| predicted_H | 1.6070 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.2850 |
| predicted_OBP | 0.2669 |
| predicted_R | 1.0420 |
| predicted_RBI | 1.2530 |
| predicted_SLG | 0.3682 |
| predicted_SO | 2.2260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.3000 | 0.2267 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0016 | model_form_blend |
| predicted_AB | 3.2750 | 7.5200 | 5.0120 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2137 | 0.2446 | model_form_blend |
| predicted_BB | 0.3530 | 0.5790 | 0.4455 | model_form_blend |
| predicted_H | 0.5400 | 1.6070 | 0.9766 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0900 | 0.2850 | 0.1698 | model_form_blend |
| predicted_OBP | 0.2840 | 0.2669 | 0.2770 | model_form_blend |
| predicted_R | 0.5880 | 1.0420 | 0.7738 | model_form_blend |
| predicted_RBI | 0.3600 | 1.2530 | 0.7254 | model_form_blend |
| predicted_SLG | 0.3890 | 0.3682 | 0.3805 | model_form_blend |
| predicted_SO | 1.0980 | 2.2260 | 1.5596 | 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 | 56 |
| Season rows before report date | 56 |
| Report year | 2026 |
| Profile rows used | 51 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.257 |
| 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 | 1 |
| 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-SS |
| gameID | 20260603_CHW@MIN |
| game_type | ph |
| mlbID | 668952 |
| note | Hit by pitch for Gray, T in the 8th. |
| playerID | 668952 |
| playerName | Ryan Kreidler |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.364 |
| sl_xwoba | 0.339 |
| sl_xba | 0.235 |
| sl_xslg | 0.438 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 32.4 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 29.8 |
| sl_swing_percent | 52.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.200 | 0.000 | 0.000 | Hitting_2B | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_3B | 0.046 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 2.969 | 3.000 | 5.000 | Hitting_AB | 2.193 | 0.000 | 0.807 | 3.000 |
| predicted_AVG | 0.265 | 0.333 | 0.200 | Hitting_AVG | 0.181 | - | 0.152 | - |
| predicted_BB | 0.215 | 0.000 | 0.000 | Hitting_BB | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_H | 0.150 | 1.000 | 1.000 | Hitting_H | 0.398 | 0.000 | 0.602 | 1.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.265 | 0.333 | 0.200 | Hitting_OBP | 0.244 | - | 0.089 | - |
| predicted_R | 0.338 | 0.000 | 0.000 | Hitting_R | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_RBI | 0.090 | 0.000 | 0.000 | Hitting_RBI | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_SLG | 0.314 | 0.333 | 0.200 | Hitting_SLG | 0.280 | - | 0.054 | - |
| predicted_SO | 1.338 | 1.000 | 2.000 | Hitting_SO | 0.989 | 0.000 | 0.011 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.1500 -> 1.0000 (boost 0.8500, better) |
| Biggest Deboost | predicted_R: 0.3380 -> 0.0000 (deboost -0.3380, 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 | 10 | 7 | 3 | 6 | 4 | predicted_AB: 2.9690 -> 4.5325 (boost 1.5635, better) | predicted_AVG: 0.2650 -> 0.2203 (deboost -0.0447, 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.2203 -> 0.1179 (deboost -0.1024, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 4.5325 -> 5.0000 (boost 0.4675, better) | predicted_BB: 0.3354 -> 0.0000 (deboost -0.3354, worse) | AB rounded to 5 (raw=4.53), rates preserved: AVG=0.118 HR/AB=0.005 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4769 -> 0.0000 (deboost -0.4769, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1179 -> 0.2000 (boost 0.0821, better) | predicted_SLG: 0.2180 -> 0.2000 (deboost -0.0180, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2000 -> 0.2180 (boost 0.0180, better) | predicted_AVG: 0.2000 -> 0.1179 (deboost -0.0821, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681546",
"player_name": "James Outman",
"position": "CF",
"team": "MIN",
"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.2,
"predicted_3B": 0.046,
"predicted_AB": 2.969,
"predicted_AVG": 0.265,
"predicted_BB": 0.215,
"predicted_H": 0.15,
"predicted_HR": 0.02,
"predicted_OBP": 0.265,
"predicted_R": 0.338,
"predicted_RBI": 0.09,
"predicted_SLG": 0.314,
"predicted_SO": 1.338
},
"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.2644,
"predicted_3B": 0.0584,
"predicted_AB": 4.5325,
"predicted_AVG": 0.2203,
"predicted_BB": 0.3327,
"predicted_H": 0.5254,
"predicted_HBP": 0.008,
"predicted_HR": 0.0237,
"predicted_OBP": 0.2438,
"predicted_R": 0.4631,
"predicted_RBI": 0.2188,
"predicted_SLG": 0.2853,
"predicted_SO": 2.211
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.2644,
"delta": 0.0644,
"percent_delta": 0.322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.046,
"after": 0.0584,
"delta": 0.0124,
"percent_delta": 0.2696,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.969,
"after": 4.5325,
"delta": 1.5635,
"percent_delta": 0.5266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2203,
"delta": -0.0447,
"percent_delta": -0.1687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.215,
"after": 0.3327,
"delta": 0.1177,
"percent_delta": 0.5474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.15,
"after": 0.5254,
"delta": 0.3754,
"percent_delta": 2.5027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0237,
"delta": 0.0037,
"percent_delta": 0.185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.265,
"after": 0.2438,
"delta": -0.0212,
"percent_delta": -0.08,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.338,
"after": 0.4631,
"delta": 0.1251,
"percent_delta": 0.3701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.09,
"after": 0.2188,
"delta": 0.1288,
"percent_delta": 1.4311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.2853,
"delta": -0.0287,
"percent_delta": -0.0914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.338,
"after": 2.211,
"delta": 0.873,
"percent_delta": 0.6525,
"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_AB",
"before": 2.969,
"after": 4.5325,
"delta": 1.5635,
"percent_delta": 0.5266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2203,
"delta": -0.0447,
"percent_delta": -0.1687,
"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": 3,
"last_10": 4,
"season": 25
}
},
{
"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.2644,
"predicted_3B": 0.0584,
"predicted_AB": 4.5325,
"predicted_AVG": 0.1179,
"predicted_BB": 0.3354,
"predicted_H": 0.5343,
"predicted_HBP": 0.008,
"predicted_HR": 0.0242,
"predicted_OBP": 0.1786,
"predicted_R": 0.4769,
"predicted_RBI": 0.2253,
"predicted_SLG": 0.218,
"predicted_SO": 2.1933
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2644,
"after": 0.2644,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0584,
"after": 0.0584,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5325,
"after": 4.5325,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2203,
"after": 0.1179,
"delta": -0.1024,
"percent_delta": -0.4648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3327,
"after": 0.3354,
"delta": 0.0027,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5254,
"after": 0.5343,
"delta": 0.0089,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0237,
"after": 0.0242,
"delta": 0.0005,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2438,
"after": 0.1786,
"delta": -0.0652,
"percent_delta": -0.2674,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4631,
"after": 0.4769,
"delta": 0.0138,
"percent_delta": 0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2188,
"after": 0.2253,
"delta": 0.0065,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2853,
"after": 0.218,
"delta": -0.0673,
"percent_delta": -0.2359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.211,
"after": 2.1933,
"delta": -0.0177,
"percent_delta": -0.008,
"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.2203,
"after": 0.1179,
"delta": -0.1024,
"percent_delta": -0.4648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.53), rates preserved: AVG=0.118 HR/AB=0.005",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2644,
"after": 0.0,
"delta": -0.2644,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0584,
"after": 0.0,
"delta": -0.0584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.5325,
"after": 5.0,
"delta": 0.4675,
"percent_delta": 0.1031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3354,
"after": 0.0,
"delta": -0.3354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5343,
"after": 1.0,
"delta": 0.4657,
"percent_delta": 0.8716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0242,
"after": 0.0,
"delta": -0.0242,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2253,
"after": 0.0,
"delta": -0.2253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1933,
"after": 2.0,
"delta": -0.1933,
"percent_delta": -0.0881,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.5325,
"after": 5.0,
"delta": 0.4675,
"percent_delta": 0.1031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3354,
"after": 0.0,
"delta": -0.3354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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_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.4769,
"after": 0.0,
"delta": -0.4769,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4769,
"after": 0.0,
"delta": -0.4769,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.2,
"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.1179,
"after": 0.2,
"delta": 0.0821,
"percent_delta": 0.6964,
"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.1786,
"after": 0.2,
"delta": 0.0214,
"percent_delta": 0.1198,
"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.218,
"after": 0.2,
"delta": -0.018,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1179,
"after": 0.2,
"delta": 0.0821,
"percent_delta": 0.6964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.218,
"after": 0.2,
"delta": -0.018,
"percent_delta": -0.0826,
"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": 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": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1179,
"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.1786,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.218,
"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.2,
"after": 0.1179,
"delta": -0.0821,
"percent_delta": -0.4106,
"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.2,
"after": 0.1786,
"delta": -0.0214,
"percent_delta": -0.1068,
"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.2,
"after": 0.218,
"delta": 0.018,
"percent_delta": 0.09,
"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.2,
"after": 0.218,
"delta": 0.018,
"percent_delta": 0.09,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1179,
"delta": -0.0821,
"percent_delta": -0.4106,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.969,
"after": 3.0,
"delta": 0.031,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.1179,
"delta": -0.1471,
"percent_delta": -0.5551,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.215,
"after": 0.0,
"delta": -0.215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"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.265,
"after": 0.1786,
"delta": -0.0864,
"percent_delta": -0.326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.218,
"delta": -0.096,
"percent_delta": -0.3057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.338,
"after": 1.0,
"delta": -0.338,
"percent_delta": -0.2526,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"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.200 | - |
| predicted_3B | 0.046 | - |
| predicted_AB | 2.969 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.215 | - |
| predicted_H | 0.150 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.265 | - |
| predicted_R | 0.338 | - |
| predicted_RBI | 0.090 | - |
| predicted_SLG | 0.314 | - |
| predicted_SO | 1.338 | - |
Final model 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.264 | 0.064 |
| predicted_3B | 0.058 | 0.012 |
| predicted_AB | 4.532 | 1.563 |
| predicted_AVG | 0.220 | -0.045 |
| predicted_BB | 0.333 | 0.118 |
| predicted_H | 0.525 | 0.375 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.024 | 0.004 |
| predicted_OBP | 0.244 | -0.021 |
| predicted_R | 0.463 | 0.125 |
| predicted_RBI | 0.219 | 0.129 |
| predicted_SLG | 0.285 | -0.029 |
| predicted_SO | 2.211 | 0.873 |
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.264 | 0.000 |
| predicted_3B | 0.058 | 0.000 |
| predicted_AB | 4.532 | 0.000 |
| predicted_AVG | 0.118 | -0.102 |
| predicted_BB | 0.335 | 0.003 |
| predicted_H | 0.534 | 0.009 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.024 | 0.001 |
| predicted_OBP | 0.179 | -0.065 |
| predicted_R | 0.477 | 0.014 |
| predicted_RBI | 0.225 | 0.007 |
| predicted_SLG | 0.218 | -0.067 |
| predicted_SO | 2.193 | -0.018 |
AB rounded to 5 (raw=4.53), rates preserved: AVG=0.118 HR/AB=0.005
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.264 |
| predicted_3B | 0.000 | -0.058 |
| predicted_AB | 5.000 | 0.468 |
| predicted_AVG | 0.200 | 0.082 |
| predicted_BB | 0.000 | -0.335 |
| predicted_H | 1.000 | 0.466 |
| predicted_HR | 0.000 | -0.024 |
| predicted_OBP | 0.200 | 0.021 |
| predicted_R | 0.000 | -0.477 |
| predicted_RBI | 0.000 | -0.225 |
| predicted_SLG | 0.200 | -0.018 |
| predicted_SO | 2.000 | -0.193 |
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 | -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 | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -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 | 3 | - | 14.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 13.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.9286 |
| last_10 | 0.20 | 4 | - | 26.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 8.000 | 25.000 | 0.0000 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.3077 | 0.9615 |
| season | 0.60 | 25 | - | 193.000 | 35.000 | 13.000 | 3.000 | 0.000 | 12.000 | 22.000 | 14.000 | 87.000 | 0.1813 | 0.2367 | 0.2798 | 0.1814 | 0.0000 | 0.0622 | 0.0725 | 0.4508 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3560 |
| predicted_3B | 0.0760 |
| predicted_AB | 6.7550 |
| predicted_AVG | 0.1567 |
| predicted_BB | 0.5000 |
| predicted_H | 1.0590 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0290 |
| predicted_OBP | 0.2137 |
| predicted_R | 0.6410 |
| predicted_RBI | 0.4020 |
| predicted_SLG | 0.2446 |
| predicted_SO | 3.4520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.3560 | 0.2644 | model_form_blend |
| predicted_3B | 0.0460 | 0.0760 | 0.0584 | model_form_blend |
| predicted_AB | 2.9690 | 6.7550 | 4.5325 | model_form_blend |
| predicted_AVG | 0.2650 | 0.1567 | 0.2203 | model_form_blend |
| predicted_BB | 0.2150 | 0.5000 | 0.3327 | model_form_blend |
| predicted_H | 0.1500 | 1.0590 | 0.5254 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.0200 | 0.0290 | 0.0237 | model_form_blend |
| predicted_OBP | 0.2650 | 0.2137 | 0.2438 | model_form_blend |
| predicted_R | 0.3380 | 0.6410 | 0.4631 | model_form_blend |
| predicted_RBI | 0.0900 | 0.4020 | 0.2188 | model_form_blend |
| predicted_SLG | 0.3140 | 0.2446 | 0.2853 | model_form_blend |
| predicted_SO | 1.3380 | 3.4520 | 2.2110 | 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 | 88 |
| Season rows before report date | 88 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.181 |
| 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 | 1 |
| 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 | CF |
| gameID | 20260603_CHW@MIN |
| game_type | short |
| mlbID | 681546 |
| playerID | 681546 |
| playerName | James Outman |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-03 |
| sl_k_percent | 39.7 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.227 |
| sl_xwoba | 0.201 |
| sl_xba | 0.152 |
| sl_xslg | 0.201 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 25.7 |
| sl_exit_velocity_avg | 84.6 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 38.6 |
| sl_swing_percent | 54.8 |
| 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.529 | 0.000 | 1.471 | 2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.647 | 0.000 | 1.353 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 1.647 | 1.000 | 1.353 | 2.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 1.171 | 0.200 | 2.829 | 3.800 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 1.294 | 2.000 | 3.706 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 2.0000 -> 3.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_IP: 5.0000 -> 4.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | starter_quality_floor | 1 | 1 | 0 | 0 | 1 | predicted_H: 2.0000 -> 3.0000 (boost 1.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": "702193",
"player_name": "Andrew Morris",
"position": "Starter",
"team": "MIN",
"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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"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.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"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": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_R": 2.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 2.0,
"after": 2.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": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"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.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 5.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.000 | -1.000 |
| predicted_SO | 5.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 | 2.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 3.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.000 | 0.000 |
| predicted_SO | 5.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 | 4.100 | 1.000 | 4.000 | 3.000 | 6.000 | 0.000 | 2.0769 | 1.6154 | 0.2308 | 0.9231 | 0.6923 | 1.3846 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 2.000 | 8.000 | 5.000 | 8.000 | 0.000 | 2.0769 | 1.5000 | 0.2308 | 0.9231 | 0.5769 | 0.9231 | 0.0000 |
| season | 0.20 | 17 | 24.100 | 11.000 | 28.000 | 9.000 | 22.000 | 1.000 | 4.0685 | 1.5205 | 0.4521 | 1.1507 | 0.3699 | 0.9041 | 0.0411 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4590 |
| predicted_ER | 1.1700 |
| predicted_ERA | 3.4278 |
| predicted_H | 2.9570 |
| predicted_HR | 0.2270 |
| predicted_IP | 3.0000 |
| predicted_SO | 3.1720 |
| predicted_WHIP | 1.4370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.4590 | 1.7649 | model_form_blend |
| predicted_ER | 2.0000 | 1.1700 | 1.6394 | model_form_blend |
| predicted_ERA | - | 3.4278 | 3.4278 | form_only |
| predicted_H | 2.0000 | 2.9570 | 2.4158 | model_form_blend |
| predicted_HR | 0.0000 | 0.2270 | 0.0986 | model_form_blend |
| predicted_IP | 5.0000 | 3.0000 | 4.1000 | model_form_blend |
| predicted_SO | 5.0000 | 3.1720 | 4.2058 | model_form_blend |
| predicted_WHIP | - | 1.4370 | 1.4370 | 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 | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 17 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 5 |
| HR | 0 |
| BF | 18 |
| Pitches | 78 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.07 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 2 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260602_CHW@MIN |
| game_type | full |
| mlbID | 702193 |
| playerID | 702193 |
| playerName | Andrew Morris |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-02 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.33 |
| sl_xwoba | 0.288 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 32.1 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 74.801538974 |
| sl_avg_hyper_speed | 92.630388442 |
| 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.583 | 1.000 | -0.583 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.083 | 1.000 | 0.917 | 1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.000 | 1.100 | 0.200 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.125 | 2.000 | -1.125 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.2000 (deboost -0.1333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.2000 (deboost -0.1333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "679358",
"player_name": "Eric Orze",
"position": "Middle Reliever",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.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": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.2,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.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 | 6.100 | 3.000 | 7.000 | 2.000 | 9.000 | 0.000 | 4.2632 | 1.4211 | 0.4737 | 1.1053 | 0.3158 | 1.4210 | 0.0000 |
| last_10 | 0.35 | 10 | 13.000 | 4.000 | 12.000 | 6.000 | 12.000 | 0.000 | 2.7692 | 1.3846 | 0.3077 | 0.9231 | 0.4615 | 0.9231 | 0.0000 |
| season | 0.20 | 24 | 28.200 | 12.000 | 26.000 | 14.000 | 27.000 | 0.000 | 3.7674 | 1.3953 | 0.4186 | 0.9070 | 0.4884 | 0.9419 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5140 |
| predicted_ER | 0.5880 |
| predicted_ERA | 3.9702 |
| predicted_H | 1.3070 |
| predicted_HR | 0.0860 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4030 |
| predicted_WHIP | 1.3654 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5140 | 0.2322 | model_form_blend |
| predicted_ER | 1.0000 | 0.5880 | 0.8139 | model_form_blend |
| predicted_ERA | - | 3.9702 | 3.9702 | form_only |
| predicted_H | 2.0000 | 1.3070 | 1.6869 | model_form_blend |
| predicted_HR | 1.0000 | 0.0860 | 0.5871 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.4030 | 0.6339 | model_form_blend |
| predicted_WHIP | - | 1.3654 | 1.3654 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 7 |
| Pitches | 27 |
| 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 | 7 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.77 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 26 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260603_CHW@MIN |
| game_type | full |
| mlbID | 679358 |
| playerID | 679358 |
| playerName | Eric Orze |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-03 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.28 |
| sl_xwoba | 0.3 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 29.8 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 43.9 |
| sl_avg_best_speed | 74.948011905 |
| sl_avg_hyper_speed | 93.108952381 |
| 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.286 | 0.000 | -0.286 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.429 | 0.000 | 0.571 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.771 | 1.100 | 0.329 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.143 | 2.000 | -1.143 | -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: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 2 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "672782",
"player_name": "Yoendrys Gómez",
"position": "Middle Reliever",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"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": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"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": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "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 | 2.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 | 5.000 | 0.000 | 3.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.6000 | 0.2000 | 1.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 1.000 | 6.000 | 4.000 | 15.000 | 0.000 | 0.8438 | 0.9375 | 0.0938 | 0.5625 | 0.3750 | 1.4062 | 0.0000 |
| season | 0.20 | 23 | 30.000 | 13.000 | 25.000 | 14.000 | 29.000 | 5.000 | 3.9000 | 1.3000 | 0.4333 | 0.8333 | 0.4667 | 0.9667 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3510 |
| predicted_ER | 0.2960 |
| predicted_ERA | 2.5711 |
| predicted_H | 0.8090 |
| predicted_HR | 0.0840 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1850 |
| predicted_WHIP | 1.1196 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3510 | 0.1603 | model_form_blend |
| predicted_ER | 0.0000 | 0.2960 | 0.1351 | model_form_blend |
| predicted_ERA | - | 2.5711 | 2.5711 | form_only |
| predicted_H | 2.0000 | 0.8090 | 1.4562 | model_form_blend |
| predicted_HR | 0.0000 | 0.0840 | 0.0384 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1850 | 0.5410 | model_form_blend |
| predicted_WHIP | - | 1.1196 | 1.1196 | 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 | 14 |
| Season rows before report date | 14 |
| 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 | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.90 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260602_CHW@MIN |
| game_type | full |
| mlbID | 672782 |
| playerID | 672782 |
| playerName | Yoendrys Gómez |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-02 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.322 |
| sl_xwoba | 0.354 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 41.0 |
| sl_whiff_percent | 24.3 |
| sl_swing_percent | 47.6 |
| sl_avg_best_speed | 78.179045789 |
| sl_avg_hyper_speed | 94.461016447 |
| 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.231 | 0.000 | -0.231 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.115 | 1.000 | -0.115 | 0.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.692 | 1.000 | 1.308 | 1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.654 | 0.000 | 0.346 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 2.0000 (boost 1.3333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 2.0000 (boost 1.3333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "573124",
"player_name": "Taylor Rogers",
"position": "Middle Reliever",
"team": "MIN",
"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": 1.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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.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": 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": 0.6667,
"after": 2.0,
"delta": 1.3333,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 2.0,
"delta": 1.3333,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.6667,
"after": 2.0,
"delta": 1.3333,
"percent_delta": 1.9999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 2.0,
"delta": 1.3333,
"percent_delta": 1.9999,
"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 | 1.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 | 2.000 | 6.000 | 0.000 | 2.000 | 1.000 | 4.9091 | 1.6364 | 0.5454 | 1.6364 | 0.0000 | 0.5454 | 0.2727 |
| last_10 | 0.35 | 10 | 7.100 | 2.000 | 9.000 | 0.000 | 5.000 | 1.000 | 2.4545 | 1.2273 | 0.2727 | 1.2273 | 0.0000 | 0.6818 | 0.1364 |
| season | 0.20 | 25 | 22.200 | 7.000 | 27.000 | 5.000 | 17.000 | 1.000 | 2.7794 | 1.4118 | 0.3088 | 1.1912 | 0.2206 | 0.7500 | 0.0441 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1500 |
| predicted_ER | 0.3110 |
| predicted_ERA | 4.0033 |
| predicted_H | 0.8150 |
| predicted_HR | 0.1100 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5560 |
| predicted_WHIP | 1.3820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1500 | 0.0641 | model_form_blend |
| predicted_ER | 0.0000 | 0.3110 | 0.1328 | model_form_blend |
| predicted_ERA | - | 4.0033 | 4.0033 | form_only |
| predicted_H | 1.0000 | 0.8150 | 0.9210 | model_form_blend |
| predicted_HR | 0.0000 | 0.1100 | 0.0470 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.5560 | 0.8104 | model_form_blend |
| predicted_WHIP | - | 1.3820 | 1.3820 | 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 | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.97 |
| 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 | 12 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260603_CHW@MIN |
| game_type | full |
| mlbID | 573124 |
| playerID | 573124 |
| playerName | Taylor Rogers |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-03 |
| sl_k_percent | 17.0 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.351 |
| sl_xwoba | 0.346 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 31.6 |
| sl_whiff_percent | 16.6 |
| sl_swing_percent | 45.3 |
| sl_avg_best_speed | 75.608416757 |
| sl_avg_hyper_speed | 93.07475411 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | LAD 5 - 1 ARI | LAD | 0.615 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | LAD 6 - 1 ARI | LAD | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| 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.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6146 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 6.804 | 4.011 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 1 | 0.6146 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 5 | 1 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 5 | 1 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 6 | 1 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.475238558909445,
"base_low_score_probability": 0.42356377799415773,
"low_score_signal_threshold": 0.5035637779941577,
"low_score_signal_strength": 0.051674780915287266,
"confidence": 0.661,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.122
},
"prediction": "normal_scoring",
"expected_total_runs": 6,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 107,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 107,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.5327,
"bayesian_hit_rate": 0.528,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.856,
"confidence_cap": 0.78,
"raw_pick_probability": 0.7763,
"calibrated_pick_probability": 0.6146,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "ARI",
"games": 60,
"wins": 32,
"losses": 28,
"win_pct": 0.5333333333333333,
"runs_scored": 273,
"runs_allowed": 263,
"run_differential": 10,
"run_differential_per_game": 0.16666666666666666,
"available": true
},
"away": {
"team": "LAD",
"games": 61,
"wins": 39,
"losses": 22,
"win_pct": 0.639344262295082,
"runs_scored": 321,
"runs_allowed": 194,
"run_differential": 127,
"run_differential_per_game": 2.081967213114754,
"available": true
},
"run_differential_edge_per_game": -1.9153,
"win_pct_edge": -0.106,
"quality_edge": -2.0743,
"margin_adjustment": -0.8712,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 4.431,
"home_runs": 1.181,
"home_win_probability": 0.2237
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "LAD",
"guardrail_predicted_team": "LAD",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "LAD",
"output_opponent_team": "ARI",
"final_score_winner": "LAD",
"pre_simulation_winner": "LAD",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "LAD 5 - 1 ARI",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 1,
"score_text": "LAD 6 - 1 ARI",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "ARI",
"games": 60,
"wins": 32,
"losses": 28,
"win_pct": 0.5333333333333333,
"runs_scored": 273,
"runs_allowed": 263,
"run_differential": 10,
"run_differential_per_game": 0.16666666666666666,
"available": true
},
"away": {
"team": "LAD",
"games": 61,
"wins": 39,
"losses": 22,
"win_pct": 0.639344262295082,
"runs_scored": 321,
"runs_allowed": 194,
"run_differential": 127,
"run_differential_per_game": 2.081967213114754,
"available": true
}
}
}{
"applied": false,
"raw_margin": -3.2503,
"final_margin": -3.2503,
"margin_cap": 4.25,
"season_quality_edge": 2.0743,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.614579,
"final_confidence": 0.614579,
"confidence_cap": 0.66,
"score_gap": 3.2503,
"calibration_sample_size": 107,
"calibration_empirical_hit_rate": 0.5327,
"calibration_bayesian_hit_rate": 0.528,
"calibration_sparse_bucket": false,
"season_quality_edge": 2.0743,
"reasons": [
"unvalidated probabilities are capped for production display",
"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": 1,
"score_text": "LAD 5 - 1 ARI",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 1,
"score_text": "LAD 6 - 1 ARI",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 5,
"home_runs": 1,
"confidence": 0.614579,
"home_win_probability": 0.385421,
"away_win_probability": 0.614579,
"predicted_score_text": "LAD 5 - 1 ARI",
"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.6307,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 58.0,
"quality": 0.44508515882001715,
"contact": 0.6657286865814327,
"power": 0.6921889905898453,
"discipline": 0.18553041298741954,
"xwoba": 0.356551724137931,
"recent_xwoba": 0.356551724137931,
"barrel": 10.658620689655171,
"ab_hard_contact": 0.3513036213206966,
"ab_bat_speed": 70.01405282585868,
"ab_strikeout_rate": 0.18769016868602934,
"available_players": 9,
"top_players": [
{
"player_id": "571970",
"player_name": "Max Muncy",
"position": "3B",
"weight": 6.0,
"quality": 1.0364778812853377,
"contact": 1.0828214980376638,
"power": 1.7877659475398298,
"discipline": 0.15586395790200125,
"xwoba": 0.389,
"recent_xwoba": 0.389,
"barrel": 17.4,
"ab_hard_contact": 1.0737951412727635,
"ab_bat_speed": 70.70347280092592,
"ab_strikeout_rate": 0.2576388888888889,
"available": 1.0
},
{
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"weight": 7.0,
"quality": 0.938207918956438,
"contact": 1.0573593220990187,
"power": 1.0213955623172783,
"discipline": 0.5933874621755055,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 11.4,
"ab_hard_contact": 0.7783874368217453,
"ab_bat_speed": 69.57375961538462,
"ab_strikeout_rate": 0.15961538461538463,
"available": 1.0
},
{
"player_id": "669257",
"player_name": "Will Smith",
"position": "DH",
"weight": 7.0,
"quality": 0.8459295235131981,
"contact": 1.0854969681719382,
"power": 1.0895925046111532,
"discipline": 0.7338267670566709,
"xwoba": 0.386,
"recent_xwoba": 0.386,
"barrel": 13.7,
"ab_hard_contact": 1.085373901746862,
"ab_bat_speed": 69.19187338501291,
"ab_strikeout_rate": 0.1686046511627907,
"available": 1.0
},
{
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"weight": 7.0,
"quality": 0.6301216619223257,
"contact": 0.8392250916794385,
"power": 0.8011715107177082,
"discipline": -0.12307940429136102,
"xwoba": 0.351,
"recent_xwoba": 0.351,
"barrel": 10.0,
"ab_hard_contact": 0.694287357211286,
"ab_bat_speed": 71.2382103909465,
"ab_strikeout_rate": 0.20393939393939395,
"available": 1.0
},
{
"player_id": "687221",
"player_name": "Dalton Rushing",
"position": "C",
"weight": 6.0,
"quality": 0.227595569769208,
"contact": 0.6976924584102383,
"power": 0.7730755326763029,
"discipline": -0.4770024442144008,
"xwoba": 0.369,
"recent_xwoba": 0.369,
"barrel": 10.6,
"ab_hard_contact": 1.0135106535260436,
"ab_bat_speed": 70.4629732510288,
"ab_strikeout_rate": 0.29814814814814816,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669194",
"player_name": "Ryne Nelson",
"quality": -0.4727185799634978,
"contact": -0.7303674300966783,
"command": -0.33033333333333337,
"movement": 0.47036622085834456,
"xwoba": 0.35,
"whiff": 22.1,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
},
"home": {
"team": "ARI",
"original_runs": 1,
"run_delta": 0.3432,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 55.0,
"quality": 0.21171981900412032,
"contact": 0.34630554771892774,
"power": 0.09521492887121356,
"discipline": 0.20221089509406098,
"xwoba": 0.3339090909090909,
"recent_xwoba": 0.3339090909090909,
"barrel": 7.712727272727273,
"ab_hard_contact": 0.16719035231602436,
"ab_bat_speed": 70.5925237461205,
"ab_strikeout_rate": 0.18337117247604995,
"available_players": 9,
"top_players": [
{
"player_id": "606466",
"player_name": "Ketel Marte",
"position": "2B",
"weight": 8.0,
"quality": 1.0500057784862944,
"contact": 1.312835460120997,
"power": 1.016189767542855,
"discipline": 0.27938379917184253,
"xwoba": 0.377,
"recent_xwoba": 0.377,
"barrel": 10.8,
"ab_hard_contact": 0.6788429699047016,
"ab_bat_speed": 73.25293096891535,
"ab_strikeout_rate": 0.15133333333333332,
"available": 1.0
},
{
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "RF",
"weight": 7.0,
"quality": 0.8520339283526456,
"contact": 0.9406478706338176,
"power": 1.1106835195430889,
"discipline": 0.28690211419015765,
"xwoba": 0.362,
"recent_xwoba": 0.362,
"barrel": 12.3,
"ab_hard_contact": 1.5264322956236578,
"ab_bat_speed": 74.37748888888889,
"ab_strikeout_rate": 0.22724358974358974,
"available": 1.0
},
{
"player_id": "699912",
"player_name": "Jose Fernandez",
"position": "DH",
"weight": 6.0,
"quality": -0.4114644053524248,
"contact": -0.5840109003219709,
"power": -0.684594877208195,
"discipline": -0.6593227346044587,
"xwoba": 0.271,
"recent_xwoba": 0.271,
"barrel": 3.2,
"ab_hard_contact": -0.3726594489258302,
"ab_bat_speed": 72.560125,
"ab_strikeout_rate": 0.25232558139534883,
"available": 1.0
},
{
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "C",
"weight": 6.0,
"quality": 0.2899874530793723,
"contact": 0.5956181468471871,
"power": 0.565116845702844,
"discipline": 0.2913332039337472,
"xwoba": 0.35,
"recent_xwoba": 0.35,
"barrel": 10.9,
"ab_hard_contact": -0.12509165737171138,
"ab_bat_speed": 70.22562934027778,
"ab_strikeout_rate": 0.2078125,
"available": 1.0
},
{
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"position": "SS",
"weight": 6.0,
"quality": -0.12059710773044989,
"contact": 0.06112688345432993,
"power": -0.8479104937704343,
"discipline": 1.3971018197133924,
"xwoba": 0.322,
"recent_xwoba": 0.322,
"barrel": 3.4,
"ab_hard_contact": -0.6096384468372735,
"ab_bat_speed": 62.35130357142857,
"ab_strikeout_rate": 0.1287581699346405,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "680736",
"player_name": "Justin Wrobleski",
"quality": -0.13881402394143763,
"contact": 0.283434689027925,
"command": -0.640904761904762,
"movement": -0.2557001613932106,
"xwoba": 0.31,
"whiff": 17.4,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 5,
"home_runs": 1,
"predicted_score_text": "LAD 5 - 1 ARI",
"confidence": 0.614579,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "LAD 5 - 1 ARI",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 1,
"score_text": "LAD 6 - 1 ARI",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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.0541 | 1.0541 | 1 | 9 | 0 |
| Home ARI | True | 1.0251 | 1.0251 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Kyle Tucker | 103 | 1.0268 | 0.3575 | neutral | 0.3310 | 0.2530 | 0.3880 | 5.80 | 40.50 | 89.20 | 16.70 | 23.30 | 18.60 | 12.60 | 0 |
| CF | Andy Pages | 1 | 1.0632 | 0.8425 | neutral | 0.3510 | 0.2810 | 0.4810 | 10 | 46.30 | 89.90 | 16.10 | 23.10 | 18.70 | 6.60 | -0.6571 |
| 1B | Freddie Freeman | 79 | 1.0925 | 1.2338 | neutral | 0.3710 | 0.2760 | 0.4930 | 11.40 | 46.20 | 91.10 | 11.40 | 23 | 17 | 11.60 | 0.2286 |
| SS | Mookie Betts | 352 | 1.0208 | 0.2768 | positive_batter_regression | 0.3230 | 0.2600 | 0.4210 | 8.30 | 36.50 | 90.20 | 18.80 | 13.50 | 13.10 | 7.40 | 1.2571 |
| DH | Will Smith | 173 | 1.0962 | 1.2832 | positive_batter_regression | 0.3860 | 0.2760 | 0.5000 | 13.70 | 39.60 | 90 | 20.30 | 16.10 | 16.50 | 10.80 | 1.8286 |
| 3B | Max Muncy | 15 | 1.1061 | 1.4142 | neutral | 0.3890 | 0.2680 | 0.5500 | 17.40 | 49.20 | 91.40 | 13.10 | 28.20 | 25.70 | 12.10 | 0.4286 |
| LF | Ryan Ward | 279 | 1.0553 | 0.7374 | positive_batter_regression | 0.3960 | 0.3270 | 0.6070 | 11.10 | 22.20 | 89.30 | 25 | 17.40 | 25 | 0 | 2 |
| C | Dalton Rushing | 116 | 1.0319 | 0.4257 | neutral | 0.3690 | 0.2770 | 0.4940 | 10.60 | 42.40 | 88.30 | 17.10 | 30.70 | 24.50 | 7.80 | -0.3143 |
| 2B | Alex Freeland | 115 | 0.9944 | -0.0751 | neutral | 0.2990 | 0.2290 | 0.3660 | 8.40 | 36.10 | 88.80 | 9.20 | 27.30 | 26.70 | 9.90 | -0.5143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Ketel Marte | 93 | 1.1089 | 1.4516 | positive_batter_regression | 0.3770 | 0.3060 | 0.5110 | 10.80 | 44.80 | 90.70 | 9.60 | 21 | 14.70 | 8 | 1.1714 |
| C | Gabriel Moreno | 101 | 1.0381 | 0.5075 | neutral | 0.3500 | 0.2640 | 0.4480 | 10.90 | 43.60 | 89 | 13.60 | 18.60 | 20.10 | 9 | 0.8000 |
| 3B | Nolan Arenado | 54 | 1.0115 | 0.1539 | neutral | 0.3300 | 0.2620 | 0.4070 | 7.50 | 31.30 | 85.40 | 19.10 | 23.90 | 19.30 | 9 | -0.6286 |
| RF | Corbin Carroll | 14 | 1.0722 | 0.9624 | neutral | 0.3620 | 0.2660 | 0.4770 | 12.30 | 50.30 | 91.40 | 11.70 | 27.90 | 21.70 | 12 | -0.8286 |
| DH | Jose Fernandez | 379 | 0.9688 | -0.4159 | neutral | 0.2710 | 0.2370 | 0.3400 | 3.20 | 38.10 | 87.50 | 11.20 | 25 | 22.50 | 4 | -0.4857 |
| CF | Ryan Waldschmidt | 210 | 1.0025 | 0.0335 | neutral | 0.3060 | 0.2570 | 0.3780 | 7.50 | 39.60 | 86.70 | 15.50 | 34 | 32.20 | 7.80 | -0.2857 |
| SS | Geraldo Perdomo | 89 | 1.0021 | 0.0286 | neutral | 0.3220 | 0.2510 | 0.3320 | 3.40 | 30.90 | 87.10 | 12.20 | 10.90 | 12.80 | 13.60 | 0.4286 |
| 1B | Ildemaro Vargas | 72 | 1.0051 | 0.0681 | neutral | 0.3170 | 0.2910 | 0.4080 | 4.20 | 31.90 | 86.70 | 11.20 | 14.70 | 9.50 | 3.60 | -0.4000 |
| LF | Tommy Troy | 277 | 1.0165 | 0.2201 | neutral | 0.3570 | 0.2690 | 0.4520 | 8.70 | 26.10 | 86.80 | 11 | 25.50 | 15.60 | 12.50 | -0.4286 |
{
"home": {
"applied": true,
"offense_factor": 1.0251,
"raw_average_factor": 1.0251,
"team_espn_average_rank": 143.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "606466",
"player_name": "Ketel Marte",
"offense_factor": 1.1089,
"quality_score": 1.4516,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "606466",
"espn_id": 32512,
"player_name": "Ketel Marte",
"team": "ARI",
"role": "batter",
"espn_rank": 93,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 93,
"gp_value": 57.0,
"gp_rank": 108,
"ab_value": 228.0,
"ab_rank": 33,
"r_value": 36.0,
"r_rank": 40,
"h_value": 59.0,
"h_rank": 46,
"avg_value": 0.2587719,
"avg_rank": 66.0,
"2b_value": 11.0,
"2b_rank": 61,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 10.0,
"hr_rank": 42,
"rbi_value": 36.0,
"rbi_rank": 30,
"tb_value": 104.0,
"tb_rank": 255,
"bb_value": 20.0,
"bb_rank": 108,
"so_value": 37.0,
"so_rank": 170,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.314741,
"obp_rank": "113",
"slg_value": 0.4561403,
"slg_rank": "57",
"ops_value": 0.7708813,
"ops_rank": 74.0,
"war_value": 1.22,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 220.0,
"k_percent": 14.7,
"bb_percent": 8.0,
"woba": 0.336,
"xwoba": 0.377,
"xba": 0.306,
"xslg": 0.511,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 9.6,
"whiff_percent": 21.0,
"swing_percent": 48.7
},
"components": {
"expected_quality": 1.4972,
"regression_edge": 1.1714,
"xwoba_edge": 2.0429,
"xba_edge": 1.9714,
"xslg_edge": 1.9286,
"barrel_edge": 0.8667,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"offense_factor": 1.0381,
"quality_score": 0.5075,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672515",
"espn_id": 42464,
"player_name": "Gabriel Moreno",
"team": "ARI",
"role": "batter",
"espn_rank": 101,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 101,
"gp_value": 38.0,
"gp_rank": 276,
"ab_value": 127.0,
"ab_rank": 229,
"r_value": 19.0,
"r_rank": 185,
"h_value": 33.0,
"h_rank": 205,
"avg_value": 0.2598425,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 19.0,
"rbi_rank": 184,
"tb_value": 51.0,
"tb_rank": 1276,
"bb_value": 13.0,
"bb_rank": 202,
"so_value": 29.0,
"so_rank": 231,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.3263888,
"obp_rank": "-",
"slg_value": 0.4015748,
"slg_rank": "-",
"ops_value": 0.7279636,
"ops_rank": null,
"war_value": 1.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 20.1,
"bb_percent": 9.0,
"woba": 0.322,
"xwoba": 0.35,
"xba": 0.264,
"xslg": 0.448,
"sweet_spot_percent": 39.6,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 43.6,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 13.6,
"whiff_percent": 18.6,
"swing_percent": 44.2
},
"components": {
"expected_quality": 0.9606,
"regression_edge": 0.8,
"xwoba_edge": 1.2714,
"xba_edge": 0.7714,
"xslg_edge": 1.0286,
"barrel_edge": 0.8889,
"hard_hit_edge": 0.7286,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 1.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "571448",
"player_name": "Nolan Arenado",
"offense_factor": 1.0115,
"quality_score": 0.1539,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571448",
"espn_id": 31261,
"player_name": "Nolan Arenado",
"team": "ARI",
"role": "batter",
"espn_rank": 54,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 54,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 186.0,
"ab_rank": 137,
"r_value": 29.0,
"r_rank": 75,
"h_value": 49.0,
"h_rank": 105,
"avg_value": 0.2634408,
"avg_rank": 62.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 8.0,
"hr_rank": 65,
"rbi_value": 30.0,
"rbi_rank": 63,
"tb_value": 85.0,
"tb_rank": 673,
"bb_value": 19.0,
"bb_rank": 124,
"so_value": 41.0,
"so_rank": 143,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3443396,
"obp_rank": "68",
"slg_value": 0.4569892,
"slg_rank": "55",
"ops_value": 0.8013288,
"ops_rank": 59.0,
"war_value": 1.69,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 192.0,
"k_percent": 19.3,
"bb_percent": 9.0,
"woba": 0.352,
"xwoba": 0.33,
"xba": 0.262,
"xslg": 0.407,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 31.3,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 19.1,
"whiff_percent": 23.9,
"swing_percent": 44.9
},
"components": {
"expected_quality": 0.3074,
"regression_edge": -0.6286,
"xwoba_edge": 0.7,
"xba_edge": 0.7143,
"xslg_edge": 0.4429,
"barrel_edge": 0.1333,
"hard_hit_edge": -1.0286,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": 0.9167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "682998",
"player_name": "Corbin Carroll",
"offense_factor": 1.0722,
"quality_score": 0.9624,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682998",
"espn_id": 42404,
"player_name": "Corbin Carroll",
"team": "ARI",
"role": "batter",
"espn_rank": 14,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 14,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 215.0,
"ab_rank": 76,
"r_value": 38.0,
"r_rank": 26,
"h_value": 61.0,
"h_rank": 40,
"avg_value": 0.2837209,
"avg_rank": 35.0,
"2b_value": 14.0,
"2b_rank": 23,
"3b_value": 8.0,
"3b_rank": 1,
"hr_value": 8.0,
"hr_rank": 65,
"rbi_value": 29.0,
"rbi_rank": 73,
"tb_value": 115.0,
"tb_rank": 256,
"bb_value": 30.0,
"bb_rank": 35,
"so_value": 54.0,
"so_rank": 75,
"sb_value": 7.0,
"sb_rank": 49,
"obp_value": 0.3734939,
"obp_rank": "27",
"slg_value": 0.5348837,
"slg_rank": "10",
"ops_value": 0.9083776,
"ops_rank": 12.0,
"war_value": 2.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 21.7,
"bb_percent": 12.0,
"woba": 0.391,
"xwoba": 0.362,
"xba": 0.266,
"xslg": 0.477,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 50.3,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 11.7,
"whiff_percent": 27.9,
"swing_percent": 44.7
},
"components": {
"expected_quality": 1.259,
"regression_edge": -0.8286,
"xwoba_edge": 1.6143,
"xba_edge": 0.8286,
"xslg_edge": 1.4429,
"barrel_edge": 1.2,
"hard_hit_edge": 1.6857,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": -0.4333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "699912",
"player_name": "Jose Fernandez",
"offense_factor": 0.9688,
"quality_score": -0.4159,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699912",
"espn_id": 5010500,
"player_name": "Jose Fernandez",
"team": "ARI",
"role": "batter",
"espn_rank": 379,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 379,
"gp_value": 54.0,
"gp_rank": 150,
"ab_value": 161.0,
"ab_rank": 181,
"r_value": 23.0,
"r_rank": 134,
"h_value": 41.0,
"h_rank": 158,
"avg_value": 0.2546583,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 15.0,
"rbi_rank": 229,
"tb_value": 57.0,
"tb_rank": 1293,
"bb_value": 7.0,
"bb_rank": 305,
"so_value": 39.0,
"so_rank": 154,
"sb_value": 6.0,
"sb_rank": 61,
"obp_value": 0.2899408,
"obp_rank": "-",
"slg_value": 0.3540372,
"slg_rank": "-",
"ops_value": 0.643978,
"ops_rank": null,
"war_value": -0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 146.0,
"k_percent": 22.5,
"bb_percent": 4.0,
"woba": 0.288,
"xwoba": 0.271,
"xba": 0.237,
"xslg": 0.34,
"sweet_spot_percent": 27.0,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 11.2,
"whiff_percent": 25.0,
"swing_percent": 46.9
},
"components": {
"expected_quality": -0.6497,
"regression_edge": -0.4857,
"xwoba_edge": -0.9857,
"xba_edge": 0.0,
"xslg_edge": -0.5143,
"barrel_edge": -0.8222,
"hard_hit_edge": -0.0571,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": -1.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "814439",
"player_name": "Ryan Waldschmidt",
"offense_factor": 1.0025,
"quality_score": 0.0335,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "814439",
"espn_id": 5129344,
"player_name": "Ryan Waldschmidt",
"team": "ARI",
"role": "batter",
"espn_rank": 210,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 210,
"gp_value": 25.0,
"gp_rank": 357,
"ab_value": 82.0,
"ab_rank": 324,
"r_value": 10.0,
"r_rank": 310,
"h_value": 23.0,
"h_rank": 276,
"avg_value": 0.2804878,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 7.0,
"rbi_rank": 334,
"tb_value": 30.0,
"tb_rank": 1844,
"bb_value": 7.0,
"bb_rank": 305,
"so_value": 29.0,
"so_rank": 231,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.3370786,
"obp_rank": "-",
"slg_value": 0.3658536,
"slg_rank": "-",
"ops_value": 0.7029322,
"ops_rank": null,
"war_value": 0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 65.0,
"k_percent": 32.2,
"bb_percent": 7.8,
"woba": 0.316,
"xwoba": 0.306,
"xba": 0.257,
"xslg": 0.378,
"sweet_spot_percent": 54.7,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 39.6,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 15.5,
"whiff_percent": 34.0,
"swing_percent": 42.6
},
"components": {
"expected_quality": 0.133,
"regression_edge": -0.2857,
"xwoba_edge": 0.0143,
"xba_edge": 0.5714,
"xslg_edge": 0.0286,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.1571,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"offense_factor": 1.0021,
"quality_score": 0.0286,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672695",
"espn_id": 41355,
"player_name": "Geraldo Perdomo",
"team": "ARI",
"role": "batter",
"espn_rank": 89,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 89,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 200.0,
"ab_rank": 115,
"r_value": 27.0,
"r_rank": 92,
"h_value": 45.0,
"h_rank": 132,
"avg_value": 0.225,
"avg_rank": 134.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 3.0,
"3b_rank": 5,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 21.0,
"rbi_rank": 154,
"tb_value": 69.0,
"tb_rank": 879,
"bb_value": 33.0,
"bb_rank": 28,
"so_value": 31.0,
"so_rank": 216,
"sb_value": 8.0,
"sb_rank": 41,
"obp_value": 0.3305439,
"obp_rank": "85",
"slg_value": 0.345,
"slg_rank": "141",
"ops_value": 0.6755439,
"ops_rank": 128.0,
"war_value": 1.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 12.8,
"bb_percent": 13.6,
"woba": 0.307,
"xwoba": 0.322,
"xba": 0.251,
"xslg": 0.332,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 30.9,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 12.2,
"whiff_percent": 10.9,
"swing_percent": 39.5
},
"components": {
"expected_quality": -0.0351,
"regression_edge": 0.4286,
"xwoba_edge": 0.4714,
"xba_edge": 0.4,
"xslg_edge": -0.6286,
"barrel_edge": -0.7778,
"hard_hit_edge": -1.0857,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "545121",
"player_name": "Ildemaro Vargas",
"offense_factor": 1.0051,
"quality_score": 0.0681,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "545121",
"espn_id": 32985,
"player_name": "Ildemaro Vargas",
"team": "ARI",
"role": "batter",
"espn_rank": 72,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 72,
"gp_value": 54.0,
"gp_rank": 150,
"ab_value": 210.0,
"ab_rank": 90,
"r_value": 30.0,
"r_rank": 67,
"h_value": 60.0,
"h_rank": 43,
"avg_value": 0.2857142,
"avg_rank": 32.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 37.0,
"rbi_rank": 25,
"tb_value": 94.0,
"tb_rank": 418,
"bb_value": 8.0,
"bb_rank": 286,
"so_value": 21.0,
"so_rank": 311,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3136363,
"obp_rank": "115",
"slg_value": 0.447619,
"slg_rank": "61",
"ops_value": 0.7612553,
"ops_rank": 81.0,
"war_value": 1.44,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 191.0,
"k_percent": 9.5,
"bb_percent": 3.6,
"woba": 0.331,
"xwoba": 0.317,
"xba": 0.291,
"xslg": 0.408,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 31.9,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 11.2,
"whiff_percent": 14.7,
"swing_percent": 51.1
},
"components": {
"expected_quality": 0.1563,
"regression_edge": -0.4,
"xwoba_edge": 0.3286,
"xba_edge": 1.5429,
"xslg_edge": 0.4571,
"barrel_edge": -0.6,
"hard_hit_edge": -0.9429,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "694371",
"player_name": "Tommy Troy",
"offense_factor": 1.0165,
"quality_score": 0.2201,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694371",
"espn_id": 4837403,
"player_name": "Tommy Troy",
"team": "ARI",
"role": "batter",
"espn_rank": 277,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 277,
"gp_value": 10.0,
"gp_rank": 460,
"ab_value": 28.0,
"ab_rank": 441,
"r_value": 7.0,
"r_rank": 361,
"h_value": 8.0,
"h_rank": 413,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 365,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 1.0,
"rbi_rank": 469,
"tb_value": 13.0,
"tb_rank": 2093,
"bb_value": 4.0,
"bb_rank": 378,
"so_value": 5.0,
"so_rank": 472,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.375,
"obp_rank": "-",
"slg_value": 0.4642857,
"slg_rank": "-",
"ops_value": 0.8392857,
"ops_rank": null,
"war_value": 0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 14.0,
"k_percent": 15.6,
"bb_percent": 12.5,
"woba": 0.372,
"xwoba": 0.357,
"xba": 0.269,
"xslg": 0.452,
"sweet_spot_percent": 26.1,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 26.1,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 11.0,
"whiff_percent": 25.5,
"swing_percent": 43.7
},
"components": {
"expected_quality": 0.6385,
"regression_edge": -0.4286,
"xwoba_edge": 1.4714,
"xba_edge": 0.9143,
"xslg_edge": 1.0857,
"barrel_edge": 0.4,
"hard_hit_edge": -1.7714,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": -1.2,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0541,
"raw_average_factor": 1.0541,
"team_espn_average_rank": 137.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.0268,
"quality_score": 0.3575,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663656",
"espn_id": 34967,
"player_name": "Kyle Tucker",
"team": "LAD",
"role": "batter",
"espn_rank": 103,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 103,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 218.0,
"ab_rank": 66,
"r_value": 38.0,
"r_rank": 26,
"h_value": 53.0,
"h_rank": 81,
"avg_value": 0.2431192,
"avg_rank": 100.0,
"2b_value": 15.0,
"2b_rank": 12,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 29.0,
"rbi_rank": 73,
"tb_value": 87.0,
"tb_rank": 544,
"bb_value": 32.0,
"bb_rank": 32,
"so_value": 47.0,
"so_rank": 101,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.3399209,
"obp_rank": "69",
"slg_value": 0.3990825,
"slg_rank": "103",
"ops_value": 0.7390034,
"ops_rank": 90.0,
"war_value": 1.13,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 18.6,
"bb_percent": 12.6,
"woba": 0.331,
"xwoba": 0.331,
"xba": 0.253,
"xslg": 0.388,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 40.5,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 16.7,
"whiff_percent": 23.3,
"swing_percent": 49.3
},
"components": {
"expected_quality": 0.4157,
"regression_edge": 0.0,
"xwoba_edge": 0.7286,
"xba_edge": 0.4571,
"xslg_edge": 0.1714,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.2857,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "681624",
"player_name": "Andy Pages",
"offense_factor": 1.0632,
"quality_score": 0.8425,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681624",
"espn_id": 42468,
"player_name": "Andy Pages",
"team": "LAD",
"role": "batter",
"espn_rank": 1,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 1,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 234.0,
"ab_rank": 20,
"r_value": 37.0,
"r_rank": 33,
"h_value": 68.0,
"h_rank": 8,
"avg_value": 0.2905982,
"avg_rank": 19.0,
"2b_value": 15.0,
"2b_rank": 12,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 13.0,
"hr_rank": 22,
"rbi_value": 51.0,
"rbi_rank": 1,
"tb_value": 124.0,
"tb_rank": 192,
"bb_value": 17.0,
"bb_rank": 146,
"so_value": 48.0,
"so_rank": 96,
"sb_value": 7.0,
"sb_rank": 49,
"obp_value": 0.3385214,
"obp_rank": "73",
"slg_value": 0.5299145,
"slg_rank": "13",
"ops_value": 0.8684359,
"ops_rank": 22.0,
"war_value": 3.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 18.7,
"bb_percent": 6.6,
"woba": 0.374,
"xwoba": 0.351,
"xba": 0.281,
"xslg": 0.481,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 16.1,
"whiff_percent": 23.1,
"swing_percent": 50.0
},
"components": {
"expected_quality": 1.0866,
"regression_edge": -0.6571,
"xwoba_edge": 1.3,
"xba_edge": 1.2571,
"xslg_edge": 1.5,
"barrel_edge": 0.6889,
"hard_hit_edge": 1.1143,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.0925,
"quality_score": 1.2338,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518692",
"espn_id": 30193,
"player_name": "Freddie Freeman",
"team": "LAD",
"role": "batter",
"espn_rank": 79,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 79,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 225.0,
"ab_rank": 43,
"r_value": 31.0,
"r_rank": 58,
"h_value": 62.0,
"h_rank": 34,
"avg_value": 0.2755555,
"avg_rank": 46.0,
"2b_value": 15.0,
"2b_rank": 12,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 9.0,
"hr_rank": 53,
"rbi_value": 34.0,
"rbi_rank": 40,
"tb_value": 106.0,
"tb_rank": 311,
"bb_value": 30.0,
"bb_rank": 35,
"so_value": 44.0,
"so_rank": 128,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.3590733,
"obp_rank": "42",
"slg_value": 0.4711111,
"slg_rank": "41",
"ops_value": 0.8301844,
"ops_rank": 41.0,
"war_value": 1.35,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 17.0,
"bb_percent": 11.6,
"woba": 0.363,
"xwoba": 0.371,
"xba": 0.276,
"xslg": 0.493,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 46.2,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 11.4,
"whiff_percent": 23.0,
"swing_percent": 48.8
},
"components": {
"expected_quality": 1.3974,
"regression_edge": 0.2286,
"xwoba_edge": 1.8714,
"xba_edge": 1.1143,
"xslg_edge": 1.6714,
"barrel_edge": 1.0,
"hard_hit_edge": 1.1,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "605141",
"player_name": "Mookie Betts",
"offense_factor": 1.0208,
"quality_score": 0.2768,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "605141",
"espn_id": 33039,
"player_name": "Mookie Betts",
"team": "LAD",
"role": "batter",
"espn_rank": 352,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 352,
"gp_value": 28.0,
"gp_rank": 343,
"ab_value": 111.0,
"ab_rank": 269,
"r_value": 15.0,
"r_rank": 236,
"h_value": 21.0,
"h_rank": 297,
"avg_value": 0.1891891,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 17.0,
"rbi_rank": 202,
"tb_value": 42.0,
"tb_rank": 1285,
"bb_value": 9.0,
"bb_rank": 271,
"so_value": 16.0,
"so_rank": 362,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.2540983,
"obp_rank": "-",
"slg_value": 0.3783783,
"slg_rank": "-",
"ops_value": 0.6324766,
"ops_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 90.0,
"k_percent": 13.1,
"bb_percent": 7.4,
"woba": 0.279,
"xwoba": 0.323,
"xba": 0.26,
"xslg": 0.421,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 36.5,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 18.8,
"whiff_percent": 13.5,
"swing_percent": 41.7
},
"components": {
"expected_quality": 0.5105,
"regression_edge": 1.2571,
"xwoba_edge": 0.5,
"xba_edge": 0.6571,
"xslg_edge": 0.6429,
"barrel_edge": 0.3111,
"hard_hit_edge": -0.2857,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH",
"player_id": "669257",
"player_name": "Will Smith",
"offense_factor": 1.0962,
"quality_score": 1.2832,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669257",
"espn_id": 38309,
"player_name": "Will Smith",
"team": "LAD",
"role": "batter",
"espn_rank": 173,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 173,
"gp_value": 50.0,
"gp_rank": 184,
"ab_value": 168.0,
"ab_rank": 165,
"r_value": 23.0,
"r_rank": 134,
"h_value": 42.0,
"h_rank": 151,
"avg_value": 0.25,
"avg_rank": 87.0,
"2b_value": 4.0,
"2b_rank": 267,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 23.0,
"rbi_rank": 134,
"tb_value": 64.0,
"tb_rank": 1097,
"bb_value": 21.0,
"bb_rank": 96,
"so_value": 32.0,
"so_rank": 210,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3350515,
"obp_rank": "81",
"slg_value": 0.3809523,
"slg_rank": "116",
"ops_value": 0.7160038,
"ops_rank": 104.0,
"war_value": 0.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 172.0,
"k_percent": 16.5,
"bb_percent": 10.8,
"woba": 0.322,
"xwoba": 0.386,
"xba": 0.276,
"xslg": 0.5,
"sweet_spot_percent": 43.2,
"barrel_batted_rate": 13.7,
"hard_hit_percent": 39.6,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 20.3,
"whiff_percent": 16.1,
"swing_percent": 41.2
},
"components": {
"expected_quality": 1.6109,
"regression_edge": 1.8286,
"xwoba_edge": 2.3,
"xba_edge": 1.1143,
"xslg_edge": 1.7714,
"barrel_edge": 1.5111,
"hard_hit_edge": 0.1571,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.65,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "571970",
"player_name": "Max Muncy",
"offense_factor": 1.1061,
"quality_score": 1.4142,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571970",
"espn_id": 33303,
"player_name": "Max Muncy",
"team": "LAD",
"role": "batter",
"espn_rank": 15,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 15,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 187.0,
"ab_rank": 134,
"r_value": 40.0,
"r_rank": 16,
"h_value": 47.0,
"h_rank": 118,
"avg_value": 0.2513368,
"avg_rank": 85.0,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 14.0,
"hr_rank": 15,
"rbi_value": 22.0,
"rbi_rank": 147,
"tb_value": 96.0,
"tb_rank": 674,
"bb_value": 26.0,
"bb_rank": 55,
"so_value": 55.0,
"so_rank": 68,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3457943,
"obp_rank": "62",
"slg_value": 0.5133689,
"slg_rank": "21",
"ops_value": 0.8591632,
"ops_rank": 26.0,
"war_value": 2.57,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 189.0,
"k_percent": 25.7,
"bb_percent": 12.1,
"woba": 0.374,
"xwoba": 0.389,
"xba": 0.268,
"xslg": 0.55,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 17.4,
"hard_hit_percent": 49.2,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 13.1,
"whiff_percent": 28.2,
"swing_percent": 44.2
},
"components": {
"expected_quality": 1.8444,
"regression_edge": 0.4286,
"xwoba_edge": 2.3857,
"xba_edge": 0.8857,
"xslg_edge": 2.4857,
"barrel_edge": 2.3333,
"hard_hit_edge": 1.5286,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "669899",
"player_name": "Ryan Ward",
"offense_factor": 1.0553,
"quality_score": 0.7374,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669899",
"espn_id": 4091943,
"player_name": "Ryan Ward",
"team": "LAD",
"role": "batter",
"espn_rank": 279,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 279,
"gp_value": 4.0,
"gp_rank": 509,
"ab_value": 12.0,
"ab_rank": 496,
"r_value": 1.0,
"r_rank": 469,
"h_value": 3.0,
"h_rank": 471,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 2.0,
"rbi_rank": 438,
"tb_value": 6.0,
"tb_rank": 2246,
"bb_value": 0.0,
"bb_rank": 491,
"so_value": 3.0,
"so_rank": 493,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.75,
"ops_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 5.0,
"k_percent": 25.0,
"bb_percent": 0.0,
"woba": 0.323,
"xwoba": 0.396,
"xba": 0.327,
"xslg": 0.607,
"sweet_spot_percent": 55.6,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 22.2,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 25.0,
"whiff_percent": 17.4,
"swing_percent": 46.9
},
"components": {
"expected_quality": 1.5798,
"regression_edge": 2.0,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": 0.9333,
"hard_hit_edge": -2.3286,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "687221",
"player_name": "Dalton Rushing",
"offense_factor": 1.0319,
"quality_score": 0.4257,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687221",
"espn_id": 4619839,
"player_name": "Dalton Rushing",
"team": "LAD",
"role": "batter",
"espn_rank": 116,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 116,
"gp_value": 32.0,
"gp_rank": 315,
"ab_value": 91.0,
"ab_rank": 306,
"r_value": 16.0,
"r_rank": 219,
"h_value": 24.0,
"h_rank": 268,
"avg_value": 0.2637362,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 17.0,
"rbi_rank": 202,
"tb_value": 48.0,
"tb_rank": 1151,
"bb_value": 8.0,
"bb_rank": 286,
"so_value": 25.0,
"so_rank": 274,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3431372,
"obp_rank": "-",
"slg_value": 0.5274725,
"slg_rank": "-",
"ops_value": 0.8706097,
"ops_rank": null,
"war_value": 0.94,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 92.0,
"k_percent": 24.5,
"bb_percent": 7.8,
"woba": 0.38,
"xwoba": 0.369,
"xba": 0.277,
"xslg": 0.494,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 42.4,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 17.1,
"whiff_percent": 30.7,
"swing_percent": 49.9
},
"components": {
"expected_quality": 1.1512,
"regression_edge": -0.3143,
"xwoba_edge": 1.8143,
"xba_edge": 1.1429,
"xslg_edge": 1.6857,
"barrel_edge": 0.8222,
"hard_hit_edge": 0.5571,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "690976",
"player_name": "Alex Freeland",
"offense_factor": 0.9944,
"quality_score": -0.0751,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690976",
"espn_id": 4727589,
"player_name": "Alex Freeland",
"team": "LAD",
"role": "batter",
"espn_rank": 115,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 115,
"gp_value": 39.0,
"gp_rank": 269,
"ab_value": 114.0,
"ab_rank": 261,
"r_value": 14.0,
"r_rank": 255,
"h_value": 29.0,
"h_rank": 236,
"avg_value": 0.2543859,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 12.0,
"rbi_rank": 265,
"tb_value": 43.0,
"tb_rank": 1429,
"bb_value": 13.0,
"bb_rank": 202,
"so_value": 35.0,
"so_rank": 184,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.328125,
"obp_rank": "-",
"slg_value": 0.3771929,
"slg_rank": "-",
"ops_value": 0.7053179,
"ops_rank": null,
"war_value": 0.95,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 26.7,
"bb_percent": 9.9,
"woba": 0.317,
"xwoba": 0.299,
"xba": 0.229,
"xslg": 0.366,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 36.1,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 9.2,
"whiff_percent": 27.3,
"swing_percent": 39.5
},
"components": {
"expected_quality": -0.0864,
"regression_edge": -0.5143,
"xwoba_edge": -0.1857,
"xba_edge": -0.2286,
"xslg_edge": -0.1429,
"barrel_edge": 0.3333,
"hard_hit_edge": -0.3429,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}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 | 44 | -0.2018 | 0.9080 | 1.0172 | 0.9227 | 0.9346 | 1.0106 | negative_pitcher_regression | 0.3100 | 0.2550 | 16 | 5.60 | 17.40 | 7.20 | 41.20 | |
| Home ARI | True | 595 | -0.5931 | 1 | 1.0504 | 0.9571 | 0.9520 | 1.1386 | neutral | 0.3500 | 0.3270 | 18.70 | 6.80 | 22.10 | 11.80 | 43.10 |
| 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 | 99 | 89.47 | 2366 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0131 | |
| Home ARI | True | None | 92 | 92.79 | 2349 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1732 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0504 |
| home_runs_vs_away_pitcher | 1.0156 |
| home_pitcher_quality_edge | -0.3913 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "669194",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 252.0,
"k_percent": 18.7,
"bb_percent": 6.8,
"woba": 0.327,
"xwoba": 0.35,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 43.1,
"avg_best_speed": 80.4769,
"avg_hyper_speed": 94.7291,
"whiff_percent": 22.1,
"swing_percent": 54.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.8228,
"command_and_miss": -0.3093,
"regression_edge": -0.6571,
"xwoba_edge": -1.0,
"barrel_edge": -1.0222,
"hard_hit_edge": -0.6714,
"whiff_edge": -0.5286,
"bb_edge": 0.6,
"pitch_design_score": 0.1732
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669194",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"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.7936,
"release_spin_rate": 2349.1028,
"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.1732,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2373,
"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.5931,
"sample_weight": 1.0,
"run_prevention_factor": 1.0504,
"strikeout_factor": 0.9571,
"walk_factor": 0.952,
"homer_factor": 1.1386,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669194",
"espn_id": 4916269,
"player_name": "Ryne Nelson",
"team": "ARI",
"role": "pitcher",
"espn_rank": 595,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 595,
"gp_value": 12.0,
"gp_rank": 254,
"gs_value": 12.0,
"gs_rank": 23,
"qs_value": 4.0,
"qs_rank": 56,
"era_value": 4.8214,
"era_rank": 66.0,
"w_value": 2.0,
"w_rank": 149,
"l_value": 4.0,
"l_rank": 40,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 65.1,
"ip_rank": 49,
"h_value": 59.0,
"h_rank": 57,
"er_value": 35.0,
"er_rank": 15,
"hr_value": 15.0,
"hr_rank": 3,
"bb_value": 19.0,
"bb_rank": 82,
"k_value": 52.0,
"k_rank": 73,
"k_per_9_value": 7.163265,
"k_per_9_rank": 40,
"whip_value": 1.1938,
"whip_rank": 37.0,
"war_value": -0.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "680736",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 227.0,
"k_percent": 16.0,
"bb_percent": 5.6,
"woba": 0.255,
"xwoba": 0.31,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 41.2,
"avg_best_speed": 78.7557,
"avg_hyper_speed": 94.0242,
"whiff_percent": 17.4,
"swing_percent": 48.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.191,
"command_and_miss": -0.6579,
"regression_edge": -1.5714,
"xwoba_edge": 0.1429,
"barrel_edge": 0.0,
"hard_hit_edge": -0.4,
"whiff_edge": -1.2,
"bb_edge": 0.9,
"pitch_design_score": -0.0131
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680736",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 99,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 89.46644617136575,
"release_spin_rate": 2365.64267585064,
"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": 99,
"pitch_usage": 0.0,
"release_speed": 89.46644617136575,
"release_spin_rate": 2365.64267585064,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.4664,
"release_spin_rate": 2365.6427,
"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.0131,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0935,
"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.2018,
"sample_weight": 0.908,
"run_prevention_factor": 1.0172,
"strikeout_factor": 0.9227,
"walk_factor": 0.9346,
"homer_factor": 1.0106,
"woba_minus_xwoba": -0.055,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "680736",
"espn_id": 4417203,
"player_name": "Justin Wrobleski",
"team": "LAD",
"role": "pitcher",
"espn_rank": 44,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 44,
"gp_value": 10.0,
"gp_rank": 359,
"gs_value": 9.0,
"gs_rank": 109,
"qs_value": 6.0,
"qs_rank": 24,
"era_value": 2.8723,
"era_rank": 16.0,
"w_value": 7.0,
"w_rank": 5,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 62.2,
"ip_rank": 64,
"h_value": 49.0,
"h_rank": 99,
"er_value": 20.0,
"er_rank": 123,
"hr_value": 4.0,
"hr_rank": 158,
"bb_value": 14.0,
"bb_rank": 167,
"k_value": 40.0,
"k_rank": 127,
"k_per_9_value": 5.744681,
"k_per_9_rank": 53,
"whip_value": 1.0053,
"whip_rank": 10.0,
"war_value": 1.44,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0504,
"home_runs_vs_away_pitcher": 1.0156,
"home_pitcher_quality_edge": -0.3913
},
"score_before": {
"away_runs": 3.7625,
"home_runs": 1.5488
},
"score_after": {
"away_runs": 3.9521,
"home_runs": 1.573,
"home_win_probability": 0.2907
},
"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 | 18-40 | 0.310 | 1.40 | 2.60 | -68 | cold | strong | |
| Home ARI | 21-37 | 0.362 | 1.20 | 2.50 | -80 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away LAD | 39-22 | 0.639 | 127 | 2.082 | True |
| Home ARI | 32-28 | 0.533 | 10 | 0.167 | True |
| Signal | - | - | -1.915 | -2.074 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target LAD | - | - | 5 | - | - | - | - |
| Game target ARI | - | - | 1 | - | - | - | - |
| Player finalized LAD | 58 | 15 | 8 | 0 | 9 | 6 | 10 |
| Player finalized ARI | 55 | 12 | 9 | 0 | 6 | 6 | 11 |
| Player model fractional LAD | 58.32 | 15.19 | 9.36 | 2.64 | 9.06 | 5.75 | 11.73 |
| Player model fractional ARI | 56.48 | 12.43 | 7.72 | 1.50 | 6.12 | 5.66 | 11.58 |
| Simulation box LAD | 36 | 9 | 6 | 2 | 6 | 3 | 9 |
| Simulation box ARI | 31 | 4 | 1 | 0 | 1 | 3 | 13 |
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 | Justin Wrobleski | 6.20 | 0 | 9 | 1 | 1 | 3.83 | 1.12 | True |
| Away LAD | Middle Reliever | Kyle Hurt | 1 | 0 | 2 | 0 | 1 | 4.73 | 1.34 | True |
| Away LAD | Middle Reliever | Tanner Scott | 1 | 1 | 1 | 2 | 0 | 4.05 | 1.09 | True |
| Away LAD | Middle Reliever | Alex Vesia | 0.10 | 0 | 1 | 1 | 1 | 3.18 | 1.19 | True |
| Home ARI | Starter | Ryne Nelson | 6.20 | 1 | 6 | 4 | 1 | 4.12 | 1.16 | True |
| Home ARI | Middle Reliever | Jonathan Loáisiga | 0.10 | 0 | 1 | 0 | 0 | 3.98 | 1.25 | True |
| Home ARI | Middle Reliever | Kevin Ginkel | 0.20 | 3 | 1 | 4 | 1 | 4.52 | 1.35 | True |
| Home ARI | Middle Reliever | Paul Sewald | 1 | 1 | 1 | 1 | 1 | 4.29 | 1.31 | True |
| Home ARI | Middle Reliever | Taylor Clarke | 0.10 | 1 | 0 | 0 | 0 | 5.69 | 1.42 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | ARI | batter | 3B | Nolan Arenado | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 2.2860 | boost | worse |
| home | ARI | batter | RF | Corbin Carroll | worse | 9 | 3 | 6 | 2 | 7 | predicted_SO | 2.0180 | boost | worse |
| home | ARI | pitcher | Starter | Ryne Nelson | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -1.8000 | deboost | worse |
| away | LAD | batter | LF | Ryan Ward | worse | 9 | 5 | 4 | 4 | 5 | predicted_RBI | 1.5800 | boost | better |
| home | ARI | batter | DH | Jose Fernandez | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | -1.5730 | deboost | worse |
| away | LAD | batter | RF | Kyle Tucker | better | 11 | 7 | 4 | 8 | 3 | predicted_RBI | 1.4900 | boost | better |
| away | LAD | batter | SS | Mookie Betts | worse | 9 | 5 | 4 | 4 | 5 | predicted_RBI | 1.4100 | boost | better |
| home | ARI | batter | C | Gabriel Moreno | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 1.1470 | boost | worse |
| home | ARI | batter | LF | Tommy Troy | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | -1.1050 | deboost | worse |
| home | ARI | batter | 1B | Ildemaro Vargas | better | 9 | 6 | 3 | 5 | 4 | predicted_H | 1.0700 | boost | better |
| home | ARI | batter | 2B | Ketel Marte | worse | 11 | 0 | 11 | 1 | 10 | predicted_H | -1.0600 | deboost | worse |
| away | LAD | pitcher | Starter | Justin Wrobleski | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| away | LAD | pitcher | Middle Reliever | Alex Vesia | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| away | LAD | batter | 2B | Alex Freeland | better | 11 | 7 | 4 | 6 | 5 | predicted_SO | 0.9830 | boost | worse |
| away | LAD | batter | 1B | Freddie Freeman | better | 11 | 7 | 4 | 6 | 5 | predicted_H | 0.9300 | boost | better |
| away | LAD | batter | 3B | Max Muncy | worse | 11 | 5 | 6 | 4 | 7 | predicted_SO | 0.9140 | boost | worse |
| home | ARI | pitcher | Middle Reliever | Paul Sewald | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| away | LAD | batter | DH | Will Smith | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -0.8600 | deboost | worse |
| home | ARI | batter | SS | Geraldo Perdomo | worse | 12 | 3 | 9 | 2 | 10 | predicted_H | -0.7800 | deboost | worse |
| away | LAD | batter | CF | Andy Pages | better | 10 | 7 | 3 | 6 | 4 | predicted_2B | 0.7630 | boost | better |
| home | ARI | batter | CF | Ryan Waldschmidt | worse | 11 | 3 | 8 | 4 | 7 | predicted_2B | 0.7400 | boost | better |
| away | LAD | batter | C | Dalton Rushing | worse | 8 | 2 | 6 | 2 | 6 | predicted_BB | 0.7050 | boost | better |
| home | ARI | pitcher | Middle Reliever | Kevin Ginkel | 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 | Justin Wrobleski |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2018 |
| ESPN Rank | 44 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0131 |
| Avg Velo | 89.4664 |
| Avg Spin | 2365.6427 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 9 |
| Season ERA | 2.8723 |
| Season WHIP | 1.0053 |
| Role Avg IP | 6.5190 |
| Recent Avg IP | 6.5330 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 68,
"wins": 43,
"losses": 25,
"win_pct": 0.6324,
"runs_scored": 362.0,
"runs_allowed": 218.0,
"run_differential": 144.0,
"run_differential_per_game": 2.1176,
"avg_runs_scored": 5.3235,
"avg_runs_allowed": 3.2059,
"offense_index": 1.1911,
"defense_index": 1.3941,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.4781
},
"opponent": {
"team": "ARI",
"games": 68,
"wins": 36,
"losses": 32,
"win_pct": 0.5294,
"runs_scored": 320.0,
"runs_allowed": 309.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1618,
"avg_runs_scored": 4.7059,
"avg_runs_allowed": 4.5441,
"offense_index": 1.0529,
"defense_index": 0.9836,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.9,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0449
},
"edges": {
"quality_edge": 0.4332,
"offense_edge": 0.1911,
"opponent_offense_edge": 0.0529,
"defense_strength": 0.3941,
"opponent_defense_weakness": 0.0164,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.027,
"run_prevention": 0.9474,
"strikeout": 1.0088
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "680736",
"profile": {
"available": true,
"pitcher_id": "680736",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 227.0,
"k_percent": 16.0,
"bb_percent": 5.6,
"woba": 0.255,
"xwoba": 0.31,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 41.2,
"avg_best_speed": 78.7557,
"avg_hyper_speed": 94.0242,
"whiff_percent": 17.4,
"swing_percent": 48.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.191,
"command_and_miss": -0.6579,
"regression_edge": -1.5714,
"xwoba_edge": 0.1429,
"barrel_edge": 0.0,
"hard_hit_edge": -0.4,
"whiff_edge": -1.2,
"bb_edge": 0.9,
"pitch_design_score": -0.0131
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680736",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 99,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 89.46644617136575,
"release_spin_rate": 2365.64267585064,
"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": 99,
"pitch_usage": 0.0,
"release_speed": 89.46644617136575,
"release_spin_rate": 2365.64267585064,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.4664,
"release_spin_rate": 2365.6427,
"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.0131,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0935,
"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.2018,
"sample_weight": 0.908,
"run_prevention_factor": 1.0172,
"strikeout_factor": 0.9227,
"walk_factor": 0.9346,
"homer_factor": 1.0106,
"woba_minus_xwoba": -0.055,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "680736",
"espn_id": 4417203,
"player_name": "Justin Wrobleski",
"team": "LAD",
"role": "pitcher",
"espn_rank": 44,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 44,
"gp_value": 10.0,
"gp_rank": 359,
"gs_value": 9.0,
"gs_rank": 109,
"qs_value": 6.0,
"qs_rank": 24,
"era_value": 2.8723,
"era_rank": 16.0,
"w_value": 7.0,
"w_rank": 5,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 62.2,
"ip_rank": 64,
"h_value": 49.0,
"h_rank": 99,
"er_value": 20.0,
"er_rank": 123,
"hr_value": 4.0,
"hr_rank": 158,
"bb_value": 14.0,
"bb_rank": 167,
"k_value": 40.0,
"k_rank": 127,
"k_per_9_value": 5.744681,
"k_per_9_rank": 53,
"whip_value": 1.0053,
"whip_rank": 10.0,
"war_value": 1.44,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0156,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0156,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9406,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0096,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9298,
"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": 62.2,
"ER": 20,
"H": 49,
"BB": 14,
"SO": 40,
"HR": 4,
"ERA": 2.872340425531915,
"WHIP": 1.0053191489361704,
"K9": 5.74468085106383,
"HR9": 0.574468085106383,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "680736",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 99,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 89.46644617136575,
"release_spin_rate": 2365.64267585064,
"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": 99,
"pitch_usage": 0.0,
"release_speed": 89.46644617136575,
"release_spin_rate": 2365.64267585064,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.4664,
"release_spin_rate": 2365.6427,
"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.0131,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0935,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.5625,
"last_10": 0.43749999999999994
},
"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": "680736",
"report_date": "20260604_L",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 7.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.2,
"ER": 15.0,
"R": 15.0,
"H": 29.0,
"BB": 5.0,
"SO": 25.0,
"HR": 4.0,
"BF": 131.0,
"Pitches": 474.0
},
"per_game": {
"IP": 6.2,
"ER": 3.0,
"R": 3.0,
"H": 5.8,
"BB": 1.0,
"SO": 5.0,
"HR": 0.8,
"BF": 26.2,
"Pitches": 94.8
},
"rates": {
"ERA": 4.1327,
"WHIP": 1.0408,
"ER_per_IP": 0.45918,
"H_per_IP": 0.88776,
"BB_per_IP": 0.15306,
"SO_per_IP": 0.76531,
"HR_per_IP": 0.12245
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 62.2,
"ER": 20.0,
"R": 20.0,
"H": 49.0,
"BB": 14.0,
"SO": 40.0,
"HR": 4.0,
"BF": 250.0,
"Pitches": 908.0
},
"per_game": {
"IP": 6.1,
"ER": 2.0,
"R": 2.0,
"H": 4.9,
"BB": 1.4,
"SO": 4.0,
"HR": 0.4,
"BF": 25.0,
"Pitches": 90.8
},
"rates": {
"ERA": 2.8723,
"WHIP": 1.0053,
"ER_per_IP": 0.31915,
"H_per_IP": 0.78191,
"BB_per_IP": 0.2234,
"SO_per_IP": 0.6383,
"HR_per_IP": 0.06383
}
},
"season": {
"games": 10,
"totals": {
"IP": 62.2,
"ER": 20.0,
"R": 20.0,
"H": 49.0,
"BB": 14.0,
"SO": 40.0,
"HR": 4.0,
"BF": 250.0,
"Pitches": 908.0
},
"per_game": {
"IP": 6.1,
"ER": 2.0,
"R": 2.0,
"H": 4.9,
"BB": 1.4,
"SO": 4.0,
"HR": 0.4,
"BF": 25.0,
"Pitches": 90.8
},
"rates": {
"ERA": 2.8723,
"WHIP": 1.0053,
"ER_per_IP": 0.31915,
"H_per_IP": 0.78191,
"BB_per_IP": 0.2234,
"SO_per_IP": 0.6383,
"HR_per_IP": 0.06383
}
}
},
"weighted_prediction": {
"predicted_IP": 6.2,
"predicted_ER": 2.847,
"predicted_H": 5.876,
"predicted_BB": 1.636,
"predicted_SO": 5.256,
"predicted_HR": 0.737,
"predicted_ERA": 3.835,
"predicted_WHIP": 1.1244
}
}{
"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": 7.0,
"form": 6.2,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.847,
"final": 1.4496,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 5.876,
"final": 3.4828,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.636,
"final": 1.3238,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 5.256,
"final": 6.6028,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.737,
"final": 0.3753,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.835,
"final": 3.835,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1244,
"final": 1.1244,
"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 | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3857 |
| ESPN Rank | 220 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1901 |
| Avg Velo | 93.0942 |
| Avg Spin | 1837.4415 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 2.4107 |
| Season WHIP | 0.9643 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 68,
"wins": 43,
"losses": 25,
"win_pct": 0.6324,
"runs_scored": 362.0,
"runs_allowed": 218.0,
"run_differential": 144.0,
"run_differential_per_game": 2.1176,
"avg_runs_scored": 5.3235,
"avg_runs_allowed": 3.2059,
"offense_index": 1.1911,
"defense_index": 1.3941,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.4781
},
"opponent": {
"team": "ARI",
"games": 68,
"wins": 36,
"losses": 32,
"win_pct": 0.5294,
"runs_scored": 320.0,
"runs_allowed": 309.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1618,
"avg_runs_scored": 4.7059,
"avg_runs_allowed": 4.5441,
"offense_index": 1.0529,
"defense_index": 0.9836,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.9,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0449
},
"edges": {
"quality_edge": 0.4332,
"offense_edge": 0.1911,
"opponent_offense_edge": 0.0529,
"defense_strength": 0.3941,
"opponent_defense_weakness": 0.0164,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.027,
"run_prevention": 0.9474,
"strikeout": 1.0088
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669165",
"profile": {
"available": true,
"pitcher_id": "669165",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 58.0,
"k_percent": 30.1,
"bb_percent": 9.6,
"woba": 0.236,
"xwoba": 0.26,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 32.6,
"avg_best_speed": 79.4494,
"avg_hyper_speed": 93.6873,
"whiff_percent": 37.8,
"swing_percent": 54.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.1295,
"command_and_miss": 1.0686,
"regression_edge": -0.6857,
"xwoba_edge": 1.5714,
"barrel_edge": 0.5556,
"hard_hit_edge": 0.8286,
"whiff_edge": 1.7143,
"bb_edge": -0.1,
"pitch_design_score": 0.1901
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669165",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 93.09421005722862,
"release_spin_rate": 1837.4414920782906,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 93.09421005722862,
"release_spin_rate": 1837.4414920782906,
"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": 93.0942,
"release_spin_rate": 1837.4415,
"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.1901,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3576,
"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.3857,
"sample_weight": 0.45,
"run_prevention_factor": 0.9672,
"strikeout_factor": 1.0504,
"walk_factor": 1.0036,
"homer_factor": 0.9439,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669165",
"espn_id": 4306800,
"player_name": "Kyle Hurt",
"team": "LAD",
"role": "pitcher",
"espn_rank": 220,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 220,
"gp_value": 19.0,
"gp_rank": 155,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.4107,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 4.0,
"hld_rank": 99,
"ip_value": 18.2,
"ip_rank": 357,
"h_value": 11.0,
"h_rank": 431,
"er_value": 5.0,
"er_rank": 444,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 7.0,
"bb_rank": 348,
"k_value": 22.0,
"k_rank": 287,
"k_per_9_value": 10.607143,
"k_per_9_rank": 21,
"whip_value": 0.9642,
"whip_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9852,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9852,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0016,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9748,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0227,
"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": 8,
"BB": 6,
"SO": 9,
"HR": 1,
"ERA": 3.724137931034483,
"WHIP": 1.4482758620689655,
"K9": 8.379310344827587,
"HR9": 0.9310344827586208,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "669165",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 93.09421005722862,
"release_spin_rate": 1837.4414920782906,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 93.09421005722862,
"release_spin_rate": 1837.4414920782906,
"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": 93.0942,
"release_spin_rate": 1837.4415,
"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.1901,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3576,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.684,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4242,
"prior_weight": 0.5758
},
"role": "pitcher",
"player_id": "669165",
"report_date": "20260604_L",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 4.0,
"H": 2.0,
"BB": 5.0,
"SO": 5.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 77.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 0.4,
"BB": 1.0,
"SO": 1.0,
"HR": 0.2,
"BF": 4.2,
"Pitches": 15.4
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.5,
"ER_per_IP": 0.85714,
"H_per_IP": 0.42857,
"BB_per_IP": 1.07143,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 6.0,
"SO": 9.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 145.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.6,
"SO": 0.9,
"HR": 0.1,
"BF": 4.1,
"Pitches": 14.5
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.4483,
"ER_per_IP": 0.41379,
"H_per_IP": 0.82759,
"BB_per_IP": 0.62069,
"SO_per_IP": 0.93103,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 19,
"totals": {
"IP": 18.2,
"ER": 5.0,
"R": 5.0,
"H": 11.0,
"BB": 7.0,
"SO": 22.0,
"HR": 1.0,
"BF": 73.0,
"Pitches": 248.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2632,
"R": 0.2632,
"H": 0.5789,
"BB": 0.3684,
"SO": 1.1579,
"HR": 0.0526,
"BF": 3.8421,
"Pitches": 13.0526
},
"rates": {
"ERA": 2.4107,
"WHIP": 0.9643,
"ER_per_IP": 0.26786,
"H_per_IP": 0.58929,
"BB_per_IP": 0.375,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.05357
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.526,
"predicted_H": 0.805,
"predicted_BB": 0.54,
"predicted_SO": 0.985,
"predicted_HR": 0.14,
"predicted_ERA": 4.7305,
"predicted_WHIP": 1.3448
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5933,
"form_weight": 0.4067,
"form_reliability": 0.4242,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.684,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4242,
"prior_weight": 0.5758
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.526,
"final": 0.2139,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.805,
"final": 0.3274,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.54,
"final": 0.8129,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.985,
"final": 1.5872,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.14,
"final": 0.0569,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7305,
"final": 4.7305,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3448,
"final": 1.3448,
"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.3547 |
| ESPN Rank | 127 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1958 |
| Avg Velo | 93.1971 |
| Avg Spin | 2581.0474 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.1039 |
| Season WHIP | 0.7013 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 68,
"wins": 43,
"losses": 25,
"win_pct": 0.6324,
"runs_scored": 362.0,
"runs_allowed": 218.0,
"run_differential": 144.0,
"run_differential_per_game": 2.1176,
"avg_runs_scored": 5.3235,
"avg_runs_allowed": 3.2059,
"offense_index": 1.1911,
"defense_index": 1.3941,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.4781
},
"opponent": {
"team": "ARI",
"games": 68,
"wins": 36,
"losses": 32,
"win_pct": 0.5294,
"runs_scored": 320.0,
"runs_allowed": 309.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1618,
"avg_runs_scored": 4.7059,
"avg_runs_allowed": 4.5441,
"offense_index": 1.0529,
"defense_index": 0.9836,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.9,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0449
},
"edges": {
"quality_edge": 0.4332,
"offense_edge": 0.1911,
"opponent_offense_edge": 0.0529,
"defense_strength": 0.3941,
"opponent_defense_weakness": 0.0164,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.027,
"run_prevention": 0.9474,
"strikeout": 1.0088
},
"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": 81.0,
"k_percent": 30.9,
"bb_percent": 3.2,
"woba": 0.205,
"xwoba": 0.265,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 27.4,
"avg_best_speed": 79.3919,
"avg_hyper_speed": 92.5377,
"whiff_percent": 33.2,
"swing_percent": 56.2
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.124,
"command_and_miss": 1.21,
"regression_edge": -1.7143,
"xwoba_edge": 1.4286,
"barrel_edge": -0.2,
"hard_hit_edge": 1.5714,
"whiff_edge": 1.0571,
"bb_edge": 1.5,
"pitch_design_score": 0.1958
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656945",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 93.1971466958967,
"release_spin_rate": 2581.04737629949,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 93.1971466958967,
"release_spin_rate": 2581.04737629949,
"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": 93.1971,
"release_spin_rate": 2581.0474,
"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.1958,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3987,
"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.3547,
"sample_weight": 0.45,
"run_prevention_factor": 0.9698,
"strikeout_factor": 1.0406,
"walk_factor": 0.946,
"homer_factor": 0.9596,
"woba_minus_xwoba": -0.06,
"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": 127,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 127,
"gp_value": 27.0,
"gp_rank": 33,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.1038,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 6.0,
"sv_rank": 21,
"hld_value": 5.0,
"hld_rank": 75,
"ip_value": 25.2,
"ip_rank": 249,
"h_value": 15.0,
"h_rank": 362,
"er_value": 6.0,
"er_rank": 404,
"hr_value": 3.0,
"hr_rank": 207,
"bb_value": 3.0,
"bb_rank": 505,
"k_value": 29.0,
"k_rank": 200,
"k_per_9_value": 10.168831,
"k_per_9_rank": 21,
"whip_value": 0.7012,
"whip_rank": null,
"war_value": 0.7,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9864,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9864,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9757,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9818,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0183,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 3,
"H": 7,
"BB": 1,
"SO": 14,
"HR": 1,
"ERA": 2.612903225806452,
"WHIP": 0.7741935483870969,
"K9": 12.193548387096776,
"HR9": 0.870967741935484,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "656945",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 93.1971466958967,
"release_spin_rate": 2581.04737629949,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 93.1971466958967,
"release_spin_rate": 2581.04737629949,
"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": 93.1971,
"release_spin_rate": 2581.0474,
"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.1958,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3987,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5033,
"prior_weight": 0.4967
},
"role": "pitcher",
"player_id": "656945",
"report_date": "20260604_L",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 0.0,
"SO": 6.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.0,
"SO": 1.2,
"HR": 0.2,
"BF": 4.0,
"Pitches": 17.2
},
"rates": {
"ERA": 5.4,
"WHIP": 1.0,
"ER_per_IP": 0.6,
"H_per_IP": 1.0,
"BB_per_IP": 0.0,
"SO_per_IP": 1.2,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 1.0,
"SO": 14.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 161.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.1,
"SO": 1.4,
"HR": 0.1,
"BF": 3.9,
"Pitches": 16.1
},
"rates": {
"ERA": 2.6129,
"WHIP": 0.7742,
"ER_per_IP": 0.29032,
"H_per_IP": 0.67742,
"BB_per_IP": 0.09677,
"SO_per_IP": 1.35484,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 27,
"totals": {
"IP": 25.2,
"ER": 6.0,
"R": 6.0,
"H": 15.0,
"BB": 3.0,
"SO": 29.0,
"HR": 3.0,
"BF": 94.0,
"Pitches": 365.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2222,
"R": 0.2222,
"H": 0.5556,
"BB": 0.1111,
"SO": 1.0741,
"HR": 0.1111,
"BF": 3.4815,
"Pitches": 13.5185
},
"rates": {
"ERA": 2.1039,
"WHIP": 0.7013,
"ER_per_IP": 0.23377,
"H_per_IP": 0.58442,
"BB_per_IP": 0.11688,
"SO_per_IP": 1.12987,
"HR_per_IP": 0.11688
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.45,
"predicted_H": 0.879,
"predicted_BB": 0.211,
"predicted_SO": 1.092,
"predicted_HR": 0.142,
"predicted_ERA": 4.0521,
"predicted_WHIP": 1.0905
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5599,
"form_weight": 0.4401,
"form_reliability": 0.5033,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5033,
"prior_weight": 0.4967
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.45,
"final": 0.7579,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.879,
"final": 1.5066,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.211,
"final": 0.0929,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.092,
"final": 1.0405,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.142,
"final": 0.0625,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0521,
"final": 4.0521,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0905,
"final": 1.0905,
"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.4435 |
| ESPN Rank | 160 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1063 |
| Avg Velo | 87.8014 |
| Avg Spin | 2360.7968 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.2131 |
| Season WHIP | 0.9344 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 68,
"wins": 43,
"losses": 25,
"win_pct": 0.6324,
"runs_scored": 362.0,
"runs_allowed": 218.0,
"run_differential": 144.0,
"run_differential_per_game": 2.1176,
"avg_runs_scored": 5.3235,
"avg_runs_allowed": 3.2059,
"offense_index": 1.1911,
"defense_index": 1.3941,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.4781
},
"opponent": {
"team": "ARI",
"games": 68,
"wins": 36,
"losses": 32,
"win_pct": 0.5294,
"runs_scored": 320.0,
"runs_allowed": 309.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1618,
"avg_runs_scored": 4.7059,
"avg_runs_allowed": 4.5441,
"offense_index": 1.0529,
"defense_index": 0.9836,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.9,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0449
},
"edges": {
"quality_edge": 0.4332,
"offense_edge": 0.1911,
"opponent_offense_edge": 0.0529,
"defense_strength": 0.3941,
"opponent_defense_weakness": 0.0164,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.027,
"run_prevention": 0.9474,
"strikeout": 1.0088
},
"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": 74.0,
"k_percent": 35.0,
"bb_percent": 12.5,
"woba": 0.198,
"xwoba": 0.245,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 31.0,
"avg_best_speed": 77.5549,
"avg_hyper_speed": 91.7844,
"whiff_percent": 37.0,
"swing_percent": 46.3
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.4585,
"command_and_miss": 1.1986,
"regression_edge": -1.3429,
"xwoba_edge": 2.0,
"barrel_edge": 0.5333,
"hard_hit_edge": 1.0571,
"whiff_edge": 1.6,
"bb_edge": -0.825,
"pitch_design_score": -0.1063
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681911",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 87.80137118004887,
"release_spin_rate": 2360.7968034891846,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 87.80137118004887,
"release_spin_rate": 2360.7968034891846,
"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.8014,
"release_spin_rate": 2360.7968,
"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.1063,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7596,
"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.4435,
"sample_weight": 0.45,
"run_prevention_factor": 0.9623,
"strikeout_factor": 1.0609,
"walk_factor": 1.0297,
"homer_factor": 0.9348,
"woba_minus_xwoba": -0.047,
"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": 160,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 160,
"gp_value": 26.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.2131,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 8.0,
"hld_rank": 29,
"ip_value": 20.1,
"ip_rank": 331,
"h_value": 9.0,
"h_rank": 468,
"er_value": 5.0,
"er_rank": 444,
"hr_value": 0.0,
"hr_rank": 536,
"bb_value": 10.0,
"bb_rank": 258,
"k_value": 28.0,
"k_rank": 209,
"k_per_9_value": 12.393443,
"k_per_9_rank": 17,
"whip_value": 0.9344,
"whip_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.983,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.983,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0134,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9707,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0274,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 7.1,
"ER": 3,
"H": 5,
"BB": 4,
"SO": 12,
"HR": 0,
"ERA": 3.681818181818182,
"WHIP": 1.2272727272727273,
"K9": 14.727272727272728,
"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-06-01T00:00:00"
}{
"available": true,
"pitcher_id": "681911",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 87.80137118004887,
"release_spin_rate": 2360.7968034891846,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 87.80137118004887,
"release_spin_rate": 2360.7968034891846,
"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.8014,
"release_spin_rate": 2360.7968,
"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.1063,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7596,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.013,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4453,
"prior_weight": 0.5547
},
"role": "pitcher",
"player_id": "681911",
"report_date": "20260604_L",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 62.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 2.6,
"Pitches": 12.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9,
"ER_per_IP": 0.0,
"H_per_IP": 0.3,
"BB_per_IP": 0.6,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.1,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 4.0,
"SO": 12.0,
"HR": 0.0,
"BF": 31.0,
"Pitches": 145.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 3.1,
"Pitches": 14.5
},
"rates": {
"ERA": 3.6818,
"WHIP": 1.2273,
"ER_per_IP": 0.40909,
"H_per_IP": 0.68182,
"BB_per_IP": 0.54545,
"SO_per_IP": 1.63636,
"HR_per_IP": 0.0
}
},
"season": {
"games": 26,
"totals": {
"IP": 20.1,
"ER": 5.0,
"R": 5.0,
"H": 9.0,
"BB": 10.0,
"SO": 28.0,
"HR": 0.0,
"BF": 80.0,
"Pitches": 356.0
},
"per_game": {
"IP": 0.2,
"ER": 0.1923,
"R": 0.1923,
"H": 0.3462,
"BB": 0.3846,
"SO": 1.0769,
"HR": 0.0,
"BF": 3.0769,
"Pitches": 13.6923
},
"rates": {
"ERA": 2.2131,
"WHIP": 0.9344,
"ER_per_IP": 0.2459,
"H_per_IP": 0.44262,
"BB_per_IP": 0.4918,
"SO_per_IP": 1.37705,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.17,
"predicted_H": 0.355,
"predicted_BB": 0.218,
"predicted_SO": 0.578,
"predicted_HR": 0.037,
"predicted_ERA": 3.1798,
"predicted_WHIP": 1.1886
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5844,
"form_weight": 0.4156,
"form_reliability": 0.4453,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.013,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4453,
"prior_weight": 0.5547
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.17,
"final": 0.0707,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.355,
"final": 0.7319,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.218,
"final": 0.675,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.578,
"final": 1.409,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.037,
"final": 0.0154,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1798,
"final": 3.1798,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1886,
"final": 1.1886,
"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.270 | 0.000 | 0.000 | Hitting_2B | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 3.990 | 5.000 | 7.000 | Hitting_AB | 3.854 | 5.000 | 1.146 | 0.000 |
| predicted_AVG | 0.233 | 0.400 | 0.286 | Hitting_AVG | 0.254 | 0.600 | 0.146 | -0.200 |
| predicted_BB | 0.554 | 0.000 | 1.000 | Hitting_BB | 0.554 | 0.000 | -0.554 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.930 | 2.000 | 2.000 | Hitting_H | 0.979 | 3.000 | 1.021 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.094 | 1.000 | -0.094 | -1.000 |
| predicted_OBP | 0.320 | 0.400 | 0.375 | Hitting_OBP | 0.347 | 0.600 | 0.053 | -0.200 |
| predicted_R | 0.742 | 1.000 | 1.000 | Hitting_R | 0.742 | 1.000 | 0.258 | 0.000 |
| predicted_RBI | 0.510 | 2.000 | 1.000 | Hitting_RBI | 0.524 | 2.000 | 1.476 | 0.000 |
| predicted_SLG | 0.407 | 0.400 | 0.286 | Hitting_SLG | 0.420 | 1.200 | -0.020 | -0.800 |
| predicted_SO | 0.815 | 0.000 | 1.000 | Hitting_SO | 0.815 | 1.000 | -0.815 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.5100 -> 2.0000 (boost 1.4900, better) |
| Biggest Deboost | predicted_SO: 0.8150 -> 0.0000 (deboost -0.8150, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.9900 -> 7.3367 (boost 3.3467, 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 | 6 | 6 | 0 | 6 | 0 | predicted_R: 1.2682 -> 1.3724 (boost 0.1042, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 1.8927 -> 2.0000 (boost 0.1073, better) | predicted_2B: 0.4653 -> 0.0000 (deboost -0.4653, worse) | AB rounded to 7 (raw=7.34), rates preserved: AVG=0.258 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3724 -> 1.0000 (deboost -0.3724, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3444 -> 0.3750 (boost 0.0306, better) | predicted_SLG: 0.4348 -> 0.2860 (deboost -0.1488, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_RBI: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 5.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4348 (boost 0.1488, better) | predicted_OBP: 0.3750 -> 0.3444 (deboost -0.0306, 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.27,
"predicted_3B": 0.043,
"predicted_AB": 3.99,
"predicted_AVG": 0.233,
"predicted_BB": 0.554,
"predicted_H": 0.93,
"predicted_HR": 0.12,
"predicted_OBP": 0.32,
"predicted_R": 0.742,
"predicted_RBI": 0.51,
"predicted_SLG": 0.407,
"predicted_SO": 0.815
},
"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.4653,
"predicted_3B": 0.0624,
"predicted_AB": 7.3367,
"predicted_AVG": 0.2416,
"predicted_BB": 0.9472,
"predicted_H": 1.8083,
"predicted_HBP": 0.037,
"predicted_HR": 0.2252,
"predicted_OBP": 0.3263,
"predicted_R": 1.2682,
"predicted_RBI": 0.9739,
"predicted_SLG": 0.4135,
"predicted_SO": 1.4671
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.27,
"after": 0.4653,
"delta": 0.1953,
"percent_delta": 0.7233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0624,
"delta": 0.0194,
"percent_delta": 0.4512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 7.3367,
"delta": 3.3467,
"percent_delta": 0.8388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2416,
"delta": 0.0086,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.554,
"after": 0.9472,
"delta": 0.3932,
"percent_delta": 0.7097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.8083,
"delta": 0.8783,
"percent_delta": 0.9444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2252,
"delta": 0.1052,
"percent_delta": 0.8767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3263,
"delta": 0.0063,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.742,
"after": 1.2682,
"delta": 0.5262,
"percent_delta": 0.7092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.9739,
"delta": 0.4639,
"percent_delta": 0.9096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.4135,
"delta": 0.0065,
"percent_delta": 0.016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.815,
"after": 1.4671,
"delta": 0.6521,
"percent_delta": 0.8001,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 7.3367,
"delta": 3.3467,
"percent_delta": 0.8388,
"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": 59
}
},
{
"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.4653,
"predicted_3B": 0.0624,
"predicted_AB": 7.3367,
"predicted_AVG": 0.258,
"predicted_BB": 0.9667,
"predicted_H": 1.8927,
"predicted_HBP": 0.037,
"predicted_HR": 0.2356,
"predicted_OBP": 0.3444,
"predicted_R": 1.3724,
"predicted_RBI": 1.054,
"predicted_SLG": 0.4348,
"predicted_SO": 1.4369
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4653,
"after": 0.4653,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0624,
"after": 0.0624,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.3367,
"after": 7.3367,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.258,
"delta": 0.0164,
"percent_delta": 0.0679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9472,
"after": 0.9667,
"delta": 0.0195,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8083,
"after": 1.8927,
"delta": 0.0844,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2252,
"after": 0.2356,
"delta": 0.0104,
"percent_delta": 0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3263,
"after": 0.3444,
"delta": 0.0181,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2682,
"after": 1.3724,
"delta": 0.1042,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9739,
"after": 1.054,
"delta": 0.0801,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4135,
"after": 0.4348,
"delta": 0.0213,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4671,
"after": 1.4369,
"delta": -0.0302,
"percent_delta": -0.0206,
"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": 1.2682,
"after": 1.3724,
"delta": 0.1042,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.34), rates preserved: AVG=0.258 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.4653,
"after": 0.0,
"delta": -0.4653,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0624,
"after": 0.0,
"delta": -0.0624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.3367,
"after": 7.0,
"delta": -0.3367,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9667,
"after": 1.0,
"delta": 0.0333,
"percent_delta": 0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8927,
"after": 2.0,
"delta": 0.1073,
"percent_delta": 0.0567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2356,
"after": 0.0,
"delta": -0.2356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.054,
"after": 1.0,
"delta": -0.054,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4369,
"after": 1.0,
"delta": -0.4369,
"percent_delta": -0.3041,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.8927,
"after": 2.0,
"delta": 0.1073,
"percent_delta": 0.0567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4653,
"after": 0.0,
"delta": -0.4653,
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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": 1.3724,
"after": 1.0,
"delta": -0.3724,
"percent_delta": -0.2713,
"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": 1.3724,
"after": 1.0,
"delta": -0.3724,
"percent_delta": -0.2713,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.286,
"delta": 0.028,
"percent_delta": 0.1085,
"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": 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.3444,
"after": 0.375,
"delta": 0.0306,
"percent_delta": 0.0889,
"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.4348,
"after": 0.286,
"delta": -0.1488,
"percent_delta": -0.3422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3444,
"after": 0.375,
"delta": 0.0306,
"percent_delta": 0.0889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4348,
"after": 0.286,
"delta": -0.1488,
"percent_delta": -0.3422,
"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": 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": 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": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"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.258,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3444,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4348,
"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.286,
"after": 0.258,
"delta": -0.028,
"percent_delta": -0.098,
"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.375,
"after": 0.3444,
"delta": -0.0306,
"percent_delta": -0.0817,
"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.286,
"after": 0.4348,
"delta": 0.1488,
"percent_delta": 0.5201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4348,
"delta": 0.1488,
"percent_delta": 0.5201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3444,
"delta": -0.0306,
"percent_delta": -0.0817,
"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.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 5.0,
"delta": 1.01,
"percent_delta": 0.2531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.258,
"delta": 0.025,
"percent_delta": 0.1073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.554,
"after": 0.0,
"delta": -0.554,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 2.0,
"delta": 1.07,
"percent_delta": 1.1505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3444,
"delta": 0.0244,
"percent_delta": 0.0762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.742,
"after": 1.0,
"delta": 0.258,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 2.0,
"delta": 1.49,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.4348,
"delta": 0.0278,
"percent_delta": 0.0683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.815,
"after": 0.0,
"delta": -0.815,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.51,
"after": 2.0,
"delta": 1.49,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.815,
"after": 0.0,
"delta": -0.815,
"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.270 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.554 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.742 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.407 | - |
| predicted_SO | 0.815 | - |
Final model 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.465 | 0.195 |
| predicted_3B | 0.062 | 0.019 |
| predicted_AB | 7.337 | 3.347 |
| predicted_AVG | 0.242 | 0.009 |
| predicted_BB | 0.947 | 0.393 |
| predicted_H | 1.808 | 0.878 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.225 | 0.105 |
| predicted_OBP | 0.326 | 0.006 |
| predicted_R | 1.268 | 0.526 |
| predicted_RBI | 0.974 | 0.464 |
| predicted_SLG | 0.413 | 0.007 |
| predicted_SO | 1.467 | 0.652 |
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.465 | 0.000 |
| predicted_3B | 0.062 | 0.000 |
| predicted_AB | 7.337 | 0.000 |
| predicted_AVG | 0.258 | 0.016 |
| predicted_BB | 0.967 | 0.019 |
| predicted_H | 1.893 | 0.084 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.236 | 0.010 |
| predicted_OBP | 0.344 | 0.018 |
| predicted_R | 1.372 | 0.104 |
| predicted_RBI | 1.054 | 0.080 |
| predicted_SLG | 0.435 | 0.021 |
| predicted_SO | 1.437 | -0.030 |
AB rounded to 7 (raw=7.34), rates preserved: AVG=0.258 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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.465 |
| predicted_3B | 0.000 | -0.062 |
| predicted_AB | 7.000 | -0.337 |
| predicted_AVG | 0.286 | 0.028 |
| predicted_BB | 1.000 | 0.033 |
| predicted_H | 2.000 | 0.107 |
| predicted_HR | 0.000 | -0.236 |
| predicted_OBP | 0.375 | 0.031 |
| predicted_R | 1.000 | -0.372 |
| predicted_RBI | 1.000 | -0.054 |
| predicted_SLG | 0.286 | -0.149 |
| predicted_SO | 1.000 | -0.437 |
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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 3.000 | 0.2632 | 0.3333 | 0.4737 | 0.2632 | 0.0526 | 0.1579 | 0.1053 | 0.1579 |
| last_10 | 0.20 | 7 | - | 42.000 | 9.000 | 1.000 | 0.000 | 1.000 | 3.000 | 6.000 | 2.000 | 8.000 | 0.2143 | 0.2500 | 0.3095 | 0.2143 | 0.0238 | 0.0714 | 0.0476 | 0.1905 |
| season | 0.60 | 59 | - | 898.000 | 228.000 | 63.000 | 10.000 | 22.000 | 122.000 | 173.000 | 129.000 | 190.000 | 0.2539 | 0.3468 | 0.4198 | 0.2539 | 0.0245 | 0.1359 | 0.1436 | 0.2116 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7120 |
| predicted_3B | 0.0870 |
| predicted_AB | 11.5650 |
| predicted_AVG | 0.2524 |
| predicted_BB | 1.4440 |
| predicted_H | 2.9180 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.3580 |
| predicted_OBP | 0.3343 |
| predicted_R | 1.9330 |
| predicted_RBI | 1.5600 |
| predicted_SLG | 0.4216 |
| predicted_SO | 2.2910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2700 | 0.7120 | 0.4653 | model_form_blend |
| predicted_3B | 0.0430 | 0.0870 | 0.0624 | model_form_blend |
| predicted_AB | 3.9900 | 11.5650 | 7.3367 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2524 | 0.2416 | model_form_blend |
| predicted_BB | 0.5540 | 1.4440 | 0.9472 | model_form_blend |
| predicted_H | 0.9300 | 2.9180 | 1.8083 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.1200 | 0.3580 | 0.2252 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3343 | 0.3263 | model_form_blend |
| predicted_R | 0.7420 | 1.9330 | 1.2682 | model_form_blend |
| predicted_RBI | 0.5100 | 1.5600 | 0.9739 | model_form_blend |
| predicted_SLG | 0.4070 | 0.4216 | 0.4135 | model_form_blend |
| predicted_SO | 0.8150 | 2.2910 | 1.4671 | 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 | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 233 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| 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.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| 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 | 6 |
| 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 | RF |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.331 |
| sl_xwoba | 0.331 |
| sl_xba | 0.253 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 40.5 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 23.3 |
| 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.237 | 1.000 | 1.000 | Hitting_2B | 0.237 | 1.000 | 0.763 | 0.000 |
| predicted_3B | 0.004 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.180 | 4.000 | 7.000 | Hitting_AB | 3.823 | 5.000 | 0.177 | -1.000 |
| predicted_AVG | 0.247 | 0.250 | 0.286 | Hitting_AVG | 0.312 | 0.200 | -0.062 | 0.050 |
| predicted_BB | 0.289 | 1.000 | 0.000 | Hitting_BB | 0.289 | 1.000 | 0.711 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 1.030 | 1.000 | 2.000 | Hitting_H | 1.194 | 1.000 | -0.194 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_OBP | 0.321 | 0.400 | 0.286 | Hitting_OBP | 0.361 | 0.333 | 0.039 | 0.067 |
| predicted_R | 0.685 | 1.000 | 1.000 | Hitting_R | 0.685 | 1.000 | 0.315 | 0.000 |
| predicted_RBI | 0.630 | 0.000 | 1.000 | Hitting_RBI | 0.957 | 0.000 | -0.957 | 0.000 |
| predicted_SLG | 0.484 | 0.500 | 0.429 | Hitting_SLG | 0.573 | 0.400 | -0.073 | 0.100 |
| predicted_SO | 0.780 | 1.000 | 1.000 | Hitting_SO | 0.780 | 1.000 | 0.220 | 0.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_2B: 0.2370 -> 1.0000 (boost 0.7630, better) |
| Biggest Deboost | predicted_RBI: 0.6300 -> 0.0000 (deboost -0.6300, 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 | 12 | 12 | 0 | 11 | 1 | predicted_AB: 4.1800 -> 7.2238 (boost 3.0438, 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 | 6 | 6 | 0 | 6 | 0 | predicted_RBI: 1.2809 -> 1.3862 (boost 0.1053, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 2 | 7 | 3 | 6 | predicted_2B: 0.5176 -> 1.0000 (boost 0.4824, better) | predicted_RBI: 1.3862 -> 1.0000 (deboost -0.3862, worse) | AB rounded to 7 (raw=7.22), rates preserved: AVG=0.290 HR/AB=0.051 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2985 -> 1.0000 (deboost -0.2985, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5327 -> 0.4290 (deboost -0.1037, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4290 -> 0.5327 (boost 0.1037, better) | - | 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.237,
"predicted_3B": 0.004,
"predicted_AB": 4.18,
"predicted_AVG": 0.247,
"predicted_BB": 0.289,
"predicted_H": 1.03,
"predicted_HR": 0.17,
"predicted_OBP": 0.321,
"predicted_R": 0.685,
"predicted_RBI": 0.63,
"predicted_SLG": 0.484,
"predicted_SO": 0.78
},
"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.5176,
"predicted_3B": 0.0658,
"predicted_AB": 7.2238,
"predicted_AVG": 0.2666,
"predicted_BB": 0.5357,
"predicted_H": 2.0003,
"predicted_HBP": 0.069,
"predicted_HR": 0.3522,
"predicted_OBP": 0.3291,
"predicted_R": 1.1999,
"predicted_RBI": 1.2809,
"predicted_SLG": 0.515,
"predicted_SO": 1.3647
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.237,
"after": 0.5176,
"delta": 0.2806,
"percent_delta": 1.184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.004,
"after": 0.0658,
"delta": 0.0618,
"percent_delta": 15.45,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.18,
"after": 7.2238,
"delta": 3.0438,
"percent_delta": 0.7282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2666,
"delta": 0.0196,
"percent_delta": 0.0794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 0.5357,
"delta": 0.2467,
"percent_delta": 0.8536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.0003,
"delta": 0.9703,
"percent_delta": 0.942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.3522,
"delta": 0.1822,
"percent_delta": 1.0718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3291,
"delta": 0.0081,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.685,
"after": 1.1999,
"delta": 0.5149,
"percent_delta": 0.7517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 1.2809,
"delta": 0.6509,
"percent_delta": 1.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.484,
"after": 0.515,
"delta": 0.031,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.78,
"after": 1.3647,
"delta": 0.5847,
"percent_delta": 0.7496,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 12,
"deboosted_metrics": 0,
"better_metrics": 11,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.18,
"after": 7.2238,
"delta": 3.0438,
"percent_delta": 0.7282,
"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": 62
}
},
{
"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.5176,
"predicted_3B": 0.0658,
"predicted_AB": 7.2238,
"predicted_AVG": 0.2898,
"predicted_BB": 0.5467,
"predicted_H": 2.0937,
"predicted_HBP": 0.069,
"predicted_HR": 0.3685,
"predicted_OBP": 0.3398,
"predicted_R": 1.2985,
"predicted_RBI": 1.3862,
"predicted_SLG": 0.5327,
"predicted_SO": 1.3366
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5176,
"after": 0.5176,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0658,
"after": 0.0658,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.2238,
"after": 7.2238,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2666,
"after": 0.2898,
"delta": 0.0232,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5357,
"after": 0.5467,
"delta": 0.011,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0003,
"after": 2.0937,
"delta": 0.0934,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.069,
"after": 0.069,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3522,
"after": 0.3685,
"delta": 0.0163,
"percent_delta": 0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3291,
"after": 0.3398,
"delta": 0.0107,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1999,
"after": 1.2985,
"delta": 0.0986,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2809,
"after": 1.3862,
"delta": 0.1053,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.515,
"after": 0.5327,
"delta": 0.0177,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3647,
"after": 1.3366,
"delta": -0.0281,
"percent_delta": -0.0206,
"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_RBI",
"before": 1.2809,
"after": 1.3862,
"delta": 0.1053,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.22), rates preserved: AVG=0.290 HR/AB=0.051",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.5176,
"after": 1.0,
"delta": 0.4824,
"percent_delta": 0.932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0658,
"after": 0.0,
"delta": -0.0658,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.2238,
"after": 7.0,
"delta": -0.2238,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5467,
"after": 1.0,
"delta": 0.4533,
"percent_delta": 0.8292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0937,
"after": 2.0,
"delta": -0.0937,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3685,
"after": 0.0,
"delta": -0.3685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3862,
"after": 1.0,
"delta": -0.3862,
"percent_delta": -0.2786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3366,
"after": 1.0,
"delta": -0.3366,
"percent_delta": -0.2518,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.5176,
"after": 1.0,
"delta": 0.4824,
"percent_delta": 0.932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.3862,
"after": 1.0,
"delta": -0.3862,
"percent_delta": -0.2786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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": 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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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": 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": 7.0,
"after": 7.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": 1.2985,
"after": 1.0,
"delta": -0.2985,
"percent_delta": -0.2299,
"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": 1.2985,
"after": 1.0,
"delta": -0.2985,
"percent_delta": -0.2299,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.429,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2898,
"after": 0.286,
"delta": -0.0038,
"percent_delta": -0.0131,
"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_OBP",
"before": 0.3398,
"after": 0.286,
"delta": -0.0538,
"percent_delta": -0.1583,
"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.5327,
"after": 0.429,
"delta": -0.1037,
"percent_delta": -0.1947,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5327,
"after": 0.429,
"delta": -0.1037,
"percent_delta": -0.1947,
"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": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2898,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3398,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5327,
"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": 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.286,
"after": 0.2898,
"delta": 0.0038,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.286,
"after": 0.3398,
"delta": 0.0538,
"percent_delta": 0.1881,
"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.429,
"after": 0.5327,
"delta": 0.1037,
"percent_delta": 0.2418,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.5327,
"delta": 0.1037,
"percent_delta": 0.2418,
"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.237,
"after": 1.0,
"delta": 0.763,
"percent_delta": 3.2194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.18,
"after": 4.0,
"delta": -0.18,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2898,
"delta": 0.0428,
"percent_delta": 0.1733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 1.0,
"delta": 0.711,
"percent_delta": 2.4602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0,
"delta": -0.03,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3398,
"delta": 0.0188,
"percent_delta": 0.0586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.685,
"after": 1.0,
"delta": 0.315,
"percent_delta": 0.4599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.484,
"after": 0.5327,
"delta": 0.0487,
"percent_delta": 0.1006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.78,
"after": 1.0,
"delta": 0.22,
"percent_delta": 0.2821,
"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_2B",
"before": 0.237,
"after": 1.0,
"delta": 0.763,
"percent_delta": 3.2194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"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.237 | - |
| predicted_3B | 0.004 | - |
| predicted_AB | 4.180 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.289 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.685 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.484 | - |
| predicted_SO | 0.780 | - |
Final model 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.518 | 0.281 |
| predicted_3B | 0.066 | 0.062 |
| predicted_AB | 7.224 | 3.044 |
| predicted_AVG | 0.267 | 0.020 |
| predicted_BB | 0.536 | 0.247 |
| predicted_H | 2.000 | 0.970 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.352 | 0.182 |
| predicted_OBP | 0.329 | 0.008 |
| predicted_R | 1.200 | 0.515 |
| predicted_RBI | 1.281 | 0.651 |
| predicted_SLG | 0.515 | 0.031 |
| predicted_SO | 1.365 | 0.585 |
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.518 | 0.000 |
| predicted_3B | 0.066 | 0.000 |
| predicted_AB | 7.224 | 0.000 |
| predicted_AVG | 0.290 | 0.023 |
| predicted_BB | 0.547 | 0.011 |
| predicted_H | 2.094 | 0.093 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.368 | 0.016 |
| predicted_OBP | 0.340 | 0.011 |
| predicted_R | 1.298 | 0.099 |
| predicted_RBI | 1.386 | 0.105 |
| predicted_SLG | 0.533 | 0.018 |
| predicted_SO | 1.337 | -0.028 |
AB rounded to 7 (raw=7.22), rates preserved: AVG=0.290 HR/AB=0.051
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.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=9.0, weight=0.092, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | -1.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 | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.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 | 1.000 | 0.482 |
| predicted_3B | 0.000 | -0.066 |
| predicted_AB | 7.000 | -0.224 |
| predicted_AVG | 0.286 | -0.004 |
| predicted_BB | 0.000 | -0.547 |
| predicted_H | 2.000 | -0.094 |
| predicted_HR | 0.000 | -0.368 |
| predicted_OBP | 0.286 | -0.054 |
| predicted_R | 1.000 | -0.298 |
| predicted_RBI | 1.000 | -0.386 |
| predicted_SLG | 0.429 | -0.104 |
| predicted_SO | 1.000 | -0.337 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.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 | 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 | - | 22.000 | 5.000 | 3.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 4.000 | 0.2273 | 0.2800 | 0.4545 | 0.2273 | 0.0000 | 0.0454 | 0.0909 | 0.1818 |
| last_10 | 0.20 | 7 | - | 42.000 | 13.000 | 3.000 | 1.000 | 4.000 | 5.000 | 7.000 | 2.000 | 4.000 | 0.3095 | 0.3333 | 0.7143 | 0.3095 | 0.0952 | 0.1191 | 0.0476 | 0.0952 |
| season | 0.60 | 62 | - | 887.000 | 277.000 | 55.000 | 1.000 | 58.000 | 222.000 | 159.000 | 67.000 | 181.000 | 0.3123 | 0.3610 | 0.5727 | 0.3123 | 0.0654 | 0.2503 | 0.0755 | 0.2041 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8730 |
| predicted_3B | 0.1440 |
| predicted_AB | 11.0780 |
| predicted_AVG | 0.2915 |
| predicted_BB | 0.8480 |
| predicted_H | 3.2290 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.5830 |
| predicted_OBP | 0.3393 |
| predicted_R | 1.8520 |
| predicted_RBI | 2.1050 |
| predicted_SLG | 0.5542 |
| predicted_SO | 2.1050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2370 | 0.8730 | 0.5176 | model_form_blend |
| predicted_3B | 0.0040 | 0.1440 | 0.0658 | model_form_blend |
| predicted_AB | 4.1800 | 11.0780 | 7.2238 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2915 | 0.2666 | model_form_blend |
| predicted_BB | 0.2890 | 0.8480 | 0.5357 | model_form_blend |
| predicted_H | 1.0300 | 3.2290 | 2.0003 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.1700 | 0.5830 | 0.3522 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3393 | 0.3291 | model_form_blend |
| predicted_R | 0.6850 | 1.8520 | 1.1999 | model_form_blend |
| predicted_RBI | 0.6300 | 2.1050 | 1.2809 | model_form_blend |
| predicted_SLG | 0.4840 | 0.5542 | 0.5150 | model_form_blend |
| predicted_SO | 0.7800 | 2.1050 | 1.3647 | 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 | 232 |
| Season rows before report date | 232 |
| Report year | 2026 |
| Profile rows used | 232 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.312 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.7 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.374 |
| sl_xwoba | 0.351 |
| sl_xba | 0.281 |
| sl_xslg | 0.481 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 50.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.262 | 0.000 | 0.000 | Hitting_2B | 0.262 | 0.000 | -0.262 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 4.320 | 5.000 | 7.000 | Hitting_AB | 3.781 | 6.000 | 1.219 | -1.000 |
| predicted_AVG | 0.248 | 0.400 | 0.286 | Hitting_AVG | 0.271 | 0.333 | 0.129 | 0.067 |
| predicted_BB | 0.584 | 0.000 | 1.000 | Hitting_BB | 0.584 | 0.000 | -0.584 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.070 | 2.000 | 2.000 | Hitting_H | 1.026 | 2.000 | 0.974 | 0.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_OBP | 0.334 | 0.400 | 0.375 | Hitting_OBP | 0.369 | 0.333 | 0.031 | 0.067 |
| predicted_R | 0.545 | 1.000 | 1.000 | Hitting_R | 0.545 | 1.000 | 0.455 | 0.000 |
| predicted_RBI | 0.740 | 0.000 | 1.000 | Hitting_RBI | 0.545 | 2.000 | -0.545 | -2.000 |
| predicted_SLG | 0.454 | 0.400 | 0.286 | Hitting_SLG | 0.459 | 0.333 | -0.059 | 0.067 |
| predicted_SO | 0.747 | 1.000 | 1.000 | Hitting_SO | 0.747 | 1.000 | 0.253 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.0700 -> 2.0000 (boost 0.9300, better) |
| Biggest Deboost | predicted_RBI: 0.7400 -> 0.0000 (deboost -0.7400, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.3200 -> 7.4933 (boost 3.1733, 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 | 6 | 6 | 0 | 6 | 0 | predicted_RBI: 1.4026 -> 1.5179 (boost 0.1153, better) | - | 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_BB: 0.8747 -> 1.0000 (boost 0.1253, better) | predicted_RBI: 1.5179 -> 1.0000 (deboost -0.5179, worse) | AB rounded to 7 (raw=7.49), rates preserved: AVG=0.290 HR/AB=0.048 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1324 -> 1.0000 (deboost -0.1324, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3641 -> 0.3750 (boost 0.0109, better) | predicted_SLG: 0.4917 -> 0.2860 (deboost -0.2057, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 7.0000 -> 5.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2860 -> 0.4917 (boost 0.2057, better) | predicted_OBP: 0.3750 -> 0.3641 (deboost -0.0109, worse) | 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.262,
"predicted_3B": 0.017,
"predicted_AB": 4.32,
"predicted_AVG": 0.248,
"predicted_BB": 0.584,
"predicted_H": 1.07,
"predicted_HR": 0.18,
"predicted_OBP": 0.334,
"predicted_R": 0.545,
"predicted_RBI": 0.74,
"predicted_SLG": 0.454,
"predicted_SO": 0.747
},
"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.3866,
"predicted_3B": 0.0254,
"predicted_AB": 7.4933,
"predicted_AVG": 0.2669,
"predicted_BB": 0.857,
"predicted_H": 2.0749,
"predicted_HBP": 0.046,
"predicted_HR": 0.3426,
"predicted_OBP": 0.3444,
"predicted_R": 1.0464,
"predicted_RBI": 1.4026,
"predicted_SLG": 0.4687,
"predicted_SO": 1.4838
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.262,
"after": 0.3866,
"delta": 0.1246,
"percent_delta": 0.4756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0254,
"delta": 0.0084,
"percent_delta": 0.4941,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 7.4933,
"delta": 3.1733,
"percent_delta": 0.7346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2669,
"delta": 0.0189,
"percent_delta": 0.0762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.584,
"after": 0.857,
"delta": 0.273,
"percent_delta": 0.4675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 2.0749,
"delta": 1.0049,
"percent_delta": 0.9392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.3426,
"delta": 0.1626,
"percent_delta": 0.9033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3444,
"delta": 0.0104,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.545,
"after": 1.0464,
"delta": 0.5014,
"percent_delta": 0.92,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 1.4026,
"delta": 0.6626,
"percent_delta": 0.8954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4687,
"delta": 0.0147,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.747,
"after": 1.4838,
"delta": 0.7368,
"percent_delta": 0.9863,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.32,
"after": 7.4933,
"delta": 3.1733,
"percent_delta": 0.7346,
"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": 59
}
},
{
"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.3866,
"predicted_3B": 0.0254,
"predicted_AB": 7.4933,
"predicted_AVG": 0.2898,
"predicted_BB": 0.8747,
"predicted_H": 2.1718,
"predicted_HBP": 0.046,
"predicted_HR": 0.3584,
"predicted_OBP": 0.3641,
"predicted_R": 1.1324,
"predicted_RBI": 1.5179,
"predicted_SLG": 0.4917,
"predicted_SO": 1.4532
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3866,
"after": 0.3866,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0254,
"after": 0.0254,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.4933,
"after": 7.4933,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2669,
"after": 0.2898,
"delta": 0.0229,
"percent_delta": 0.0858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.857,
"after": 0.8747,
"delta": 0.0177,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0749,
"after": 2.1718,
"delta": 0.0969,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.046,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3426,
"after": 0.3584,
"delta": 0.0158,
"percent_delta": 0.0461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3444,
"after": 0.3641,
"delta": 0.0197,
"percent_delta": 0.0572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0464,
"after": 1.1324,
"delta": 0.086,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4026,
"after": 1.5179,
"delta": 0.1153,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4687,
"after": 0.4917,
"delta": 0.023,
"percent_delta": 0.0491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4838,
"after": 1.4532,
"delta": -0.0306,
"percent_delta": -0.0206,
"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_RBI",
"before": 1.4026,
"after": 1.5179,
"delta": 0.1153,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.49), rates preserved: AVG=0.290 HR/AB=0.048",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.3866,
"after": 0.0,
"delta": -0.3866,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0254,
"after": 0.0,
"delta": -0.0254,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.4933,
"after": 7.0,
"delta": -0.4933,
"percent_delta": -0.0658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8747,
"after": 1.0,
"delta": 0.1253,
"percent_delta": 0.1432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1718,
"after": 2.0,
"delta": -0.1718,
"percent_delta": -0.0791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3584,
"after": 0.0,
"delta": -0.3584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5179,
"after": 1.0,
"delta": -0.5179,
"percent_delta": -0.3412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4532,
"after": 1.0,
"delta": -0.4532,
"percent_delta": -0.3119,
"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_BB",
"before": 0.8747,
"after": 1.0,
"delta": 0.1253,
"percent_delta": 0.1432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.5179,
"after": 1.0,
"delta": -0.5179,
"percent_delta": -0.3412,
"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.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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": 1.1324,
"after": 1.0,
"delta": -0.1324,
"percent_delta": -0.1169,
"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": 1.1324,
"after": 1.0,
"delta": -0.1324,
"percent_delta": -0.1169,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2898,
"after": 0.286,
"delta": -0.0038,
"percent_delta": -0.0131,
"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": 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.3641,
"after": 0.375,
"delta": 0.0109,
"percent_delta": 0.0299,
"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.4917,
"after": 0.286,
"delta": -0.2057,
"percent_delta": -0.4183,
"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_OBP",
"before": 0.3641,
"after": 0.375,
"delta": 0.0109,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4917,
"after": 0.286,
"delta": -0.2057,
"percent_delta": -0.4183,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"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.2898,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3641,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4917,
"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.286,
"after": 0.2898,
"delta": 0.0038,
"percent_delta": 0.0134,
"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": 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.375,
"after": 0.3641,
"delta": -0.0109,
"percent_delta": -0.0292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4917,
"delta": 0.2057,
"percent_delta": 0.7192,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4917,
"delta": 0.2057,
"percent_delta": 0.7192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3641,
"delta": -0.0109,
"percent_delta": -0.0292,
"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.262,
"after": 0.0,
"delta": -0.262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 5.0,
"delta": 0.68,
"percent_delta": 0.1574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2898,
"delta": 0.0418,
"percent_delta": 0.1685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.584,
"after": 0.0,
"delta": -0.584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 2.0,
"delta": 0.93,
"percent_delta": 0.8692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3641,
"delta": 0.0301,
"percent_delta": 0.0901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.545,
"after": 1.0,
"delta": 0.455,
"percent_delta": 0.8349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4917,
"delta": 0.0377,
"percent_delta": 0.083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.747,
"after": 1.0,
"delta": 0.253,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.07,
"after": 2.0,
"delta": 0.93,
"percent_delta": 0.8692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"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.262 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 4.320 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.584 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.545 | - |
| predicted_RBI | 0.740 | - |
| predicted_SLG | 0.454 | - |
| predicted_SO | 0.747 | - |
Final model 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.387 | 0.125 |
| predicted_3B | 0.025 | 0.008 |
| predicted_AB | 7.493 | 3.173 |
| predicted_AVG | 0.267 | 0.019 |
| predicted_BB | 0.857 | 0.273 |
| predicted_H | 2.075 | 1.005 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.343 | 0.163 |
| predicted_OBP | 0.344 | 0.010 |
| predicted_R | 1.046 | 0.501 |
| predicted_RBI | 1.403 | 0.663 |
| predicted_SLG | 0.469 | 0.015 |
| predicted_SO | 1.484 | 0.737 |
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.387 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 7.493 | 0.000 |
| predicted_AVG | 0.290 | 0.023 |
| predicted_BB | 0.875 | 0.018 |
| predicted_H | 2.172 | 0.097 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.358 | 0.016 |
| predicted_OBP | 0.364 | 0.020 |
| predicted_R | 1.132 | 0.086 |
| predicted_RBI | 1.518 | 0.115 |
| predicted_SLG | 0.492 | 0.023 |
| predicted_SO | 1.453 | -0.031 |
AB rounded to 7 (raw=7.49), rates preserved: AVG=0.290 HR/AB=0.048
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.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=12.0, weight=0.114, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 7.000 | 0.000 |
| BB | 1.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.387 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 7.000 | -0.493 |
| predicted_AVG | 0.286 | -0.004 |
| predicted_BB | 1.000 | 0.125 |
| predicted_H | 2.000 | -0.172 |
| predicted_HR | 0.000 | -0.358 |
| predicted_OBP | 0.375 | 0.011 |
| predicted_R | 1.000 | -0.132 |
| predicted_RBI | 1.000 | -0.518 |
| predicted_SLG | 0.286 | -0.206 |
| predicted_SO | 1.000 | -0.453 |
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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.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 | 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 | - | 22.000 | 7.000 | 0.000 | 0.000 | 1.000 | 7.000 | 3.000 | 0.000 | 6.000 | 0.3182 | 0.3182 | 0.4545 | 0.3182 | 0.0454 | 0.3182 | 0.0000 | 0.2727 |
| last_10 | 0.20 | 7 | - | 42.000 | 16.000 | 0.000 | 0.000 | 6.000 | 12.000 | 8.000 | 0.000 | 6.000 | 0.3810 | 0.3810 | 0.8095 | 0.3810 | 0.1429 | 0.2857 | 0.0000 | 0.1429 |
| season | 0.60 | 59 | - | 881.000 | 239.000 | 61.000 | 4.000 | 32.000 | 127.000 | 127.000 | 136.000 | 174.000 | 0.2713 | 0.3693 | 0.4586 | 0.2713 | 0.0363 | 0.1442 | 0.1544 | 0.1975 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5440 |
| predicted_3B | 0.0360 |
| predicted_AB | 11.5040 |
| predicted_AVG | 0.2908 |
| predicted_BB | 1.2020 |
| predicted_H | 3.3450 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.5480 |
| predicted_OBP | 0.3575 |
| predicted_R | 1.6800 |
| predicted_RBI | 2.2400 |
| predicted_SLG | 0.4873 |
| predicted_SO | 2.4150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2620 | 0.5440 | 0.3866 | model_form_blend |
| predicted_3B | 0.0170 | 0.0360 | 0.0254 | model_form_blend |
| predicted_AB | 4.3200 | 11.5040 | 7.4933 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2908 | 0.2669 | model_form_blend |
| predicted_BB | 0.5840 | 1.2020 | 0.8570 | model_form_blend |
| predicted_H | 1.0700 | 3.3450 | 2.0749 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.1800 | 0.5480 | 0.3426 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3575 | 0.3444 | model_form_blend |
| predicted_R | 0.5450 | 1.6800 | 1.0464 | model_form_blend |
| predicted_RBI | 0.7400 | 2.2400 | 1.4026 | model_form_blend |
| predicted_SLG | 0.4540 | 0.4873 | 0.4687 | model_form_blend |
| predicted_SO | 0.7470 | 2.4150 | 1.4838 | 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 | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 233 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| 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 | 6 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-03 |
| sl_k_percent | 17.0 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.363 |
| sl_xwoba | 0.371 |
| sl_xba | 0.276 |
| sl_xslg | 0.493 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 46.2 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 48.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.062 | 0.000 | 0.000 | Hitting_2B | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.600 | 5.000 | 8.000 | Hitting_AB | 4.235 | 5.000 | 0.765 | 0.000 |
| predicted_AVG | 0.215 | 0.200 | 0.250 | Hitting_AVG | 0.181 | 0.000 | 0.019 | 0.200 |
| predicted_BB | 0.216 | 0.000 | 1.000 | Hitting_BB | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.990 | 1.000 | 2.000 | Hitting_H | 0.765 | 0.000 | 0.235 | 1.000 |
| predicted_HR | 0.160 | 1.000 | 0.000 | Hitting_HR | 0.296 | 0.000 | 0.704 | 1.000 |
| predicted_OBP | 0.288 | 0.200 | 0.333 | Hitting_OBP | 0.229 | 0.000 | -0.029 | 0.200 |
| predicted_R | 0.619 | 1.000 | 1.000 | Hitting_R | 0.622 | 1.000 | 0.378 | 0.000 |
| predicted_RBI | 0.590 | 2.000 | 1.000 | Hitting_RBI | 0.745 | 0.000 | 1.255 | 2.000 |
| predicted_SLG | 0.382 | 0.800 | 0.250 | Hitting_SLG | 0.405 | 0.000 | 0.395 | 0.800 |
| predicted_SO | 0.619 | 1.000 | 1.000 | Hitting_SO | 0.612 | 1.000 | 0.388 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.5900 -> 2.0000 (boost 1.4100, better) |
| Biggest Deboost | predicted_BB: 0.2160 -> 0.0000 (deboost -0.2160, 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 | 11 | 8 | 3 | 7 | 4 | predicted_AB: 4.6000 -> 7.5291 (boost 2.9291, better) | predicted_OBP: 0.2880 -> 0.2738 (deboost -0.0142, 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_RBI: 1.0543 -> 1.1410 (boost 0.0867, better) | predicted_OBP: 0.2738 -> 0.2613 (deboost -0.0125, 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 | 4 | 4 | predicted_BB: 0.5050 -> 1.0000 (boost 0.4950, better) | predicted_HR: 0.3358 -> 0.0000 (deboost -0.3358, worse) | AB rounded to 8 (raw=7.53), rates preserved: AVG=0.212 HR/AB=0.045 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0514 -> 1.0000 (deboost -0.0514, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2613 -> 0.3330 (boost 0.0717, better) | predicted_SLG: 0.3670 -> 0.2500 (deboost -0.1170, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 2 | 3 | 2 | 3 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 5.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3670 (boost 0.1170, better) | predicted_OBP: 0.3330 -> 0.2613 (deboost -0.0717, worse) | 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.062,
"predicted_3B": 0.0,
"predicted_AB": 4.6,
"predicted_AVG": 0.215,
"predicted_BB": 0.216,
"predicted_H": 0.99,
"predicted_HR": 0.16,
"predicted_OBP": 0.288,
"predicted_R": 0.619,
"predicted_RBI": 0.59,
"predicted_SLG": 0.382,
"predicted_SO": 0.619
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1591,
"predicted_3B": 0.0013,
"predicted_AB": 7.5291,
"predicted_AVG": 0.2065,
"predicted_BB": 0.4948,
"predicted_H": 1.5229,
"predicted_HBP": 0.094,
"predicted_HR": 0.321,
"predicted_OBP": 0.2738,
"predicted_R": 0.9715,
"predicted_RBI": 1.0543,
"predicted_SLG": 0.3731,
"predicted_SO": 1.117
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.062,
"after": 0.1591,
"delta": 0.0971,
"percent_delta": 1.5661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6,
"after": 7.5291,
"delta": 2.9291,
"percent_delta": 0.6368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2065,
"delta": -0.0085,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.216,
"after": 0.4948,
"delta": 0.2788,
"percent_delta": 1.2907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.5229,
"delta": 0.5329,
"percent_delta": 0.5383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.321,
"delta": 0.161,
"percent_delta": 1.0063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2738,
"delta": -0.0142,
"percent_delta": -0.0493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.619,
"after": 0.9715,
"delta": 0.3525,
"percent_delta": 0.5695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 1.0543,
"delta": 0.4643,
"percent_delta": 0.7869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3731,
"delta": -0.0089,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.619,
"after": 1.117,
"delta": 0.498,
"percent_delta": 0.8045,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.6,
"after": 7.5291,
"delta": 2.9291,
"percent_delta": 0.6368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2738,
"delta": -0.0142,
"percent_delta": -0.0493,
"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": 7,
"season": 27
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1591,
"predicted_3B": 0.0013,
"predicted_AB": 7.5291,
"predicted_AVG": 0.2117,
"predicted_BB": 0.505,
"predicted_H": 1.594,
"predicted_HBP": 0.094,
"predicted_HR": 0.3358,
"predicted_OBP": 0.2613,
"predicted_R": 1.0514,
"predicted_RBI": 1.141,
"predicted_SLG": 0.367,
"predicted_SO": 1.094
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1591,
"after": 0.1591,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.5291,
"after": 7.5291,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2065,
"after": 0.2117,
"delta": 0.0052,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4948,
"after": 0.505,
"delta": 0.0102,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5229,
"after": 1.594,
"delta": 0.0711,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.321,
"after": 0.3358,
"delta": 0.0148,
"percent_delta": 0.0461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2738,
"after": 0.2613,
"delta": -0.0125,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9715,
"after": 1.0514,
"delta": 0.0799,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0543,
"after": 1.141,
"delta": 0.0867,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3731,
"after": 0.367,
"delta": -0.0061,
"percent_delta": -0.0163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.117,
"after": 1.094,
"delta": -0.023,
"percent_delta": -0.0206,
"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_RBI",
"before": 1.0543,
"after": 1.141,
"delta": 0.0867,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2738,
"after": 0.2613,
"delta": -0.0125,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.53), rates preserved: AVG=0.212 HR/AB=0.045",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.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.1591,
"after": 0.0,
"delta": -0.1591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.5291,
"after": 8.0,
"delta": 0.4709,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.505,
"after": 1.0,
"delta": 0.495,
"percent_delta": 0.9802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.594,
"after": 2.0,
"delta": 0.406,
"percent_delta": 0.2547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3358,
"after": 0.0,
"delta": -0.3358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.141,
"after": 1.0,
"delta": -0.141,
"percent_delta": -0.1236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.094,
"after": 1.0,
"delta": -0.094,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.505,
"after": 1.0,
"delta": 0.495,
"percent_delta": 0.9802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3358,
"after": 0.0,
"delta": -0.3358,
"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=10.0, weight=0.100, BvP AVG=0.300)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.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": 8.0,
"after": 8.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": 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.9,
"bvp": 0.1
},
"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": 8.0,
"predicted_BB": 1.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": 8.0,
"after": 8.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": 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": 1.0514,
"after": 1.0,
"delta": -0.0514,
"percent_delta": -0.0489,
"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": 1.0514,
"after": 1.0,
"delta": -0.0514,
"percent_delta": -0.0489,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2117,
"after": 0.25,
"delta": 0.0383,
"percent_delta": 0.1809,
"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": 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.2613,
"after": 0.333,
"delta": 0.0717,
"percent_delta": 0.2744,
"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.367,
"after": 0.25,
"delta": -0.117,
"percent_delta": -0.3188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2613,
"after": 0.333,
"delta": 0.0717,
"percent_delta": 0.2744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.25,
"delta": -0.117,
"percent_delta": -0.3188,
"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": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.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": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"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.2117,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2613,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.367,
"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": 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.2117,
"delta": -0.0383,
"percent_delta": -0.1531,
"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.2613,
"delta": -0.0717,
"percent_delta": -0.2154,
"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.25,
"after": 0.367,
"delta": 0.117,
"percent_delta": 0.468,
"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.25,
"after": 0.367,
"delta": 0.117,
"percent_delta": 0.468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2613,
"delta": -0.0717,
"percent_delta": -0.2154,
"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.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6,
"after": 5.0,
"delta": 0.4,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2117,
"delta": -0.0033,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.216,
"after": 0.0,
"delta": -0.216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0,
"delta": 0.01,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2613,
"delta": -0.0267,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.619,
"after": 1.0,
"delta": 0.381,
"percent_delta": 0.6155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.367,
"delta": -0.015,
"percent_delta": -0.0393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.619,
"after": 1.0,
"delta": 0.381,
"percent_delta": 0.6155,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.216,
"after": 0.0,
"delta": -0.216,
"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.062 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.600 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.216 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.619 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.382 | - |
| predicted_SO | 0.619 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.097 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.529 | 2.929 |
| predicted_AVG | 0.206 | -0.009 |
| predicted_BB | 0.495 | 0.279 |
| predicted_H | 1.523 | 0.533 |
| predicted_HBP | 0.094 | - |
| predicted_HR | 0.321 | 0.161 |
| predicted_OBP | 0.274 | -0.014 |
| predicted_R | 0.972 | 0.353 |
| predicted_RBI | 1.054 | 0.464 |
| predicted_SLG | 0.373 | -0.009 |
| predicted_SO | 1.117 | 0.498 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.529 | 0.000 |
| predicted_AVG | 0.212 | 0.005 |
| predicted_BB | 0.505 | 0.010 |
| predicted_H | 1.594 | 0.071 |
| predicted_HBP | 0.094 | 0.000 |
| predicted_HR | 0.336 | 0.015 |
| predicted_OBP | 0.261 | -0.013 |
| predicted_R | 1.051 | 0.080 |
| predicted_RBI | 1.141 | 0.087 |
| predicted_SLG | 0.367 | -0.006 |
| predicted_SO | 1.094 | -0.023 |
AB rounded to 8 (raw=7.53), rates preserved: AVG=0.212 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.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=10.0, weight=0.100, BvP AVG=0.300)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 8.000 | 0.000 |
| BB | 1.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.159 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.471 |
| predicted_AVG | 0.250 | 0.038 |
| predicted_BB | 1.000 | 0.495 |
| predicted_H | 2.000 | 0.406 |
| predicted_HR | 0.000 | -0.336 |
| predicted_OBP | 0.333 | 0.072 |
| predicted_R | 1.000 | -0.051 |
| predicted_RBI | 1.000 | -0.141 |
| predicted_SLG | 0.250 | -0.117 |
| predicted_SO | 1.000 | -0.094 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 3.000 | 0.2500 | 0.3478 | 0.3000 | 0.2500 | 0.0000 | 0.1000 | 0.1500 | 0.1500 |
| last_10 | 0.20 | 7 | - | 39.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 8.000 | 0.1282 | 0.1905 | 0.1538 | 0.1282 | 0.0000 | 0.0513 | 0.0769 | 0.2051 |
| season | 0.60 | 27 | - | 415.000 | 75.000 | 6.000 | 0.000 | 29.000 | 73.000 | 60.000 | 21.000 | 60.000 | 0.1807 | 0.2270 | 0.4048 | 0.1807 | 0.0699 | 0.1759 | 0.0506 | 0.1446 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2870 |
| predicted_3B | 0.0030 |
| predicted_AB | 11.3880 |
| predicted_AVG | 0.1954 |
| predicted_BB | 0.8620 |
| predicted_H | 2.2250 |
| predicted_HBP | 0.0940 |
| predicted_HR | 0.5330 |
| predicted_OBP | 0.2551 |
| predicted_R | 1.4360 |
| predicted_RBI | 1.6660 |
| predicted_SLG | 0.3613 |
| predicted_SO | 1.7730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0620 | 0.2870 | 0.1591 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 4.6000 | 11.3880 | 7.5291 | model_form_blend |
| predicted_AVG | 0.2150 | 0.1954 | 0.2065 | model_form_blend |
| predicted_BB | 0.2160 | 0.8620 | 0.4948 | model_form_blend |
| predicted_H | 0.9900 | 2.2250 | 1.5229 | model_form_blend |
| predicted_HBP | - | 0.0940 | 0.0940 | form_only |
| predicted_HR | 0.1600 | 0.5330 | 0.3210 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2551 | 0.2738 | model_form_blend |
| predicted_R | 0.6190 | 1.4360 | 0.9715 | model_form_blend |
| predicted_RBI | 0.5900 | 1.6660 | 1.0543 | model_form_blend |
| predicted_SLG | 0.3820 | 0.3613 | 0.3731 | model_form_blend |
| predicted_SO | 0.6190 | 1.7730 | 1.1170 | 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 | 98 |
| Season rows before report date | 98 |
| Report year | 2026 |
| Profile rows used | 97 |
| 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 | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.181 |
| 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-03 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.279 |
| sl_xwoba | 0.323 |
| sl_xba | 0.26 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 36.5 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 18.8 |
| sl_whiff_percent | 13.5 |
| sl_swing_percent | 41.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.096 | 0.000 | 0.000 | Hitting_2B | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.746 | 3.000 | 7.000 | Hitting_AB | 3.704 | 4.000 | -0.704 | -1.000 |
| predicted_AVG | 0.243 | 0.000 | 0.286 | Hitting_AVG | 0.256 | 0.250 | -0.256 | -0.250 |
| predicted_BB | 0.412 | 0.000 | 1.000 | Hitting_BB | 0.419 | 1.000 | -0.419 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.860 | 0.000 | 2.000 | Hitting_H | 0.950 | 1.000 | -0.950 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_OBP | 0.336 | 0.250 | 0.375 | Hitting_OBP | 0.335 | 0.400 | -0.085 | -0.150 |
| predicted_R | 0.531 | 0.000 | 1.000 | Hitting_R | 0.525 | 1.000 | -0.525 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.553 | 0.000 | -0.553 | 0.000 |
| predicted_SLG | 0.421 | 0.000 | 0.286 | Hitting_SLG | 0.382 | 0.250 | -0.382 | -0.250 |
| predicted_SO | 0.695 | 0.000 | 1.000 | Hitting_SO | 0.687 | 0.000 | -0.687 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AVG: 0.2430 -> 0.2664 (boost 0.0234, better) |
| Biggest Deboost | predicted_H: 0.8600 -> 0.0000 (deboost -0.8600, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.7460 -> 6.7309 (boost 2.9849, 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 | 6 | 6 | 0 | 6 | 0 | predicted_R: 1.0493 -> 1.1356 (boost 0.0863, 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 | 4 | 3 | predicted_AB: 6.7309 -> 7.0000 (boost 0.2691, better) | predicted_HR: 0.3094 -> 0.0000 (deboost -0.3094, worse) | AB rounded to 7 (raw=6.73), rates preserved: AVG=0.266 HR/AB=0.046 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1356 -> 1.0000 (deboost -0.1356, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2664 -> 0.2860 (boost 0.0196, better) | predicted_SLG: 0.4396 -> 0.2860 (deboost -0.1536, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 1 | 6 | 2 | 5 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4396 (boost 0.1536, better) | predicted_AVG: 0.2860 -> 0.2664 (deboost -0.0196, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669257",
"player_name": "Will Smith",
"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.096,
"predicted_3B": 0.0,
"predicted_AB": 3.746,
"predicted_AVG": 0.243,
"predicted_BB": 0.412,
"predicted_H": 0.86,
"predicted_HR": 0.15,
"predicted_OBP": 0.336,
"predicted_R": 0.531,
"predicted_RBI": 0.44,
"predicted_SLG": 0.421,
"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.2364,
"predicted_3B": 0.0009,
"predicted_AB": 6.7309,
"predicted_AVG": 0.253,
"predicted_BB": 0.936,
"predicted_H": 1.7128,
"predicted_HBP": 0.163,
"predicted_HR": 0.2957,
"predicted_OBP": 0.3481,
"predicted_R": 1.0493,
"predicted_RBI": 0.8666,
"predicted_SLG": 0.4304,
"predicted_SO": 1.3309
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.096,
"after": 0.2364,
"delta": 0.1404,
"percent_delta": 1.4625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.746,
"after": 6.7309,
"delta": 2.9849,
"percent_delta": 0.7968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.253,
"delta": 0.01,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.936,
"delta": 0.524,
"percent_delta": 1.2718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.7128,
"delta": 0.8528,
"percent_delta": 0.9916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.2957,
"delta": 0.1457,
"percent_delta": 0.9713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3481,
"delta": 0.0121,
"percent_delta": 0.036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.531,
"after": 1.0493,
"delta": 0.5183,
"percent_delta": 0.9761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.8666,
"delta": 0.4266,
"percent_delta": 0.9695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4304,
"delta": 0.0094,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.695,
"after": 1.3309,
"delta": 0.6359,
"percent_delta": 0.915,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.746,
"after": 6.7309,
"delta": 2.9849,
"percent_delta": 0.7968,
"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": 6,
"season": 48
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2364,
"predicted_3B": 0.0009,
"predicted_AB": 6.7309,
"predicted_AVG": 0.2664,
"predicted_BB": 0.9553,
"predicted_H": 1.7928,
"predicted_HBP": 0.163,
"predicted_HR": 0.3094,
"predicted_OBP": 0.3575,
"predicted_R": 1.1356,
"predicted_RBI": 0.9378,
"predicted_SLG": 0.4396,
"predicted_SO": 1.3035
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2364,
"after": 0.2364,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7309,
"after": 6.7309,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2664,
"delta": 0.0134,
"percent_delta": 0.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.936,
"after": 0.9553,
"delta": 0.0193,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7128,
"after": 1.7928,
"delta": 0.08,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.163,
"after": 0.163,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2957,
"after": 0.3094,
"delta": 0.0137,
"percent_delta": 0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3481,
"after": 0.3575,
"delta": 0.0094,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0493,
"after": 1.1356,
"delta": 0.0863,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8666,
"after": 0.9378,
"delta": 0.0712,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4304,
"after": 0.4396,
"delta": 0.0092,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3309,
"after": 1.3035,
"delta": -0.0274,
"percent_delta": -0.0206,
"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": 1.0493,
"after": 1.1356,
"delta": 0.0863,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.73), rates preserved: AVG=0.266 HR/AB=0.046",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.2364,
"after": 0.0,
"delta": -0.2364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7309,
"after": 7.0,
"delta": 0.2691,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9553,
"after": 1.0,
"delta": 0.0447,
"percent_delta": 0.0468,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7928,
"after": 2.0,
"delta": 0.2072,
"percent_delta": 0.1156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3094,
"after": 0.0,
"delta": -0.3094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9378,
"after": 1.0,
"delta": 0.0622,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3035,
"after": 1.0,
"delta": -0.3035,
"percent_delta": -0.2328,
"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_AB",
"before": 6.7309,
"after": 7.0,
"delta": 0.2691,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3094,
"after": 0.0,
"delta": -0.3094,
"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=10.0, weight=0.100, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.9,
"bvp": 0.1
},
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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": 1.1356,
"after": 1.0,
"delta": -0.1356,
"percent_delta": -0.1194,
"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": 1.1356,
"after": 1.0,
"delta": -0.1356,
"percent_delta": -0.1194,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2664,
"after": 0.286,
"delta": 0.0196,
"percent_delta": 0.0736,
"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": 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.3575,
"after": 0.375,
"delta": 0.0175,
"percent_delta": 0.049,
"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.4396,
"after": 0.286,
"delta": -0.1536,
"percent_delta": -0.3494,
"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.2664,
"after": 0.286,
"delta": 0.0196,
"percent_delta": 0.0736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4396,
"after": 0.286,
"delta": -0.1536,
"percent_delta": -0.3494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 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": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 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": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"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_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2664,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3575,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4396,
"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.286,
"after": 0.2664,
"delta": -0.0196,
"percent_delta": -0.0687,
"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.375,
"after": 0.3575,
"delta": -0.0175,
"percent_delta": -0.0466,
"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.286,
"after": 0.4396,
"delta": 0.1536,
"percent_delta": 0.5372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4396,
"delta": 0.1536,
"percent_delta": 0.5372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2664,
"delta": -0.0196,
"percent_delta": -0.0687,
"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.096,
"after": 0.0,
"delta": -0.096,
"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.746,
"after": 3.0,
"delta": -0.746,
"percent_delta": -0.1991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2664,
"delta": 0.0234,
"percent_delta": 0.0963,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3575,
"delta": 0.0215,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.531,
"after": 0.0,
"delta": -0.531,
"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.421,
"after": 0.4396,
"delta": 0.0186,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"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": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2664,
"delta": 0.0234,
"percent_delta": 0.0963,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"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.096 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.746 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.531 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.421 | - |
| 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.236 | 0.140 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.731 | 2.985 |
| predicted_AVG | 0.253 | 0.010 |
| predicted_BB | 0.936 | 0.524 |
| predicted_H | 1.713 | 0.853 |
| predicted_HBP | 0.163 | - |
| predicted_HR | 0.296 | 0.146 |
| predicted_OBP | 0.348 | 0.012 |
| predicted_R | 1.049 | 0.518 |
| predicted_RBI | 0.867 | 0.427 |
| predicted_SLG | 0.430 | 0.009 |
| predicted_SO | 1.331 | 0.636 |
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.236 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.731 | 0.000 |
| predicted_AVG | 0.266 | 0.013 |
| predicted_BB | 0.955 | 0.019 |
| predicted_H | 1.793 | 0.080 |
| predicted_HBP | 0.163 | 0.000 |
| predicted_HR | 0.309 | 0.014 |
| predicted_OBP | 0.357 | 0.009 |
| predicted_R | 1.136 | 0.086 |
| predicted_RBI | 0.938 | 0.071 |
| predicted_SLG | 0.440 | 0.009 |
| predicted_SO | 1.304 | -0.027 |
AB rounded to 7 (raw=6.73), rates preserved: AVG=0.266 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.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=10.0, weight=0.100, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 7.000 | 0.000 |
| BB | 1.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.236 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.269 |
| predicted_AVG | 0.286 | 0.020 |
| predicted_BB | 1.000 | 0.045 |
| predicted_H | 2.000 | 0.207 |
| predicted_HR | 0.000 | -0.309 |
| predicted_OBP | 0.375 | 0.018 |
| predicted_R | 1.000 | -0.136 |
| predicted_RBI | 1.000 | 0.062 |
| predicted_SLG | 0.286 | -0.154 |
| predicted_SO | 1.000 | -0.304 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 3.000 | 4.000 | 4.000 | 0.2667 | 0.4211 | 0.5333 | 0.2667 | 0.0667 | 0.0667 | 0.2667 | 0.2667 |
| last_10 | 0.20 | 6 | - | 29.000 | 12.000 | 3.000 | 0.000 | 4.000 | 7.000 | 9.000 | 8.000 | 4.000 | 0.4138 | 0.5750 | 0.9310 | 0.4138 | 0.1379 | 0.2414 | 0.2759 | 0.1379 |
| season | 0.60 | 48 | - | 663.000 | 170.000 | 17.000 | 0.000 | 22.000 | 99.000 | 94.000 | 73.000 | 123.000 | 0.2564 | 0.3329 | 0.3816 | 0.2564 | 0.0332 | 0.1493 | 0.1101 | 0.1855 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4160 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.5470 |
| predicted_AVG | 0.2657 |
| predicted_BB | 1.6060 |
| predicted_H | 2.8030 |
| predicted_HBP | 0.1630 |
| predicted_HR | 0.4820 |
| predicted_OBP | 0.3635 |
| predicted_R | 1.7120 |
| predicted_RBI | 1.4120 |
| predicted_SLG | 0.4425 |
| predicted_SO | 2.1440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0960 | 0.4160 | 0.2364 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.7460 | 10.5470 | 6.7309 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2657 | 0.2530 | model_form_blend |
| predicted_BB | 0.4120 | 1.6060 | 0.9360 | model_form_blend |
| predicted_H | 0.8600 | 2.8030 | 1.7128 | model_form_blend |
| predicted_HBP | - | 0.1630 | 0.1630 | form_only |
| predicted_HR | 0.1500 | 0.4820 | 0.2957 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3635 | 0.3481 | model_form_blend |
| predicted_R | 0.5310 | 1.7120 | 1.0493 | model_form_blend |
| predicted_RBI | 0.4400 | 1.4120 | 0.8666 | model_form_blend |
| predicted_SLG | 0.4210 | 0.4425 | 0.4304 | model_form_blend |
| predicted_SO | 0.6950 | 2.1440 | 1.3309 | 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 | 179 |
| Season rows before report date | 179 |
| Report year | 2026 |
| Profile rows used | 177 |
| 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 | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.256 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 669257 |
| playerID | 669257 |
| playerName | Will Smith |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-03 |
| sl_k_percent | 16.5 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.322 |
| sl_xwoba | 0.386 |
| sl_xba | 0.276 |
| sl_xslg | 0.5 |
| sl_sweet_spot_percent | 43.2 |
| sl_barrel_batted_rate | 13.7 |
| sl_hard_hit_percent | 39.6 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 20.3 |
| sl_whiff_percent | 16.1 |
| sl_swing_percent | 41.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.107 | 0.000 | 0.000 | Hitting_2B | 0.106 | 1.000 | -0.106 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.558 | 3.000 | 6.000 | Hitting_AB | 3.540 | 5.000 | -0.540 | -2.000 |
| predicted_AVG | 0.241 | 0.000 | 0.167 | Hitting_AVG | 0.261 | 0.400 | -0.261 | -0.400 |
| predicted_BB | 0.533 | 1.000 | 1.000 | Hitting_BB | 0.530 | 0.000 | 0.470 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.820 | 0.000 | 1.000 | Hitting_H | 0.924 | 2.000 | -0.924 | -2.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_OBP | 0.310 | 0.250 | 0.286 | Hitting_OBP | 0.360 | 0.400 | -0.110 | -0.150 |
| predicted_R | 0.807 | 0.000 | 1.000 | Hitting_R | 0.803 | 1.000 | -0.803 | -1.000 |
| predicted_RBI | 0.420 | 0.000 | 1.000 | Hitting_RBI | 0.419 | 1.000 | -0.419 | -1.000 |
| predicted_SLG | 0.463 | 0.000 | 0.167 | Hitting_SLG | 0.522 | 0.600 | -0.522 | -0.600 |
| predicted_SO | 1.086 | 2.000 | 2.000 | Hitting_SO | 1.081 | 0.000 | 0.919 | 2.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_SO: 1.0860 -> 2.0000 (boost 0.9140, worse) |
| Biggest Deboost | predicted_H: 0.8200 -> 0.0000 (deboost -0.8200, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.5580 -> 6.2639 (boost 2.7059, 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 | 6 | 6 | 0 | 6 | 0 | predicted_R: 1.3151 -> 1.4232 (boost 0.1081, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_H: 1.5728 -> 2.0000 (boost 0.4272, better) | predicted_HR: 0.4222 -> 0.0000 (deboost -0.4222, worse) | AB rounded to 6 (raw=6.26), rates preserved: AVG=0.251 HR/AB=0.067 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4232 -> 1.0000 (deboost -0.4232, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4881 -> 0.1670 (deboost -0.3211, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.4881 (boost 0.3211, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571970",
"player_name": "Max Muncy",
"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.107,
"predicted_3B": 0.0,
"predicted_AB": 3.558,
"predicted_AVG": 0.241,
"predicted_BB": 0.533,
"predicted_H": 0.82,
"predicted_HR": 0.19,
"predicted_OBP": 0.31,
"predicted_R": 0.807,
"predicted_RBI": 0.42,
"predicted_SLG": 0.463,
"predicted_SO": 1.086
},
"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.2169,
"predicted_3B": 0.0004,
"predicted_AB": 6.2639,
"predicted_AVG": 0.2425,
"predicted_BB": 0.7308,
"predicted_H": 1.5026,
"predicted_HBP": 0.04,
"predicted_HR": 0.4036,
"predicted_OBP": 0.3109,
"predicted_R": 1.3151,
"predicted_RBI": 0.729,
"predicted_SLG": 0.475,
"predicted_SO": 1.868
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.2169,
"delta": 0.1099,
"percent_delta": 1.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.558,
"after": 6.2639,
"delta": 2.7059,
"percent_delta": 0.7605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2425,
"delta": 0.0015,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.533,
"after": 0.7308,
"delta": 0.1978,
"percent_delta": 0.3711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.5026,
"delta": 0.6826,
"percent_delta": 0.8324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.4036,
"delta": 0.2136,
"percent_delta": 1.1242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3109,
"delta": 0.0009,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.807,
"after": 1.3151,
"delta": 0.5081,
"percent_delta": 0.6296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.729,
"delta": 0.309,
"percent_delta": 0.7357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.463,
"after": 0.475,
"delta": 0.012,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.086,
"after": 1.868,
"delta": 0.782,
"percent_delta": 0.7201,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.558,
"after": 6.2639,
"delta": 2.7059,
"percent_delta": 0.7605,
"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": 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.2169,
"predicted_3B": 0.0004,
"predicted_AB": 6.2639,
"predicted_AVG": 0.2511,
"predicted_BB": 0.7459,
"predicted_H": 1.5728,
"predicted_HBP": 0.04,
"predicted_HR": 0.4222,
"predicted_OBP": 0.3308,
"predicted_R": 1.4232,
"predicted_RBI": 0.7889,
"predicted_SLG": 0.4881,
"predicted_SO": 1.8295
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2169,
"after": 0.2169,
"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": 6.2639,
"after": 6.2639,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2425,
"after": 0.2511,
"delta": 0.0086,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7308,
"after": 0.7459,
"delta": 0.0151,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5026,
"after": 1.5728,
"delta": 0.0702,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.04,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4036,
"after": 0.4222,
"delta": 0.0186,
"percent_delta": 0.0461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3109,
"after": 0.3308,
"delta": 0.0199,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.3151,
"after": 1.4232,
"delta": 0.1081,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.729,
"after": 0.7889,
"delta": 0.0599,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4881,
"delta": 0.0131,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.868,
"after": 1.8295,
"delta": -0.0385,
"percent_delta": -0.0206,
"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": 1.3151,
"after": 1.4232,
"delta": 0.1081,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.26), rates preserved: AVG=0.251 HR/AB=0.067",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2169,
"after": 0.0,
"delta": -0.2169,
"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": 6.2639,
"after": 6.0,
"delta": -0.2639,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7459,
"after": 1.0,
"delta": 0.2541,
"percent_delta": 0.3407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5728,
"after": 2.0,
"delta": 0.4272,
"percent_delta": 0.2716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4222,
"after": 0.0,
"delta": -0.4222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7889,
"after": 1.0,
"delta": 0.2111,
"percent_delta": 0.2676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8295,
"after": 2.0,
"delta": 0.1705,
"percent_delta": 0.0932,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.5728,
"after": 2.0,
"delta": 0.4272,
"percent_delta": 0.2716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4222,
"after": 0.0,
"delta": -0.4222,
"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.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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": 1.4232,
"after": 1.0,
"delta": -0.4232,
"percent_delta": -0.2974,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.4232,
"after": 1.0,
"delta": -0.4232,
"percent_delta": -0.2974,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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": 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.2511,
"after": 0.167,
"delta": -0.0841,
"percent_delta": -0.3349,
"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.3308,
"after": 0.286,
"delta": -0.0448,
"percent_delta": -0.1354,
"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.4881,
"after": 0.167,
"delta": -0.3211,
"percent_delta": -0.6579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4881,
"after": 0.167,
"delta": -0.3211,
"percent_delta": -0.6579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2511,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3308,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4881,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2511,
"delta": 0.0841,
"percent_delta": 0.5035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3308,
"delta": 0.0448,
"percent_delta": 0.1565,
"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.167,
"after": 0.4881,
"delta": 0.3211,
"percent_delta": 1.9226,
"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.167,
"after": 0.4881,
"delta": 0.3211,
"percent_delta": 1.9226,
"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.107,
"after": 0.0,
"delta": -0.107,
"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.558,
"after": 3.0,
"delta": -0.558,
"percent_delta": -0.1568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2511,
"delta": 0.0101,
"percent_delta": 0.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.533,
"after": 1.0,
"delta": 0.467,
"percent_delta": 0.8762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3308,
"delta": 0.0208,
"percent_delta": 0.0671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.807,
"after": 0.0,
"delta": -0.807,
"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.463,
"after": 0.4881,
"delta": 0.0251,
"percent_delta": 0.0542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.086,
"after": 2.0,
"delta": 0.914,
"percent_delta": 0.8416,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.086,
"after": 2.0,
"delta": 0.914,
"percent_delta": 0.8416,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"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.107 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.558 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.533 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.807 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.463 | - |
| predicted_SO | 1.086 | - |
Final model 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.217 | 0.110 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.264 | 2.706 |
| predicted_AVG | 0.242 | 0.002 |
| predicted_BB | 0.731 | 0.198 |
| predicted_H | 1.503 | 0.683 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.404 | 0.214 |
| predicted_OBP | 0.311 | 0.001 |
| predicted_R | 1.315 | 0.508 |
| predicted_RBI | 0.729 | 0.309 |
| predicted_SLG | 0.475 | 0.012 |
| predicted_SO | 1.868 | 0.782 |
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.217 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.264 | 0.000 |
| predicted_AVG | 0.251 | 0.009 |
| predicted_BB | 0.746 | 0.015 |
| predicted_H | 1.573 | 0.070 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.422 | 0.019 |
| predicted_OBP | 0.331 | 0.020 |
| predicted_R | 1.423 | 0.108 |
| predicted_RBI | 0.789 | 0.060 |
| predicted_SLG | 0.488 | 0.013 |
| predicted_SO | 1.829 | -0.039 |
AB rounded to 6 (raw=6.26), rates preserved: AVG=0.251 HR/AB=0.067
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | -1.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.217 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 6.000 | -0.264 |
| predicted_AVG | 0.167 | -0.084 |
| predicted_BB | 1.000 | 0.254 |
| predicted_H | 1.000 | -0.573 |
| predicted_HR | 0.000 | -0.422 |
| predicted_OBP | 0.286 | -0.045 |
| predicted_R | 1.000 | -0.423 |
| predicted_RBI | 1.000 | 0.211 |
| predicted_SLG | 0.167 | -0.321 |
| predicted_SO | 2.000 | 0.171 |
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 | -3.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 5.000 | 0.2353 | 0.2353 | 0.4706 | 0.2353 | 0.0588 | 0.1177 | 0.0000 | 0.2941 |
| last_10 | 0.20 | 7 | - | 36.000 | 5.000 | 1.000 | 0.000 | 2.000 | 3.000 | 4.000 | 0.000 | 9.000 | 0.1389 | 0.1389 | 0.3333 | 0.1389 | 0.0556 | 0.0833 | 0.0000 | 0.2500 |
| season | 0.60 | 55 | - | 701.000 | 183.000 | 21.000 | 0.000 | 54.000 | 83.000 | 159.000 | 105.000 | 214.000 | 0.2611 | 0.3605 | 0.5221 | 0.2611 | 0.0770 | 0.1184 | 0.1498 | 0.3053 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3570 |
| predicted_3B | 0.0010 |
| predicted_AB | 9.7140 |
| predicted_AVG | 0.2443 |
| predicted_BB | 0.9830 |
| predicted_H | 2.3730 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.6760 |
| predicted_OBP | 0.3120 |
| predicted_R | 1.9630 |
| predicted_RBI | 1.1230 |
| predicted_SLG | 0.4902 |
| predicted_SO | 2.8650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1070 | 0.3570 | 0.2169 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5580 | 9.7140 | 6.2639 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2443 | 0.2425 | model_form_blend |
| predicted_BB | 0.5330 | 0.9830 | 0.7308 | model_form_blend |
| predicted_H | 0.8200 | 2.3730 | 1.5026 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.1900 | 0.6760 | 0.4036 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3120 | 0.3109 | model_form_blend |
| predicted_R | 0.8070 | 1.9630 | 1.3151 | model_form_blend |
| predicted_RBI | 0.4200 | 1.1230 | 0.7290 | model_form_blend |
| predicted_SLG | 0.4630 | 0.4902 | 0.4750 | model_form_blend |
| predicted_SO | 1.0860 | 2.8650 | 1.8680 | 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 | 198 |
| Season rows before report date | 198 |
| Report year | 2026 |
| Profile rows used | 197 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.261 |
| 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 | 0 |
| Hitting_TB | 3 |
| 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 | 3B |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 571970 |
| playerID | 571970 |
| playerName | Max Muncy |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.374 |
| sl_xwoba | 0.389 |
| sl_xba | 0.268 |
| sl_xslg | 0.55 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 17.4 |
| sl_hard_hit_percent | 49.2 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 44.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_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 | 4.333 | 4.000 | 5.000 | Hitting_AB | 4.333 | 1.000 | -0.333 | 3.000 |
| predicted_AVG | 0.258 | 0.500 | 0.200 | Hitting_AVG | 0.385 | 0.000 | 0.115 | 0.500 |
| 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.770 | 2.000 | 1.000 | Hitting_H | 1.667 | 0.000 | 0.333 | 2.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_OBP | 0.313 | 0.500 | 0.200 | Hitting_OBP | 0.385 | 0.000 | 0.115 | 0.500 |
| predicted_R | 0.000 | 1.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_RBI | 0.420 | 2.000 | 1.000 | Hitting_RBI | 0.833 | 0.000 | 1.167 | 2.000 |
| predicted_SLG | 0.401 | 1.250 | 0.200 | Hitting_SLG | 0.385 | 0.000 | 0.865 | 1.250 |
| predicted_SO | 0.167 | 1.000 | 0.000 | Hitting_SO | 0.167 | 1.000 | 0.833 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.4200 -> 2.0000 (boost 1.5800, better) |
| Biggest Deboost | predicted_AB: 4.3330 -> 4.0000 (deboost -0.3330, 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 | 9 | 0 | 8 | 1 | predicted_AB: 4.3330 -> 5.0997 (boost 0.7667, 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 | 5 | 2 | 3 | 2 | 3 | predicted_H: 1.1777 -> 1.2327 (boost 0.0550, better) | predicted_SLG: 0.3994 -> 0.3200 (deboost -0.0794, 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_RBI: 0.6713 -> 1.0000 (boost 0.3287, better) | predicted_SO: 0.3954 -> 0.0000 (deboost -0.3954, better) | AB rounded to 5 (raw=5.10), rates preserved: AVG=0.242 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1517 -> 0.0000 (deboost -0.1517, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3200 -> 0.2000 (deboost -0.1200, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 5 | 1 | 4 | 2 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3200 (boost 0.1200, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669899",
"player_name": "Ryan Ward",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 4.333,
"predicted_AVG": 0.258,
"predicted_BB": 0.0,
"predicted_H": 0.77,
"predicted_HR": 0.1,
"predicted_OBP": 0.313,
"predicted_R": 0.0,
"predicted_RBI": 0.42,
"predicted_SLG": 0.401,
"predicted_SO": 0.167
},
"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.0534,
"predicted_3B": 0.0041,
"predicted_AB": 5.0997,
"predicted_AVG": 0.2735,
"predicted_BB": 0.0845,
"predicted_H": 1.1777,
"predicted_HBP": 0.034,
"predicted_HR": 0.1076,
"predicted_OBP": 0.3224,
"predicted_R": 0.1402,
"predicted_RBI": 0.6203,
"predicted_SLG": 0.3994,
"predicted_SO": 0.4037
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0534,
"delta": 0.0534,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0041,
"delta": 0.0041,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.333,
"after": 5.0997,
"delta": 0.7667,
"percent_delta": 0.1769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2735,
"delta": 0.0155,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0845,
"delta": 0.0845,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.1777,
"delta": 0.4077,
"percent_delta": 0.5295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1076,
"delta": 0.0076,
"percent_delta": 0.076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3224,
"delta": 0.0094,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.1402,
"delta": 0.1402,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.6203,
"delta": 0.2003,
"percent_delta": 0.4769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3994,
"delta": -0.0016,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.167,
"after": 0.4037,
"delta": 0.2367,
"percent_delta": 1.4174,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.333,
"after": 5.0997,
"delta": 0.7667,
"percent_delta": 0.1769,
"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": 2,
"last_10": 2,
"season": 2
}
},
{
"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.0534,
"predicted_3B": 0.0041,
"predicted_AB": 5.0997,
"predicted_AVG": 0.2417,
"predicted_BB": 0.0862,
"predicted_H": 1.2327,
"predicted_HBP": 0.034,
"predicted_HR": 0.1126,
"predicted_OBP": 0.2543,
"predicted_R": 0.1517,
"predicted_RBI": 0.6713,
"predicted_SLG": 0.32,
"predicted_SO": 0.3954
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0534,
"after": 0.0534,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0041,
"after": 0.0041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0997,
"after": 5.0997,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2735,
"after": 0.2417,
"delta": -0.0318,
"percent_delta": -0.1163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0845,
"after": 0.0862,
"delta": 0.0017,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1777,
"after": 1.2327,
"delta": 0.055,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.034,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1076,
"after": 0.1126,
"delta": 0.005,
"percent_delta": 0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3224,
"after": 0.2543,
"delta": -0.0681,
"percent_delta": -0.2112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1402,
"after": 0.1517,
"delta": 0.0115,
"percent_delta": 0.082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6203,
"after": 0.6713,
"delta": 0.051,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3994,
"after": 0.32,
"delta": -0.0794,
"percent_delta": -0.1988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4037,
"after": 0.3954,
"delta": -0.0083,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.1777,
"after": 1.2327,
"delta": 0.055,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3994,
"after": 0.32,
"delta": -0.0794,
"percent_delta": -0.1988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.10), rates preserved: AVG=0.242 HR/AB=0.022",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0534,
"after": 0.0,
"delta": -0.0534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0041,
"after": 0.0,
"delta": -0.0041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0997,
"after": 5.0,
"delta": -0.0997,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0862,
"after": 0.0,
"delta": -0.0862,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2327,
"after": 1.0,
"delta": -0.2327,
"percent_delta": -0.1888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1126,
"after": 0.0,
"delta": -0.1126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6713,
"after": 1.0,
"delta": 0.3287,
"percent_delta": 0.4896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3954,
"after": 0.0,
"delta": -0.3954,
"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_RBI",
"before": 0.6713,
"after": 1.0,
"delta": 0.3287,
"percent_delta": 0.4896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3954,
"after": 0.0,
"delta": -0.3954,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 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": 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.1517,
"after": 0.0,
"delta": -0.1517,
"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": 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.1517,
"after": 0.0,
"delta": -0.1517,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"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.2417,
"after": 0.2,
"delta": -0.0417,
"percent_delta": -0.1725,
"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.2543,
"after": 0.2,
"delta": -0.0543,
"percent_delta": -0.2135,
"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.32,
"after": 0.2,
"delta": -0.12,
"percent_delta": -0.375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.2,
"delta": -0.12,
"percent_delta": -0.375,
"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": 2.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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2417,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2543,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.32,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2,
"after": 0.2417,
"delta": 0.0417,
"percent_delta": 0.2086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2543,
"delta": 0.0543,
"percent_delta": 0.2716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.32,
"delta": 0.12,
"percent_delta": 0.6001,
"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.2,
"after": 0.32,
"delta": 0.12,
"percent_delta": 0.6001,
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.333,
"after": 4.0,
"delta": -0.333,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2417,
"delta": -0.0163,
"percent_delta": -0.0632,
"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.77,
"after": 2.0,
"delta": 1.23,
"percent_delta": 1.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.2543,
"delta": -0.0587,
"percent_delta": -0.1875,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 2.0,
"delta": 1.58,
"percent_delta": 3.7619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.32,
"delta": -0.081,
"percent_delta": -0.202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.167,
"after": 1.0,
"delta": 0.833,
"percent_delta": 4.988,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.42,
"after": 2.0,
"delta": 1.58,
"percent_delta": 3.7619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.333,
"after": 4.0,
"delta": -0.333,
"percent_delta": -0.0769,
"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 | 4.333 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 0.167 | - |
Final model 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.053 | 0.053 |
| predicted_3B | 0.004 | 0.004 |
| predicted_AB | 5.100 | 0.767 |
| predicted_AVG | 0.274 | 0.016 |
| predicted_BB | 0.085 | 0.085 |
| predicted_H | 1.178 | 0.408 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.108 | 0.008 |
| predicted_OBP | 0.322 | 0.009 |
| predicted_R | 0.140 | 0.140 |
| predicted_RBI | 0.620 | 0.200 |
| predicted_SLG | 0.399 | -0.002 |
| predicted_SO | 0.404 | 0.237 |
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.053 | 0.000 |
| predicted_3B | 0.004 | 0.000 |
| predicted_AB | 5.100 | 0.000 |
| predicted_AVG | 0.242 | -0.032 |
| predicted_BB | 0.086 | 0.002 |
| predicted_H | 1.233 | 0.055 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.113 | 0.005 |
| predicted_OBP | 0.254 | -0.068 |
| predicted_R | 0.152 | 0.012 |
| predicted_RBI | 0.671 | 0.051 |
| predicted_SLG | 0.320 | -0.079 |
| predicted_SO | 0.395 | -0.008 |
AB rounded to 5 (raw=5.10), rates preserved: AVG=0.242 HR/AB=0.022
| 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 | 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 | 0.000 | - |
| RBI | 1.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.053 |
| predicted_3B | 0.000 | -0.004 |
| predicted_AB | 5.000 | -0.100 |
| predicted_AVG | 0.200 | -0.042 |
| predicted_BB | 0.000 | -0.086 |
| predicted_H | 1.000 | -0.233 |
| predicted_HR | 0.000 | -0.113 |
| predicted_OBP | 0.200 | -0.054 |
| predicted_R | 0.000 | -0.152 |
| predicted_RBI | 1.000 | 0.329 |
| predicted_SLG | 0.200 | -0.120 |
| predicted_SO | 0.000 | -0.395 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 21.000 | 8.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 0.000 | 1.000 | 0.3810 | 0.3810 | 0.3810 | 0.3810 | 0.0000 | 0.1905 | 0.0000 | 0.0476 |
| last_10 | 0.20 | 2 | - | 26.000 | 10.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.000 | 0.000 | 1.000 | 0.3846 | 0.3846 | 0.3846 | 0.3846 | 0.0000 | 0.1923 | 0.0000 | 0.0385 |
| season | 0.60 | 2 | - | 26.000 | 10.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.000 | 0.000 | 1.000 | 0.3846 | 0.3846 | 0.3846 | 0.3846 | 0.0000 | 0.1923 | 0.0000 | 0.0385 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1820 |
| predicted_3B | 0.0140 |
| predicted_AB | 6.9470 |
| predicted_AVG | 0.3109 |
| predicted_BB | 0.2880 |
| predicted_H | 2.1600 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.1260 |
| predicted_OBP | 0.3449 |
| predicted_R | 0.4780 |
| predicted_RBI | 1.1030 |
| predicted_SLG | 0.3956 |
| predicted_SO | 0.9740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1820 | 0.0534 | model_form_blend |
| predicted_3B | 0.0000 | 0.0140 | 0.0041 | model_form_blend |
| predicted_AB | 4.3330 | 6.9470 | 5.0997 | model_form_blend |
| predicted_AVG | 0.2580 | 0.3109 | 0.2735 | model_form_blend |
| predicted_BB | 0.0000 | 0.2880 | 0.0845 | model_form_blend |
| predicted_H | 0.7700 | 2.1600 | 1.1777 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.1000 | 0.1260 | 0.1076 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3449 | 0.3224 | model_form_blend |
| predicted_R | 0.0000 | 0.4780 | 0.1402 | model_form_blend |
| predicted_RBI | 0.4200 | 1.1030 | 0.6203 | model_form_blend |
| predicted_SLG | 0.4010 | 0.3956 | 0.3994 | model_form_blend |
| predicted_SO | 0.1670 | 0.9740 | 0.4037 | 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 | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.385 |
| 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 |
| gameID | 20260420_LAD@COL |
| game_type | ph |
| mlbID | 669899 |
| note | Struck out for Rojas, M in the 9th. |
| playerID | 669899 |
| playerName | Ryan Ward |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-04-20 |
| game_pk | 824370.0 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.323 |
| sl_xwoba | 0.396 |
| sl_xba | 0.327 |
| sl_xslg | 0.607 |
| sl_sweet_spot_percent | 55.6 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 22.2 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 25.0 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 46.9 |
| at_bat_number | 77.0 |
| ab_pitcher | 685299.0 |
| ab_pitcher_name | Gordon, Tanner |
| ab_home_team | COL |
| ab_away_team | LAD |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 10.0 |
| ab_fld_score_start | 2.0 |
| ab_event | strikeout |
| ab_event_description | Ryan Ward called out on strikes. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | CU |
| ab_pitch_name_last | Curveball |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 43.4 |
| ab_launch_angle_last | -33.0 |
| ab_hit_distance_last | 2.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 10.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 81.05 |
| ab_release_spin_rate_avg | 2200.75 |
| ab_effective_speed_avg | 81.625 |
| ab_launch_speed_avg | 43.4 |
| ab_launch_angle_avg | -33.0 |
| ab_delta_run_exp_avg | -0.0645 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.0645 |
| ab_bat_speed_avg | 70.4 |
| ab_swing_length_avg | 8.8 |
| ab_launch_speed_max | 43.4 |
| ab_hit_distance_sc_max | 2.0 |
| ab_release_speed_max | 84.6 |
| ab_release_spin_rate_max | 2297.0 |
| ab_release_speed_min | 79.4 |
| ab_release_spin_rate_min | 2011.0 |
| ab_delta_run_exp_sum | -0.258 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.258 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| 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.095 | 0.000 | 0.000 | Hitting_2B | 0.093 | 1.000 | -0.093 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.411 | 3.000 | 6.000 | Hitting_AB | 3.340 | 4.000 | -0.340 | -1.000 |
| predicted_AVG | 0.257 | 0.000 | 0.333 | Hitting_AVG | 0.284 | 0.500 | -0.284 | -0.500 |
| predicted_BB | 0.295 | 1.000 | 0.000 | Hitting_BB | 0.299 | 0.000 | 0.701 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 0.000 | 2.000 | Hitting_H | 0.948 | 2.000 | -0.948 | -2.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.320 | 0.000 | -0.320 | 0.000 |
| predicted_OBP | 0.317 | 0.250 | 0.333 | Hitting_OBP | 0.366 | 0.500 | -0.116 | -0.250 |
| predicted_R | 0.632 | 0.000 | 1.000 | Hitting_R | 0.629 | 2.000 | -0.629 | -2.000 |
| predicted_RBI | 0.350 | 0.000 | 1.000 | Hitting_RBI | 0.701 | 0.000 | -0.701 | 0.000 |
| predicted_SLG | 0.418 | 0.000 | 0.333 | Hitting_SLG | 0.599 | 0.750 | -0.599 | -0.750 |
| predicted_SO | 0.979 | 1.000 | 2.000 | Hitting_SO | 0.959 | 0.000 | 0.041 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.2950 -> 1.0000 (boost 0.7050, better) |
| Biggest Deboost | predicted_H: 0.6800 -> 0.0000 (deboost -0.6800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.4110 -> 5.5538 (boost 2.1428, 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 | 6 | 4 | 2 | 4 | 2 | predicted_R: 0.9563 -> 1.0349 (boost 0.0786, better) | predicted_OBP: 0.3256 -> 0.3129 (deboost -0.0127, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_SO: 1.4038 -> 2.0000 (boost 0.5962, worse) | predicted_BB: 0.4482 -> 0.0000 (deboost -0.4482, worse) | AB rounded to 6 (raw=5.55), rates preserved: AVG=0.257 HR/AB=0.056 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2575 -> 0.3330 (boost 0.0755, better) | predicted_SLG: 0.4619 -> 0.3330 (deboost -0.1289, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4619 (boost 0.1289, better) | predicted_AVG: 0.3330 -> 0.2575 (deboost -0.0755, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687221",
"player_name": "Dalton Rushing",
"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.095,
"predicted_3B": 0.0,
"predicted_AB": 3.411,
"predicted_AVG": 0.257,
"predicted_BB": 0.295,
"predicted_H": 0.68,
"predicted_HR": 0.11,
"predicted_OBP": 0.317,
"predicted_R": 0.632,
"predicted_RBI": 0.35,
"predicted_SLG": 0.418,
"predicted_SO": 0.979
},
"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.1934,
"predicted_3B": 0.0009,
"predicted_AB": 5.5538,
"predicted_AVG": 0.2632,
"predicted_BB": 0.4392,
"predicted_H": 1.3662,
"predicted_HBP": 0.229,
"predicted_HR": 0.2995,
"predicted_OBP": 0.3256,
"predicted_R": 0.9563,
"predicted_RBI": 0.735,
"predicted_SLG": 0.4564,
"predicted_SO": 1.4333
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.1934,
"delta": 0.0984,
"percent_delta": 1.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.411,
"after": 5.5538,
"delta": 2.1428,
"percent_delta": 0.6282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2632,
"delta": 0.0062,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.295,
"after": 0.4392,
"delta": 0.1442,
"percent_delta": 0.4888,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.3662,
"delta": 0.6862,
"percent_delta": 1.0091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.2995,
"delta": 0.1895,
"percent_delta": 1.7227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3256,
"delta": 0.0086,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.632,
"after": 0.9563,
"delta": 0.3243,
"percent_delta": 0.5131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.735,
"delta": 0.385,
"percent_delta": 1.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4564,
"delta": 0.0384,
"percent_delta": 0.0919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.979,
"after": 1.4333,
"delta": 0.4543,
"percent_delta": 0.464,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.411,
"after": 5.5538,
"delta": 2.1428,
"percent_delta": 0.6282,
"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": 4,
"last_10": 6,
"season": 30
}
},
{
"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.1934,
"predicted_3B": 0.0009,
"predicted_AB": 5.5538,
"predicted_AVG": 0.2575,
"predicted_BB": 0.4482,
"predicted_H": 1.43,
"predicted_HBP": 0.229,
"predicted_HR": 0.3133,
"predicted_OBP": 0.3129,
"predicted_R": 1.0349,
"predicted_RBI": 0.7954,
"predicted_SLG": 0.4619,
"predicted_SO": 1.4038
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1934,
"after": 0.1934,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5538,
"after": 5.5538,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2632,
"after": 0.2575,
"delta": -0.0057,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4392,
"after": 0.4482,
"delta": 0.009,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3662,
"after": 1.43,
"delta": 0.0638,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.229,
"after": 0.229,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2995,
"after": 0.3133,
"delta": 0.0138,
"percent_delta": 0.0461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3256,
"after": 0.3129,
"delta": -0.0127,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9563,
"after": 1.0349,
"delta": 0.0786,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.735,
"after": 0.7954,
"delta": 0.0604,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4564,
"after": 0.4619,
"delta": 0.0055,
"percent_delta": 0.0121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4333,
"after": 1.4038,
"delta": -0.0295,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.9563,
"after": 1.0349,
"delta": 0.0786,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3256,
"after": 0.3129,
"delta": -0.0127,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.55), rates preserved: AVG=0.257 HR/AB=0.056",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1934,
"after": 0.0,
"delta": -0.1934,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5538,
"after": 6.0,
"delta": 0.4462,
"percent_delta": 0.0803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4482,
"after": 0.0,
"delta": -0.4482,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 2.0,
"delta": 0.57,
"percent_delta": 0.3986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.229,
"after": 0.0,
"delta": -0.229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3133,
"after": 0.0,
"delta": -0.3133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7954,
"after": 1.0,
"delta": 0.2046,
"percent_delta": 0.2572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4038,
"after": 2.0,
"delta": 0.5962,
"percent_delta": 0.4247,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.4038,
"after": 2.0,
"delta": 0.5962,
"percent_delta": 0.4247,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4482,
"after": 0.0,
"delta": -0.4482,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 1.0349,
"after": 1.0,
"delta": -0.0349,
"percent_delta": -0.0337,
"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_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"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": 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": 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": 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.2575,
"after": 0.333,
"delta": 0.0755,
"percent_delta": 0.2932,
"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.3129,
"after": 0.333,
"delta": 0.0201,
"percent_delta": 0.0642,
"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.4619,
"after": 0.333,
"delta": -0.1289,
"percent_delta": -0.2791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2575,
"after": 0.333,
"delta": 0.0755,
"percent_delta": 0.2932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4619,
"after": 0.333,
"delta": -0.1289,
"percent_delta": -0.2791,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"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.2575,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3129,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4619,
"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.2575,
"delta": -0.0755,
"percent_delta": -0.2268,
"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.333,
"after": 0.3129,
"delta": -0.0201,
"percent_delta": -0.0603,
"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.4619,
"delta": 0.1289,
"percent_delta": 0.387,
"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.4619,
"delta": 0.1289,
"percent_delta": 0.387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2575,
"delta": -0.0755,
"percent_delta": -0.2268,
"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.095,
"after": 0.0,
"delta": -0.095,
"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.411,
"after": 3.0,
"delta": -0.411,
"percent_delta": -0.1205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2575,
"delta": 0.0005,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.295,
"after": 1.0,
"delta": 0.705,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3129,
"delta": -0.0041,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.632,
"after": 0.0,
"delta": -0.632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4619,
"delta": 0.0439,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.979,
"after": 1.0,
"delta": 0.021,
"percent_delta": 0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.295,
"after": 1.0,
"delta": 0.705,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"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.095 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.411 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.295 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.632 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.418 | - |
| predicted_SO | 0.979 | - |
Final model 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.193 | 0.098 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.554 | 2.143 |
| predicted_AVG | 0.263 | 0.006 |
| predicted_BB | 0.439 | 0.144 |
| predicted_H | 1.366 | 0.686 |
| predicted_HBP | 0.229 | - |
| predicted_HR | 0.299 | 0.190 |
| predicted_OBP | 0.326 | 0.009 |
| predicted_R | 0.956 | 0.324 |
| predicted_RBI | 0.735 | 0.385 |
| predicted_SLG | 0.456 | 0.038 |
| predicted_SO | 1.433 | 0.454 |
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.193 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.554 | 0.000 |
| predicted_AVG | 0.258 | -0.006 |
| predicted_BB | 0.448 | 0.009 |
| predicted_H | 1.430 | 0.064 |
| predicted_HBP | 0.229 | 0.000 |
| predicted_HR | 0.313 | 0.014 |
| predicted_OBP | 0.313 | -0.013 |
| predicted_R | 1.035 | 0.079 |
| predicted_RBI | 0.795 | 0.060 |
| predicted_SLG | 0.462 | 0.006 |
| predicted_SO | 1.404 | -0.030 |
AB rounded to 6 (raw=5.55), rates preserved: AVG=0.257 HR/AB=0.056
| 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 | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 2.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.193 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.446 |
| predicted_AVG | 0.333 | 0.076 |
| predicted_BB | 0.000 | -0.448 |
| predicted_H | 2.000 | 0.570 |
| predicted_HR | 0.000 | -0.313 |
| predicted_OBP | 0.333 | 0.020 |
| predicted_R | 1.000 | -0.035 |
| predicted_RBI | 1.000 | 0.205 |
| predicted_SLG | 0.333 | -0.129 |
| predicted_SO | 2.000 | 0.596 |
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 | -3.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -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 | 4 | - | 13.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 0.2308 | 0.2308 | 0.3077 | 0.2308 | 0.0000 | 0.0000 | 0.0000 | 0.1538 |
| last_10 | 0.20 | 6 | - | 29.000 | 8.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 0.2759 | 0.3636 | 0.3103 | 0.2759 | 0.0000 | 0.0000 | 0.1379 | 0.1035 |
| season | 0.60 | 30 | - | 324.000 | 92.000 | 9.000 | 0.000 | 31.000 | 68.000 | 60.000 | 28.000 | 93.000 | 0.2840 | 0.3644 | 0.5988 | 0.2839 | 0.0957 | 0.2099 | 0.0864 | 0.2870 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3250 |
| predicted_3B | 0.0020 |
| predicted_AB | 8.4200 |
| predicted_AVG | 0.2714 |
| predicted_BB | 0.6320 |
| predicted_H | 2.2840 |
| predicted_HBP | 0.2290 |
| predicted_HR | 0.5530 |
| predicted_OBP | 0.3370 |
| predicted_R | 1.3900 |
| predicted_RBI | 1.2500 |
| predicted_SLG | 0.5077 |
| predicted_SO | 2.0410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0950 | 0.3250 | 0.1934 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.4110 | 8.4200 | 5.5538 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2714 | 0.2632 | model_form_blend |
| predicted_BB | 0.2950 | 0.6320 | 0.4392 | model_form_blend |
| predicted_H | 0.6800 | 2.2840 | 1.3662 | model_form_blend |
| predicted_HBP | - | 0.2290 | 0.2290 | form_only |
| predicted_HR | 0.1100 | 0.5530 | 0.2995 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3370 | 0.3256 | model_form_blend |
| predicted_R | 0.6320 | 1.3900 | 0.9563 | model_form_blend |
| predicted_RBI | 0.3500 | 1.2500 | 0.7350 | model_form_blend |
| predicted_SLG | 0.4180 | 0.5077 | 0.4564 | model_form_blend |
| predicted_SO | 0.9790 | 2.0410 | 1.4333 | 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 | 97 |
| Season rows before report date | 97 |
| Report year | 2026 |
| Profile rows used | 95 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| 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 | 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 | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260602_LAD@ARI |
| game_type | full |
| mlbID | 687221 |
| playerID | 687221 |
| playerName | Dalton Rushing |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-02 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.38 |
| sl_xwoba | 0.369 |
| sl_xba | 0.277 |
| sl_xslg | 0.494 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 42.4 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 49.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.132 | 0.000 | 0.000 | Hitting_2B | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.223 | 4.000 | 5.000 | Hitting_AB | 3.223 | 4.000 | 0.777 | 0.000 |
| predicted_AVG | 0.270 | 0.250 | 0.200 | Hitting_AVG | 0.249 | 0.750 | 0.001 | -0.500 |
| predicted_BB | 0.388 | 0.000 | 1.000 | Hitting_BB | 0.388 | 1.000 | -0.388 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.710 | 1.000 | 1.000 | Hitting_H | 0.802 | 3.000 | 0.198 | -2.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_OBP | 0.347 | 0.250 | 0.333 | Hitting_OBP | 0.327 | 0.800 | -0.077 | -0.550 |
| predicted_R | 0.405 | 1.000 | 1.000 | Hitting_R | 0.405 | 0.000 | 0.595 | 1.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.306 | 2.000 | -0.306 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.008 | 1.000 | -0.008 | -1.000 |
| predicted_SLG | 0.423 | 0.250 | 0.200 | Hitting_SLG | 0.359 | 0.750 | -0.109 | -0.500 |
| predicted_SO | 1.017 | 2.000 | 1.000 | Hitting_SO | 1.017 | 0.000 | 0.983 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_SO: 1.0170 -> 2.0000 (boost 0.9830, worse) |
| Biggest Deboost | predicted_RBI: 0.4100 -> 0.0000 (deboost -0.4100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.2230 -> 5.0887 (boost 1.8657, 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 | 3 | 0 | 3 | 0 | predicted_H: 1.3480 -> 1.4110 (boost 0.0630, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.6249 -> 1.0000 (boost 0.3751, better) | predicted_SO: 1.4730 -> 1.0000 (deboost -0.4730, better) | AB rounded to 5 (raw=5.09), rates preserved: AVG=0.277 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7637 -> 1.0000 (boost 0.2363, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4308 -> 0.2000 (deboost -0.2308, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 0 | 4 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4308 (boost 0.2308, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "690976",
"player_name": "Alex Freeland",
"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.132,
"predicted_3B": 0.0,
"predicted_AB": 3.223,
"predicted_AVG": 0.27,
"predicted_BB": 0.388,
"predicted_H": 0.71,
"predicted_HR": 0.1,
"predicted_OBP": 0.347,
"predicted_R": 0.405,
"predicted_RBI": 0.41,
"predicted_SLG": 0.423,
"predicted_SO": 1.017
},
"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.2329,
"predicted_3B": 0.0009,
"predicted_AB": 5.0887,
"predicted_AVG": 0.2786,
"predicted_BB": 0.6123,
"predicted_H": 1.348,
"predicted_HBP": 0.004,
"predicted_HR": 0.1742,
"predicted_OBP": 0.354,
"predicted_R": 0.7057,
"predicted_RBI": 0.7076,
"predicted_SLG": 0.4334,
"predicted_SO": 1.504
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.2329,
"delta": 0.1009,
"percent_delta": 0.7644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.223,
"after": 5.0887,
"delta": 1.8657,
"percent_delta": 0.5789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2786,
"delta": 0.0086,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.6123,
"delta": 0.2243,
"percent_delta": 0.5781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.348,
"delta": 0.638,
"percent_delta": 0.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1742,
"delta": 0.0742,
"percent_delta": 0.742,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.354,
"delta": 0.007,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.7057,
"delta": 0.3007,
"percent_delta": 0.7425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.7076,
"delta": 0.2976,
"percent_delta": 0.7259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4334,
"delta": 0.0104,
"percent_delta": 0.0246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.017,
"after": 1.504,
"delta": 0.487,
"percent_delta": 0.4789,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.223,
"after": 5.0887,
"delta": 1.8657,
"percent_delta": 0.5789,
"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": 39
}
},
{
"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.2329,
"predicted_3B": 0.0009,
"predicted_AB": 5.0887,
"predicted_AVG": 0.2773,
"predicted_BB": 0.6249,
"predicted_H": 1.411,
"predicted_HBP": 0.004,
"predicted_HR": 0.1822,
"predicted_OBP": 0.3563,
"predicted_R": 0.7637,
"predicted_RBI": 0.7658,
"predicted_SLG": 0.4308,
"predicted_SO": 1.473
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2329,
"after": 0.2329,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0887,
"after": 5.0887,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2786,
"after": 0.2773,
"delta": -0.0013,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6123,
"after": 0.6249,
"delta": 0.0126,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.348,
"after": 1.411,
"delta": 0.063,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1742,
"after": 0.1822,
"delta": 0.008,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3563,
"delta": 0.0023,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7057,
"after": 0.7637,
"delta": 0.058,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7076,
"after": 0.7658,
"delta": 0.0582,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4334,
"after": 0.4308,
"delta": -0.0026,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.504,
"after": 1.473,
"delta": -0.031,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.348,
"after": 1.411,
"delta": 0.063,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.09), rates preserved: AVG=0.277 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2329,
"after": 0.0,
"delta": -0.2329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0887,
"after": 5.0,
"delta": -0.0887,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6249,
"after": 1.0,
"delta": 0.3751,
"percent_delta": 0.6003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.411,
"after": 1.0,
"delta": -0.411,
"percent_delta": -0.2913,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1822,
"after": 0.0,
"delta": -0.1822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7658,
"after": 1.0,
"delta": 0.2342,
"percent_delta": 0.3058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.473,
"after": 1.0,
"delta": -0.473,
"percent_delta": -0.3211,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6249,
"after": 1.0,
"delta": 0.3751,
"percent_delta": 0.6003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.473,
"after": 1.0,
"delta": -0.473,
"percent_delta": -0.3211,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7637,
"after": 1.0,
"delta": 0.2363,
"percent_delta": 0.3094,
"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.7637,
"after": 1.0,
"delta": 0.2363,
"percent_delta": 0.3094,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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.2773,
"after": 0.2,
"delta": -0.0773,
"percent_delta": -0.2788,
"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.3563,
"after": 0.333,
"delta": -0.0233,
"percent_delta": -0.0654,
"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.4308,
"after": 0.2,
"delta": -0.2308,
"percent_delta": -0.5357,
"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.4308,
"after": 0.2,
"delta": -0.2308,
"percent_delta": -0.5357,
"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": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2773,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3563,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4308,
"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.2,
"after": 0.2773,
"delta": 0.0773,
"percent_delta": 0.3864,
"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.333,
"after": 0.3563,
"delta": 0.0233,
"percent_delta": 0.07,
"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.2,
"after": 0.4308,
"delta": 0.2308,
"percent_delta": 1.1542,
"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.4308,
"delta": 0.2308,
"percent_delta": 1.1542,
"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.132,
"after": 0.0,
"delta": -0.132,
"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.223,
"after": 4.0,
"delta": 0.777,
"percent_delta": 0.2411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2773,
"delta": 0.0073,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.0,
"delta": -0.388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3563,
"delta": 0.0093,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4308,
"delta": 0.0078,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.017,
"after": 2.0,
"delta": 0.983,
"percent_delta": 0.9666,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.017,
"after": 2.0,
"delta": 0.983,
"percent_delta": 0.9666,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"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.132 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.223 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.388 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.347 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 1.017 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.233 | 0.101 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.089 | 1.866 |
| predicted_AVG | 0.279 | 0.009 |
| predicted_BB | 0.612 | 0.224 |
| predicted_H | 1.348 | 0.638 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.174 | 0.074 |
| predicted_OBP | 0.354 | 0.007 |
| predicted_R | 0.706 | 0.301 |
| predicted_RBI | 0.708 | 0.298 |
| predicted_SLG | 0.433 | 0.010 |
| predicted_SO | 1.504 | 0.487 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.233 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.089 | 0.000 |
| predicted_AVG | 0.277 | -0.001 |
| predicted_BB | 0.625 | 0.013 |
| predicted_H | 1.411 | 0.063 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.182 | 0.008 |
| predicted_OBP | 0.356 | 0.002 |
| predicted_R | 0.764 | 0.058 |
| predicted_RBI | 0.766 | 0.058 |
| predicted_SLG | 0.431 | -0.003 |
| predicted_SO | 1.473 | -0.031 |
AB rounded to 5 (raw=5.09), rates preserved: AVG=0.277 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.233 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.089 |
| predicted_AVG | 0.200 | -0.077 |
| predicted_BB | 1.000 | 0.375 |
| predicted_H | 1.000 | -0.411 |
| predicted_HR | 0.000 | -0.182 |
| predicted_OBP | 0.333 | -0.023 |
| predicted_R | 1.000 | 0.236 |
| predicted_RBI | 1.000 | 0.234 |
| predicted_SLG | 0.200 | -0.231 |
| predicted_SO | 1.000 | -0.473 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 2.000 | 3.000 | 0.4615 | 0.5333 | 0.7692 | 0.4615 | 0.0769 | 0.3077 | 0.1538 | 0.2308 |
| last_10 | 0.20 | 7 | - | 30.000 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 2.000 | 7.000 | 0.2000 | 0.2500 | 0.3333 | 0.2000 | 0.0333 | 0.1333 | 0.0667 | 0.2333 |
| season | 0.60 | 39 | - | 390.000 | 97.000 | 16.000 | 0.000 | 9.000 | 37.000 | 49.000 | 47.000 | 123.000 | 0.2487 | 0.3265 | 0.3590 | 0.2487 | 0.0231 | 0.0949 | 0.1205 | 0.3154 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3660 |
| predicted_3B | 0.0020 |
| predicted_AB | 7.5480 |
| predicted_AVG | 0.2899 |
| predicted_BB | 0.9080 |
| predicted_H | 2.1890 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.2720 |
| predicted_OBP | 0.3632 |
| predicted_R | 1.1020 |
| predicted_RBI | 1.1000 |
| predicted_SLG | 0.4472 |
| predicted_SO | 2.1460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.3660 | 0.2329 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.2230 | 7.5480 | 5.0887 | model_form_blend |
| predicted_AVG | 0.2700 | 0.2899 | 0.2786 | model_form_blend |
| predicted_BB | 0.3880 | 0.9080 | 0.6123 | model_form_blend |
| predicted_H | 0.7100 | 2.1890 | 1.3480 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1000 | 0.2720 | 0.1742 | model_form_blend |
| predicted_OBP | 0.3470 | 0.3632 | 0.3540 | model_form_blend |
| predicted_R | 0.4050 | 1.1020 | 0.7057 | model_form_blend |
| predicted_RBI | 0.4100 | 1.1000 | 0.7076 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4472 | 0.4334 | model_form_blend |
| predicted_SO | 1.0170 | 2.1460 | 1.5040 | 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 | 121 |
| Season rows before report date | 121 |
| Report year | 2026 |
| Profile rows used | 121 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.249 |
| 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 | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 690976 |
| playerID | 690976 |
| playerName | Alex Freeland |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-03 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.317 |
| sl_xwoba | 0.299 |
| sl_xba | 0.229 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 36.1 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 9.2 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 39.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.400 | 0.000 | -0.400 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.000 | 1.000 | -2.000 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 4.900 | 1.000 | -3.900 | 0.000 |
| predicted_IP | 6.200 | 6.200 | 6.200 | Pitching_InningsPitched | 6.220 | 7.000 | -0.020 | -0.800 |
| predicted_SO | 9.000 | 9.000 | 9.000 | Pitching_SO | 4.000 | 9.000 | 5.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 8.0000 -> 9.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 7.0000 -> 6.2000 (deboost -0.8000, 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: 7.0000 -> 6.2000 (deboost -0.8000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | pitcher_quality_guardrail | 1 | 1 | 0 | 1 | 0 | predicted_SO: 8.0000 -> 9.0000 (boost 1.0000, better) | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 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": "680736",
"player_name": "Justin Wrobleski",
"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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 7.0,
"predicted_SO": 8.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 7.0,
"after": 6.2,
"delta": -0.8,
"percent_delta": -0.1143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 7.0,
"after": 6.2,
"delta": -0.8,
"percent_delta": -0.1143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_SO": 9.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 9.0,
"delta": 1.0,
"percent_delta": 0.125,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 8.0,
"after": 9.0,
"delta": 1.0,
"percent_delta": 0.125,
"direction": "boost",
"projection_effect": "better",
"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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_R": 0.0,
"predicted_SO": 9.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 7.0,
"after": 6.2,
"delta": -0.8,
"percent_delta": -0.1143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 9.0,
"delta": 1.0,
"percent_delta": 0.125,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 8.0,
"after": 9.0,
"delta": 1.0,
"percent_delta": 0.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 7.0,
"after": 6.2,
"delta": -0.8,
"percent_delta": -0.1143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 7.000 | - |
| predicted_SO | 8.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.200 | -0.800 |
| predicted_SO | 8.000 | 0.000 |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.200 | 0.000 |
| predicted_SO | 9.000 | 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 | 32.200 | 15.000 | 29.000 | 5.000 | 25.000 | 4.000 | 4.1327 | 1.0408 | 0.4592 | 0.8878 | 0.1531 | 0.7653 | 0.1225 |
| last_10 | 0.35 | 10 | 62.200 | 20.000 | 49.000 | 14.000 | 40.000 | 4.000 | 2.8723 | 1.0053 | 0.3191 | 0.7819 | 0.2234 | 0.6383 | 0.0638 |
| season | 0.20 | 10 | 62.200 | 20.000 | 49.000 | 14.000 | 40.000 | 4.000 | 2.8723 | 1.0053 | 0.3191 | 0.7819 | 0.2234 | 0.6383 | 0.0638 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6360 |
| predicted_ER | 2.8470 |
| predicted_ERA | 3.8350 |
| predicted_H | 5.8760 |
| predicted_HR | 0.7370 |
| predicted_IP | 6.2000 |
| predicted_SO | 5.2560 |
| predicted_WHIP | 1.1244 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.6360 | 1.3238 | model_form_blend |
| predicted_ER | 0.0000 | 2.8470 | 1.4496 | model_form_blend |
| predicted_ERA | - | 3.8350 | 3.8350 | form_only |
| predicted_H | 1.0000 | 5.8760 | 3.4828 | model_form_blend |
| predicted_HR | 0.0000 | 0.7370 | 0.3753 | model_form_blend |
| predicted_IP | 7.0000 | 6.2000 | 6.2000 | model_form_blend |
| predicted_SO | 8.0000 | 5.2560 | 6.6028 | model_form_blend |
| predicted_WHIP | - | 1.1244 | 1.1244 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 10 |
| Season rows before report date | 10 |
| Report year | 2026 |
| Profile rows used | 10 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 9 |
| HR | 0 |
| BF | 22 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.87 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 6 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 88 |
| Pitching_R | 1 |
| Pitching_SO | 9 |
| Pitching_Strikes | 63 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260529_PHI@LAD |
| game_type | full |
| mlbID | 680736 |
| playerID | 680736 |
| playerName | Justin Wrobleski |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-29 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.255 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 41.2 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 48.8 |
| sl_avg_best_speed | 78.755677604 |
| sl_avg_hyper_speed | 94.024248698 |
| 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.368 | 3.000 | 0.632 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.263 | 3.000 | -0.263 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.579 | 1.000 | -0.579 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.958 | 0.200 | 0.042 | 0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.158 | 1.000 | 0.842 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669165",
"player_name": "Kyle Hurt",
"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": 1.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 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.200 | 4.000 | 2.000 | 5.000 | 5.000 | 1.000 | 7.7143 | 1.5000 | 0.8571 | 0.4286 | 1.0714 | 1.0714 | 0.2143 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 8.000 | 6.000 | 9.000 | 1.000 | 3.7241 | 1.4483 | 0.4138 | 0.8276 | 0.6207 | 0.9310 | 0.1035 |
| season | 0.20 | 19 | 18.200 | 5.000 | 11.000 | 7.000 | 22.000 | 1.000 | 2.4107 | 0.9643 | 0.2679 | 0.5893 | 0.3750 | 1.1786 | 0.0536 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5400 |
| predicted_ER | 0.5260 |
| predicted_ERA | 4.7305 |
| predicted_H | 0.8050 |
| predicted_HR | 0.1400 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9850 |
| predicted_WHIP | 1.3448 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5400 | 0.8129 | model_form_blend |
| predicted_ER | 0.0000 | 0.5260 | 0.2139 | model_form_blend |
| predicted_ERA | - | 4.7305 | 4.7305 | form_only |
| predicted_H | 0.0000 | 0.8050 | 0.3274 | model_form_blend |
| predicted_HR | 0.0000 | 0.1400 | 0.0569 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9850 | 1.5872 | model_form_blend |
| predicted_WHIP | - | 1.3448 | 1.3448 | 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 | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 22 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 3 |
| Pitching_ERA | 2.41 |
| 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 | 0.2 |
| Pitching_Pitches | 24 |
| Pitching_R | 3 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260602_LAD@ARI |
| game_type | full |
| mlbID | 669165 |
| playerID | 669165 |
| playerName | Kyle Hurt |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-02 |
| sl_k_percent | 30.1 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.236 |
| sl_xwoba | 0.26 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 32.6 |
| sl_whiff_percent | 37.8 |
| sl_swing_percent | 54.4 |
| sl_avg_best_speed | 79.449358571 |
| sl_avg_hyper_speed | 93.687264762 |
| 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.111 | 0.000 | -0.111 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.222 | 0.000 | 0.778 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.556 | 1.000 | 1.444 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.907 | 1.000 | 0.093 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.074 | 1.000 | -0.074 | 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": "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": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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 | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 5.000 | 0.000 | 6.000 | 1.000 | 5.4000 | 1.0000 | 0.6000 | 1.0000 | 0.0000 | 1.2000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.100 | 3.000 | 7.000 | 1.000 | 14.000 | 1.000 | 2.6129 | 0.7742 | 0.2903 | 0.6774 | 0.0968 | 1.3548 | 0.0968 |
| season | 0.20 | 27 | 25.200 | 6.000 | 15.000 | 3.000 | 29.000 | 3.000 | 2.1039 | 0.7013 | 0.2338 | 0.5844 | 0.1169 | 1.1299 | 0.1169 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2110 |
| predicted_ER | 0.4500 |
| predicted_ERA | 4.0521 |
| predicted_H | 0.8790 |
| predicted_HR | 0.1420 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0920 |
| predicted_WHIP | 1.0905 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2110 | 0.0929 | model_form_blend |
| predicted_ER | 1.0000 | 0.4500 | 0.7579 | model_form_blend |
| predicted_ERA | - | 4.0521 | 4.0521 | form_only |
| predicted_H | 2.0000 | 0.8790 | 1.5066 | model_form_blend |
| predicted_HR | 0.0000 | 0.1420 | 0.0625 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0920 | 1.0405 | model_form_blend |
| predicted_WHIP | - | 1.0905 | 1.0905 | 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 | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.10 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 20 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260602_LAD@ARI |
| game_type | full |
| mlbID | 656945 |
| playerID | 656945 |
| playerName | Tanner Scott |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-02 |
| sl_k_percent | 30.9 |
| sl_bb_percent | 3.2 |
| sl_woba | 0.205 |
| sl_xwoba | 0.265 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 27.4 |
| sl_whiff_percent | 33.2 |
| sl_swing_percent | 56.2 |
| sl_avg_best_speed | 79.391860968 |
| sl_avg_hyper_speed | 92.537727869 |
| 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.385 | 0.000 | 0.615 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.346 | 0.000 | 0.654 | 1.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.638 | 0.200 | -0.538 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.077 | 1.000 | -0.077 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, 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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| 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 | 3.100 | 0.000 | 1.000 | 2.000 | 5.000 | 0.000 | 0.0000 | 0.9000 | 0.0000 | 0.3000 | 0.6000 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 7.100 | 3.000 | 5.000 | 4.000 | 12.000 | 0.000 | 3.6818 | 1.2273 | 0.4091 | 0.6818 | 0.5454 | 1.6364 | 0.0000 |
| season | 0.20 | 26 | 20.100 | 5.000 | 9.000 | 10.000 | 28.000 | 0.000 | 2.2131 | 0.9344 | 0.2459 | 0.4426 | 0.4918 | 1.3771 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2180 |
| predicted_ER | 0.1700 |
| predicted_ERA | 3.1798 |
| predicted_H | 0.3550 |
| predicted_HR | 0.0370 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.5780 |
| predicted_WHIP | 1.1886 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2180 | 0.6750 | model_form_blend |
| predicted_ER | 0.0000 | 0.1700 | 0.0707 | model_form_blend |
| predicted_ERA | - | 3.1798 | 3.1798 | form_only |
| predicted_H | 1.0000 | 0.3550 | 0.7319 | model_form_blend |
| predicted_HR | 0.0000 | 0.0370 | 0.0154 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.5780 | 1.4090 | model_form_blend |
| predicted_WHIP | - | 1.1886 | 1.1886 | 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 | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| 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 | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.21 |
| 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 | 0.2 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260601_LAD@ARI |
| game_type | full |
| mlbID | 681911 |
| playerID | 681911 |
| playerName | Alex Vesia |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-01 |
| sl_k_percent | 35.0 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.198 |
| sl_xwoba | 0.245 |
| sl_sweet_spot_percent | 35.7 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 31.0 |
| sl_whiff_percent | 37.0 |
| sl_swing_percent | 46.3 |
| sl_avg_best_speed | 77.554859524 |
| sl_avg_hyper_speed | 91.784387143 |
| Field | Value |
|---|---|
| Pitcher | Ryne Nelson |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.5931 |
| ESPN Rank | 595 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1732 |
| Avg Velo | 92.7936 |
| Avg Spin | 2349.1028 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.2000 |
| Pre ER | 1 |
| Pre H | 4 |
| Pre BB | 1 |
| Pre SO | 6 |
| Season ERA | 4.8214 |
| Season WHIP | 1.1939 |
| Role Avg IP | 5.4440 |
| Recent Avg IP | 6.8000 |
| Last Start IP | 5.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 68,
"wins": 36,
"losses": 32,
"win_pct": 0.5294,
"runs_scored": 320.0,
"runs_allowed": 309.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1618,
"avg_runs_scored": 4.7059,
"avg_runs_allowed": 4.5441,
"offense_index": 1.0529,
"defense_index": 0.9836,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.9,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0449
},
"opponent": {
"team": "LAD",
"games": 68,
"wins": 43,
"losses": 25,
"win_pct": 0.6324,
"runs_scored": 362.0,
"runs_allowed": 218.0,
"run_differential": 144.0,
"run_differential_per_game": 2.1176,
"avg_runs_scored": 5.3235,
"avg_runs_allowed": 3.2059,
"offense_index": 1.1911,
"defense_index": 1.3941,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.4781
},
"edges": {
"quality_edge": -0.4332,
"offense_edge": 0.0529,
"opponent_offense_edge": 0.1911,
"defense_strength": -0.0164,
"opponent_defense_weakness": -0.3941,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9745,
"run_prevention": 1.0539,
"strikeout": 0.9717
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669194",
"profile": {
"available": true,
"pitcher_id": "669194",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 252.0,
"k_percent": 18.7,
"bb_percent": 6.8,
"woba": 0.327,
"xwoba": 0.35,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 43.1,
"avg_best_speed": 80.4769,
"avg_hyper_speed": 94.7291,
"whiff_percent": 22.1,
"swing_percent": 54.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.8228,
"command_and_miss": -0.3093,
"regression_edge": -0.6571,
"xwoba_edge": -1.0,
"barrel_edge": -1.0222,
"hard_hit_edge": -0.6714,
"whiff_edge": -0.5286,
"bb_edge": 0.6,
"pitch_design_score": 0.1732
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669194",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"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.7936,
"release_spin_rate": 2349.1028,
"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.1732,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2373,
"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.5931,
"sample_weight": 1.0,
"run_prevention_factor": 1.0504,
"strikeout_factor": 0.9571,
"walk_factor": 0.952,
"homer_factor": 1.1386,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669194",
"espn_id": 4916269,
"player_name": "Ryne Nelson",
"team": "ARI",
"role": "pitcher",
"espn_rank": 595,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 595,
"gp_value": 12.0,
"gp_rank": 254,
"gs_value": 12.0,
"gs_rank": 23,
"qs_value": 4.0,
"qs_rank": 56,
"era_value": 4.8214,
"era_rank": 66.0,
"w_value": 2.0,
"w_rank": 149,
"l_value": 4.0,
"l_rank": 40,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 65.1,
"ip_rank": 49,
"h_value": 59.0,
"h_rank": 57,
"er_value": 35.0,
"er_rank": 15,
"hr_value": 15.0,
"hr_rank": 3,
"bb_value": 19.0,
"bb_rank": 82,
"k_value": 52.0,
"k_rank": 73,
"k_per_9_value": 7.163265,
"k_per_9_rank": 40,
"whip_value": 1.1938,
"whip_rank": 37.0,
"war_value": -0.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0504,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0504,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.952,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1386,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9571,
"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": 56.0,
"ER": 29,
"H": 54,
"BB": 13,
"SO": 45,
"HR": 11,
"ERA": 4.660714285714286,
"WHIP": 1.1964285714285714,
"K9": 7.232142857142857,
"HR9": 1.7678571428571428,
"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-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "669194",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"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.7936,
"release_spin_rate": 2349.1028,
"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.1732,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2373,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"role": "pitcher",
"player_id": "669194",
"report_date": "20260604_L",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 8.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 34.0,
"ER": 12.0,
"R": 13.0,
"H": 27.0,
"BB": 6.0,
"SO": 24.0,
"HR": 8.0,
"BF": 135.0,
"Pitches": 473.0
},
"per_game": {
"IP": 6.2,
"ER": 2.4,
"R": 2.6,
"H": 5.4,
"BB": 1.2,
"SO": 4.8,
"HR": 1.6,
"BF": 27.0,
"Pitches": 94.6
},
"rates": {
"ERA": 3.1765,
"WHIP": 0.9706,
"ER_per_IP": 0.35294,
"H_per_IP": 0.79412,
"BB_per_IP": 0.17647,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.23529
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.0,
"ER": 29.0,
"R": 31.0,
"H": 54.0,
"BB": 13.0,
"SO": 45.0,
"HR": 11.0,
"BF": 238.0,
"Pitches": 858.0
},
"per_game": {
"IP": 5.2,
"ER": 2.9,
"R": 3.1,
"H": 5.4,
"BB": 1.3,
"SO": 4.5,
"HR": 1.1,
"BF": 23.8,
"Pitches": 85.8
},
"rates": {
"ERA": 4.6607,
"WHIP": 1.1964,
"ER_per_IP": 0.51786,
"H_per_IP": 0.96429,
"BB_per_IP": 0.23214,
"SO_per_IP": 0.80357,
"HR_per_IP": 0.19643
}
},
"season": {
"games": 12,
"totals": {
"IP": 65.1,
"ER": 35.0,
"R": 42.0,
"H": 59.0,
"BB": 19.0,
"SO": 52.0,
"HR": 15.0,
"BF": 278.0,
"Pitches": 1021.0
},
"per_game": {
"IP": 5.1,
"ER": 2.9167,
"R": 3.5,
"H": 4.9167,
"BB": 1.5833,
"SO": 4.3333,
"HR": 1.25,
"BF": 23.1667,
"Pitches": 85.0833
},
"rates": {
"ERA": 4.8214,
"WHIP": 1.1939,
"ER_per_IP": 0.53571,
"H_per_IP": 0.90306,
"BB_per_IP": 0.29082,
"SO_per_IP": 0.79592,
"HR_per_IP": 0.22959
}
}
},
"weighted_prediction": {
"predicted_IP": 6.2,
"predicted_ER": 3.031,
"predicted_H": 5.955,
"predicted_BB": 1.738,
"predicted_SO": 5.377,
"predicted_HR": 1.298,
"predicted_ERA": 4.1184,
"predicted_WHIP": 1.1615
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7059,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"applied_metrics": {
"predicted_IP": {
"model": 8.0,
"form": 6.2,
"final": 7.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 3.031,
"final": 2.0678,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 5.955,
"final": 5.0278,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.738,
"final": 1.388,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 5.377,
"final": 5.6725,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.298,
"final": 1.1567,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1184,
"final": 4.1184,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1615,
"final": 1.1615,
"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 | Jonathan Loáisiga |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0170 |
| ESPN Rank | 211 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1748 |
| Avg Velo | 92.8214 |
| Avg Spin | 2270.1429 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 0 |
| Season WHIP | 0.4286 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 68,
"wins": 36,
"losses": 32,
"win_pct": 0.5294,
"runs_scored": 320.0,
"runs_allowed": 309.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1618,
"avg_runs_scored": 4.7059,
"avg_runs_allowed": 4.5441,
"offense_index": 1.0529,
"defense_index": 0.9836,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.9,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0449
},
"opponent": {
"team": "LAD",
"games": 68,
"wins": 43,
"losses": 25,
"win_pct": 0.6324,
"runs_scored": 362.0,
"runs_allowed": 218.0,
"run_differential": 144.0,
"run_differential_per_game": 2.1176,
"avg_runs_scored": 5.3235,
"avg_runs_allowed": 3.2059,
"offense_index": 1.1911,
"defense_index": 1.3941,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.4781
},
"edges": {
"quality_edge": -0.4332,
"offense_edge": 0.0529,
"opponent_offense_edge": 0.1911,
"defense_strength": -0.0164,
"opponent_defense_weakness": -0.3941,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9745,
"run_prevention": 1.0539,
"strikeout": 0.9717
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642528",
"profile": {
"available": true,
"pitcher_id": "642528",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 4.0,
"k_percent": 15.8,
"bb_percent": 6.3,
"woba": 0.289,
"xwoba": 0.31,
"sweet_spot_percent": 26.0,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 41.1,
"avg_best_speed": 77.4947,
"avg_hyper_speed": 94.599,
"whiff_percent": 21.4,
"swing_percent": 50.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2494,
"command_and_miss": -0.5057,
"regression_edge": -0.6,
"xwoba_edge": 0.1429,
"barrel_edge": 0.3778,
"hard_hit_edge": -0.3857,
"whiff_edge": -0.6286,
"bb_edge": 0.725,
"pitch_design_score": 0.1748
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642528",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"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.8214,
"release_spin_rate": 2270.1429,
"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.1748,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2484,
"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.017,
"sample_weight": 0.45,
"run_prevention_factor": 1.0014,
"strikeout_factor": 0.9715,
"walk_factor": 0.9739,
"homer_factor": 0.9914,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642528",
"espn_id": 39807,
"player_name": "Jonathan Loaisiga",
"team": "ARI",
"role": "pitcher",
"espn_rank": 211,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 211,
"gp_value": 26.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.1304,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 4.0,
"hld_rank": 99,
"ip_value": 23.0,
"ip_rank": 292,
"h_value": 22.0,
"h_rank": 248,
"er_value": 8.0,
"er_rank": 334,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 6.0,
"bb_rank": 388,
"k_value": 15.0,
"k_rank": 371,
"k_per_9_value": 5.869565,
"k_per_9_rank": 34,
"whip_value": 1.2173,
"whip_rank": null,
"war_value": 0.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0006,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0006,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9883,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9961,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9872,
"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": "insufficient_data"
},
"pitching": {
"IP": 2.1,
"ER": 0,
"H": 1,
"BB": 0,
"SO": 2,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.4285714285714286,
"K9": 7.714285714285715,
"HR9": 0.0,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 2,
"error_prone": false
},
"games_count": 2,
"latest_game_date": "2026-03-28T00:00:00"
}{
"available": true,
"pitcher_id": "642528",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"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.8214,
"release_spin_rate": 2270.1429,
"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.1748,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2484,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.461,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0843,
"prior_weight": 0.9157
},
"role": "pitcher",
"player_id": "642528",
"report_date": "20260604_L",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"season": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.185,
"predicted_H": 0.381,
"predicted_BB": 0.14,
"predicted_SO": 0.39,
"predicted_HR": 0.052,
"predicted_ERA": 3.9765,
"predicted_WHIP": 1.2474
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7369,
"form_weight": 0.2631,
"form_reliability": 0.0843,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.461,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0843,
"prior_weight": 0.9157
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.185,
"final": 0.0487,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.381,
"final": 0.1002,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.14,
"final": 0.0368,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.39,
"final": 0.8395,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.052,
"final": 0.0137,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9765,
"final": 3.9765,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2474,
"final": 1.2474,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kevin Ginkel |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0061 |
| ESPN Rank | 177 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 9 |
| Season WHIP | 2 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 68,
"wins": 36,
"losses": 32,
"win_pct": 0.5294,
"runs_scored": 320.0,
"runs_allowed": 309.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1618,
"avg_runs_scored": 4.7059,
"avg_runs_allowed": 4.5441,
"offense_index": 1.0529,
"defense_index": 0.9836,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.9,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0449
},
"opponent": {
"team": "LAD",
"games": 68,
"wins": 43,
"losses": 25,
"win_pct": 0.6324,
"runs_scored": 362.0,
"runs_allowed": 218.0,
"run_differential": 144.0,
"run_differential_per_game": 2.1176,
"avg_runs_scored": 5.3235,
"avg_runs_allowed": 3.2059,
"offense_index": 1.1911,
"defense_index": 1.3941,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.4781
},
"edges": {
"quality_edge": -0.4332,
"offense_edge": 0.0529,
"opponent_offense_edge": 0.1911,
"defense_strength": -0.0164,
"opponent_defense_weakness": -0.3941,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9745,
"run_prevention": 1.0539,
"strikeout": 0.9717
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656464",
"profile": {
"available": true,
"pitcher_id": "656464",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.312,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0343,
"command_and_miss": 0.0,
"regression_edge": -0.0571,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656464",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0061,
"sample_weight": 0.45,
"run_prevention_factor": 0.9995,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9988,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656464",
"espn_id": 41432,
"player_name": "Kevin Ginkel",
"team": "ARI",
"role": "pitcher",
"espn_rank": 177,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 177,
"gp_value": 26.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.9589,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 4.0,
"hld_rank": 99,
"ip_value": 24.1,
"ip_rank": 269,
"h_value": 19.0,
"h_rank": 291,
"er_value": 8.0,
"er_rank": 334,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 6.0,
"bb_rank": 388,
"k_value": 29.0,
"k_rank": 200,
"k_per_9_value": 10.7260275,
"k_per_9_rank": 20,
"whip_value": 1.0273,
"whip_rank": null,
"war_value": 0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9998,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
}
}
}
}{
"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": "insufficient_data"
},
"pitching": {
"IP": 1.0,
"ER": 1,
"H": 2,
"BB": 0,
"SO": 0,
"HR": 0,
"ERA": 9.0,
"WHIP": 2.0,
"K9": 0.0,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-27T00:00:00"
}{
"available": false,
"pitcher_id": "656464",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.197,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.038,
"prior_weight": 0.962
},
"role": "pitcher",
"player_id": "656464",
"report_date": "20260604_L",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.18,
"predicted_H": 0.357,
"predicted_BB": 0.127,
"predicted_SO": 0.325,
"predicted_HR": 0.047,
"predicted_ERA": 4.5196,
"predicted_WHIP": 1.3485
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7564,
"form_weight": 0.2436,
"form_reliability": 0.038,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.197,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.038,
"prior_weight": 0.962
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.18,
"final": 2.3132,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 0.357,
"final": 3.1127,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.127,
"final": 0.7874,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.325,
"final": 0.8356,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.047,
"final": 0.7679,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5196,
"final": 4.5196,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3485,
"final": 1.3485,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Paul Sewald |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0061 |
| ESPN Rank | 251 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 0 |
| Season WHIP | 0 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 68,
"wins": 36,
"losses": 32,
"win_pct": 0.5294,
"runs_scored": 320.0,
"runs_allowed": 309.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1618,
"avg_runs_scored": 4.7059,
"avg_runs_allowed": 4.5441,
"offense_index": 1.0529,
"defense_index": 0.9836,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.9,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0449
},
"opponent": {
"team": "LAD",
"games": 68,
"wins": 43,
"losses": 25,
"win_pct": 0.6324,
"runs_scored": 362.0,
"runs_allowed": 218.0,
"run_differential": 144.0,
"run_differential_per_game": 2.1176,
"avg_runs_scored": 5.3235,
"avg_runs_allowed": 3.2059,
"offense_index": 1.1911,
"defense_index": 1.3941,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.4781
},
"edges": {
"quality_edge": -0.4332,
"offense_edge": 0.0529,
"opponent_offense_edge": 0.1911,
"defense_strength": -0.0164,
"opponent_defense_weakness": -0.3941,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9745,
"run_prevention": 1.0539,
"strikeout": 0.9717
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623149",
"profile": {
"available": true,
"pitcher_id": "623149",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.312,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0343,
"command_and_miss": 0.0,
"regression_edge": -0.0571,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623149",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0061,
"sample_weight": 0.45,
"run_prevention_factor": 0.9995,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9988,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623149",
"espn_id": 35009,
"player_name": "Paul Sewald",
"team": "ARI",
"role": "pitcher",
"espn_rank": 251,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 251,
"gp_value": 25.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.6268,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 4.0,
"l_rank": 40,
"sv_value": 15.0,
"sv_rank": 4,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 22.1,
"ip_rank": 307,
"h_value": 10.0,
"h_rank": 445,
"er_value": 9.0,
"er_rank": 297,
"hr_value": 4.0,
"hr_rank": 158,
"bb_value": 6.0,
"bb_rank": 388,
"k_value": 24.0,
"k_rank": 263,
"k_per_9_value": 9.671641,
"k_per_9_rank": 23,
"whip_value": 0.7164,
"whip_rank": null,
"war_value": 0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
}
}
}
}{
"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": "insufficient_data"
},
"pitching": {
"IP": 0.1,
"ER": 0,
"H": 0,
"BB": 0,
"SO": 0,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.0,
"K9": 0.0,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-28T00:00:00"
}{
"available": false,
"pitcher_id": "623149",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"role": "pitcher",
"player_id": "623149",
"report_date": "20260604_L",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.159,
"predicted_H": 0.314,
"predicted_BB": 0.121,
"predicted_SO": 0.31,
"predicted_HR": 0.045,
"predicted_ERA": 4.2862,
"predicted_WHIP": 1.3055
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.767,
"form_weight": 0.233,
"form_reliability": 0.013,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.159,
"final": 0.8041,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.314,
"final": 0.8402,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.121,
"final": 0.7952,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.31,
"final": 0.8392,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.045,
"final": 0.0105,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2862,
"final": 4.2862,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3055,
"final": 1.3055,
"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 | Taylor Clarke |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0061 |
| ESPN Rank | 112 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.1000 |
| Pre ER | 1 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 108 |
| Season WHIP | 9 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 68,
"wins": 36,
"losses": 32,
"win_pct": 0.5294,
"runs_scored": 320.0,
"runs_allowed": 309.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1618,
"avg_runs_scored": 4.7059,
"avg_runs_allowed": 4.5441,
"offense_index": 1.0529,
"defense_index": 0.9836,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.9,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0449
},
"opponent": {
"team": "LAD",
"games": 68,
"wins": 43,
"losses": 25,
"win_pct": 0.6324,
"runs_scored": 362.0,
"runs_allowed": 218.0,
"run_differential": 144.0,
"run_differential_per_game": 2.1176,
"avg_runs_scored": 5.3235,
"avg_runs_allowed": 3.2059,
"offense_index": 1.1911,
"defense_index": 1.3941,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.9,
"avg_runs_allowed": 2.7,
"run_differential": 32.0
},
"available": true,
"quality_score": 0.4781
},
"edges": {
"quality_edge": -0.4332,
"offense_edge": 0.0529,
"opponent_offense_edge": 0.1911,
"defense_strength": -0.0164,
"opponent_defense_weakness": -0.3941,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9745,
"run_prevention": 1.0539,
"strikeout": 0.9717
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "664199",
"profile": {
"available": true,
"pitcher_id": "664199",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.312,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0343,
"command_and_miss": 0.0,
"regression_edge": -0.0571,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664199",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0061,
"sample_weight": 0.45,
"run_prevention_factor": 0.9995,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9988,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664199",
"espn_id": 35277,
"player_name": "Taylor Clarke",
"team": "ARI",
"role": "pitcher",
"espn_rank": 112,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 112,
"gp_value": 28.0,
"gp_rank": 21,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 1.7307,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 11.0,
"hld_rank": 5,
"ip_value": 26.0,
"ip_rank": 238,
"h_value": 15.0,
"h_rank": 362,
"er_value": 5.0,
"er_rank": 444,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 4.0,
"bb_rank": 462,
"k_value": 13.0,
"k_rank": 403,
"k_per_9_value": 4.5,
"k_per_9_rank": 45,
"whip_value": 0.7307,
"whip_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 9.0,
"factor": 0.9998,
"adjusted": 9
},
"predicted_H": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
}
}
}
}{
"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": "insufficient_data"
},
"pitching": {
"IP": 0.1,
"ER": 4,
"H": 3,
"BB": 0,
"SO": 0,
"HR": 1,
"ERA": 108.0,
"WHIP": 9.0,
"K9": 0.0,
"HR9": 27.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-26T00:00:00"
}{
"available": false,
"pitcher_id": "664199",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"role": "pitcher",
"player_id": "664199",
"report_date": "20260604_L",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"per_game": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"rates": {
"ERA": 108.0,
"WHIP": 9.0,
"ER_per_IP": 12.0,
"H_per_IP": 9.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 3.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"per_game": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"rates": {
"ERA": 108.0,
"WHIP": 9.0,
"ER_per_IP": 12.0,
"H_per_IP": 9.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 3.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"per_game": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"rates": {
"ERA": 108.0,
"WHIP": 9.0,
"ER_per_IP": 12.0,
"H_per_IP": 9.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 3.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.211,
"predicted_H": 0.353,
"predicted_BB": 0.121,
"predicted_SO": 0.31,
"predicted_HR": 0.058,
"predicted_ERA": 5.6902,
"predicted_WHIP": 1.4225
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.767,
"form_weight": 0.233,
"form_reliability": 0.013,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.211,
"final": 0.8162,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.353,
"final": 0.0822,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.121,
"final": 0.0282,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.31,
"final": 0.0722,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.058,
"final": 0.0135,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.6902,
"final": 5.6902,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4225,
"final": 1.4225,
"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.202 | 0.000 | 0.000 | Hitting_2B | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_3B | 0.039 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 4.640 | 4.000 | 8.000 | Hitting_AB | 4.218 | 3.000 | -0.218 | 1.000 |
| predicted_AVG | 0.229 | 0.000 | 0.250 | Hitting_AVG | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_BB | 0.303 | 0.000 | 1.000 | Hitting_BB | 0.306 | 1.000 | -0.306 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.060 | 0.000 | 2.000 | Hitting_H | 1.162 | 0.000 | -1.162 | 0.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_OBP | 0.308 | 0.000 | 0.333 | Hitting_OBP | 0.322 | 0.200 | -0.322 | -0.200 |
| predicted_R | 0.667 | 0.000 | 1.000 | Hitting_R | 0.664 | 1.000 | -0.664 | -1.000 |
| predicted_RBI | 0.770 | 0.000 | 1.000 | Hitting_RBI | 0.655 | 1.000 | -0.655 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.436 | 0.000 | 0.250 | Hitting_SLG | 0.469 | 0.000 | -0.469 | 0.000 |
| predicted_SO | 0.697 | 0.000 | 1.000 | Hitting_SO | 0.694 | 1.000 | -0.694 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 11 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 1.0600 -> 0.0000 (deboost -1.0600, 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 | 10 | 8 | 2 | 7 | 3 | predicted_AB: 4.6400 -> 8.4440 (boost 3.8040, better) | predicted_SLG: 0.4360 -> 0.4216 (deboost -0.0144, 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 | 0 | 6 | 0 | 6 | - | predicted_RBI: 1.4089 -> 1.2842 (deboost -0.1247, 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 | 3 | 5 | predicted_BB: 0.7896 -> 1.0000 (boost 0.2104, better) | predicted_AB: 8.4440 -> 8.0000 (deboost -0.4440, worse) | AB rounded to 8 (raw=8.44), rates preserved: AVG=0.213 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0900 -> 1.0000 (deboost -0.0900, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2801 -> 0.3330 (boost 0.0529, better) | predicted_SLG: 0.3890 -> 0.2500 (deboost -0.1390, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3890 (boost 0.1390, better) | predicted_OBP: 0.3330 -> 0.2801 (deboost -0.0529, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606466",
"player_name": "Ketel Marte",
"position": "2B",
"team": "ARI",
"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.202,
"predicted_3B": 0.039,
"predicted_AB": 4.64,
"predicted_AVG": 0.229,
"predicted_BB": 0.303,
"predicted_H": 1.06,
"predicted_HR": 0.2,
"predicted_OBP": 0.308,
"predicted_R": 0.667,
"predicted_RBI": 0.77,
"predicted_SLG": 0.436,
"predicted_SO": 0.697
},
"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.3142,
"predicted_3B": 0.0602,
"predicted_AB": 8.444,
"predicted_AVG": 0.2263,
"predicted_BB": 0.7983,
"predicted_H": 1.8963,
"predicted_HBP": 0.003,
"predicted_HR": 0.3714,
"predicted_OBP": 0.302,
"predicted_R": 1.1958,
"predicted_RBI": 1.4089,
"predicted_SLG": 0.4216,
"predicted_SO": 1.3389
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 0.3142,
"delta": 0.1122,
"percent_delta": 0.5554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0602,
"delta": 0.0212,
"percent_delta": 0.5436,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.64,
"after": 8.444,
"delta": 3.804,
"percent_delta": 0.8198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2263,
"delta": -0.0027,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.7983,
"delta": 0.4953,
"percent_delta": 1.6347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.8963,
"delta": 0.8363,
"percent_delta": 0.789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.3714,
"delta": 0.1714,
"percent_delta": 0.857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.302,
"delta": -0.006,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 1.1958,
"delta": 0.5288,
"percent_delta": 0.7928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 1.4089,
"delta": 0.6389,
"percent_delta": 0.8297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.4216,
"delta": -0.0144,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.697,
"after": 1.3389,
"delta": 0.6419,
"percent_delta": 0.9209,
"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": 4.64,
"after": 8.444,
"delta": 3.804,
"percent_delta": 0.8198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.4216,
"delta": -0.0144,
"percent_delta": -0.033,
"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": 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.3142,
"predicted_3B": 0.0602,
"predicted_AB": 8.444,
"predicted_AVG": 0.2128,
"predicted_BB": 0.7896,
"predicted_H": 1.7966,
"predicted_HBP": 0.003,
"predicted_HR": 0.3511,
"predicted_OBP": 0.2801,
"predicted_R": 1.09,
"predicted_RBI": 1.2842,
"predicted_SLG": 0.389,
"predicted_SO": 1.3535
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3142,
"after": 0.3142,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0602,
"after": 0.0602,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.444,
"after": 8.444,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2263,
"after": 0.2128,
"delta": -0.0135,
"percent_delta": -0.0597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7983,
"after": 0.7896,
"delta": -0.0087,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8963,
"after": 1.7966,
"delta": -0.0997,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3714,
"after": 0.3511,
"delta": -0.0203,
"percent_delta": -0.0547,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2801,
"delta": -0.0219,
"percent_delta": -0.0725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1958,
"after": 1.09,
"delta": -0.1058,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4089,
"after": 1.2842,
"delta": -0.1247,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4216,
"after": 0.389,
"delta": -0.0326,
"percent_delta": -0.0773,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3389,
"after": 1.3535,
"delta": 0.0146,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.4089,
"after": 1.2842,
"delta": -0.1247,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.44), rates preserved: AVG=0.213 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.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.3142,
"after": 0.0,
"delta": -0.3142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0602,
"after": 0.0,
"delta": -0.0602,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.444,
"after": 8.0,
"delta": -0.444,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7896,
"after": 1.0,
"delta": 0.2104,
"percent_delta": 0.2665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7966,
"after": 2.0,
"delta": 0.2034,
"percent_delta": 0.1132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3511,
"after": 0.0,
"delta": -0.3511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2842,
"after": 1.0,
"delta": -0.2842,
"percent_delta": -0.2213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3535,
"after": 1.0,
"delta": -0.3535,
"percent_delta": -0.2612,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.7896,
"after": 1.0,
"delta": 0.2104,
"percent_delta": 0.2665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.444,
"after": 8.0,
"delta": -0.444,
"percent_delta": -0.0526,
"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": 8.0,
"predicted_BB": 1.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": 8.0,
"after": 8.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": 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": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"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": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2128,
"after": 0.25,
"delta": 0.0372,
"percent_delta": 0.1748,
"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": 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.2801,
"after": 0.333,
"delta": 0.0529,
"percent_delta": 0.1889,
"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.389,
"after": 0.25,
"delta": -0.139,
"percent_delta": -0.3573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2801,
"after": 0.333,
"delta": 0.0529,
"percent_delta": 0.1889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.25,
"delta": -0.139,
"percent_delta": -0.3573,
"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": 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": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"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": 4.0,
"predicted_AVG": 0.2128,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2801,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.389,
"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.25,
"after": 0.2128,
"delta": -0.0372,
"percent_delta": -0.149,
"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.2801,
"delta": -0.0529,
"percent_delta": -0.1589,
"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.25,
"after": 0.389,
"delta": 0.139,
"percent_delta": 0.5559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.389,
"delta": 0.139,
"percent_delta": 0.5559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2801,
"delta": -0.0529,
"percent_delta": -0.1589,
"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.202,
"after": 0.0,
"delta": -0.202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.64,
"after": 4.0,
"delta": -0.64,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2128,
"delta": -0.0162,
"percent_delta": -0.0707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.0,
"delta": -0.303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.2801,
"delta": -0.0279,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.389,
"delta": -0.047,
"percent_delta": -0.1078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.697,
"after": 0.0,
"delta": -0.697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 0,
"deboosted_metrics": 11,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"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.202 | - |
| predicted_3B | 0.039 | - |
| predicted_AB | 4.640 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.303 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.770 | - |
| predicted_SLG | 0.436 | - |
| predicted_SO | 0.697 | - |
Final model 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.314 | 0.112 |
| predicted_3B | 0.060 | 0.021 |
| predicted_AB | 8.444 | 3.804 |
| predicted_AVG | 0.226 | -0.003 |
| predicted_BB | 0.798 | 0.495 |
| predicted_H | 1.896 | 0.836 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.371 | 0.171 |
| predicted_OBP | 0.302 | -0.006 |
| predicted_R | 1.196 | 0.529 |
| predicted_RBI | 1.409 | 0.639 |
| predicted_SLG | 0.422 | -0.014 |
| predicted_SO | 1.339 | 0.642 |
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.314 | 0.000 |
| predicted_3B | 0.060 | 0.000 |
| predicted_AB | 8.444 | 0.000 |
| predicted_AVG | 0.213 | -0.014 |
| predicted_BB | 0.790 | -0.009 |
| predicted_H | 1.797 | -0.100 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.351 | -0.020 |
| predicted_OBP | 0.280 | -0.022 |
| predicted_R | 1.090 | -0.106 |
| predicted_RBI | 1.284 | -0.125 |
| predicted_SLG | 0.389 | -0.033 |
| predicted_SO | 1.353 | 0.015 |
AB rounded to 8 (raw=8.44), rates preserved: AVG=0.213 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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.314 |
| predicted_3B | 0.000 | -0.060 |
| predicted_AB | 8.000 | -0.444 |
| predicted_AVG | 0.250 | 0.037 |
| predicted_BB | 1.000 | 0.210 |
| predicted_H | 2.000 | 0.203 |
| predicted_HR | 0.000 | -0.351 |
| predicted_OBP | 0.333 | 0.053 |
| predicted_R | 1.000 | -0.090 |
| predicted_RBI | 1.000 | -0.284 |
| predicted_SLG | 0.250 | -0.139 |
| predicted_SO | 1.000 | -0.353 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 4.000 | 3.000 | 0.0556 | 0.2083 | 0.2222 | 0.0556 | 0.0556 | 0.2222 | 0.2222 | 0.1667 |
| last_10 | 0.20 | 6 | - | 43.000 | 11.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 4.000 | 3.000 | 0.2558 | 0.3061 | 0.3256 | 0.2558 | 0.0233 | 0.0930 | 0.0930 | 0.0698 |
| season | 0.60 | 56 | - | 966.000 | 266.000 | 46.000 | 9.000 | 41.000 | 150.000 | 152.000 | 69.000 | 159.000 | 0.2754 | 0.3215 | 0.4689 | 0.2754 | 0.0424 | 0.1553 | 0.0714 | 0.1646 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4560 |
| predicted_3B | 0.0870 |
| predicted_AB | 13.2500 |
| predicted_AVG | 0.2229 |
| predicted_BB | 1.4240 |
| predicted_H | 2.9530 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.5880 |
| predicted_OBP | 0.2944 |
| predicted_R | 1.8640 |
| predicted_RBI | 2.2160 |
| predicted_SLG | 0.4035 |
| predicted_SO | 2.1500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2020 | 0.4560 | 0.3142 | model_form_blend |
| predicted_3B | 0.0390 | 0.0870 | 0.0602 | model_form_blend |
| predicted_AB | 4.6400 | 13.2500 | 8.4440 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2229 | 0.2263 | model_form_blend |
| predicted_BB | 0.3030 | 1.4240 | 0.7983 | model_form_blend |
| predicted_H | 1.0600 | 2.9530 | 1.8963 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.2000 | 0.5880 | 0.3714 | model_form_blend |
| predicted_OBP | 0.3080 | 0.2944 | 0.3020 | model_form_blend |
| predicted_R | 0.6670 | 1.8640 | 1.1958 | model_form_blend |
| predicted_RBI | 0.7700 | 2.2160 | 1.4089 | model_form_blend |
| predicted_SLG | 0.4360 | 0.4035 | 0.4216 | model_form_blend |
| predicted_SO | 0.6970 | 2.1500 | 1.3389 | 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 | 229 |
| Season rows before report date | 229 |
| Report year | 2026 |
| Profile rows used | 228 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.275 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260602_LAD@ARI |
| game_type | full |
| mlbID | 606466 |
| playerID | 606466 |
| playerName | Ketel Marte |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-02 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.336 |
| sl_xwoba | 0.377 |
| sl_xba | 0.306 |
| sl_xslg | 0.511 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 48.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.233 | 0.000 | 0.000 | Hitting_2B | 0.233 | 1.000 | -0.233 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.700 | 4.000 | 6.000 | Hitting_AB | 3.612 | 4.000 | 0.388 | 0.000 |
| predicted_AVG | 0.240 | 0.000 | 0.167 | Hitting_AVG | 0.262 | 0.250 | -0.262 | -0.250 |
| predicted_BB | 0.357 | 0.000 | 1.000 | Hitting_BB | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.890 | 0.000 | 1.000 | Hitting_H | 0.946 | 1.000 | -0.946 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_OBP | 0.323 | 0.000 | 0.286 | Hitting_OBP | 0.326 | 0.250 | -0.326 | -0.250 |
| predicted_R | 0.550 | 0.000 | 1.000 | Hitting_R | 0.550 | 0.000 | -0.550 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.574 | 0.000 | -0.574 | 0.000 |
| predicted_SLG | 0.390 | 0.000 | 0.167 | Hitting_SLG | 0.410 | 0.500 | -0.410 | -0.500 |
| predicted_SO | 0.853 | 2.000 | 1.000 | Hitting_SO | 0.853 | 1.000 | 1.147 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.8530 -> 2.0000 (boost 1.1470, worse) |
| Biggest Deboost | predicted_H: 0.8900 -> 0.0000 (deboost -0.8900, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.7000 -> 6.0497 (boost 2.3497, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 1.5167 -> 1.4369 (deboost -0.0798, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.7178 -> 1.0000 (boost 0.2822, better) | predicted_H: 1.4369 -> 1.0000 (deboost -0.4369, worse) | AB rounded to 6 (raw=6.05), rates preserved: AVG=0.238 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7998 -> 1.0000 (boost 0.2002, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3653 -> 0.1670 (deboost -0.1983, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 0 | 6 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3653 (boost 0.1983, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "C",
"team": "ARI",
"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.233,
"predicted_3B": 0.0,
"predicted_AB": 3.7,
"predicted_AVG": 0.24,
"predicted_BB": 0.357,
"predicted_H": 0.89,
"predicted_HR": 0.1,
"predicted_OBP": 0.323,
"predicted_R": 0.55,
"predicted_RBI": 0.45,
"predicted_SLG": 0.39,
"predicted_SO": 0.853
},
"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.3876,
"predicted_3B": 0.0009,
"predicted_AB": 6.0497,
"predicted_AVG": 0.247,
"predicted_BB": 0.7257,
"predicted_H": 1.5167,
"predicted_HBP": 0.068,
"predicted_HR": 0.1352,
"predicted_OBP": 0.3289,
"predicted_R": 0.8775,
"predicted_RBI": 0.8092,
"predicted_SLG": 0.3859,
"predicted_SO": 1.4076
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.3876,
"delta": 0.1546,
"percent_delta": 0.6635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7,
"after": 6.0497,
"delta": 2.3497,
"percent_delta": 0.6351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.247,
"delta": 0.007,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.7257,
"delta": 0.3687,
"percent_delta": 1.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.5167,
"delta": 0.6267,
"percent_delta": 0.7042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1352,
"delta": 0.0352,
"percent_delta": 0.352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3289,
"delta": 0.0059,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.55,
"after": 0.8775,
"delta": 0.3275,
"percent_delta": 0.5955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.8092,
"delta": 0.3592,
"percent_delta": 0.7982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3859,
"delta": -0.0041,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.853,
"after": 1.4076,
"delta": 0.5546,
"percent_delta": 0.6502,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7,
"after": 6.0497,
"delta": 2.3497,
"percent_delta": 0.6351,
"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": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3876,
"predicted_3B": 0.0009,
"predicted_AB": 6.0497,
"predicted_AVG": 0.2375,
"predicted_BB": 0.7178,
"predicted_H": 1.4369,
"predicted_HBP": 0.068,
"predicted_HR": 0.1278,
"predicted_OBP": 0.3184,
"predicted_R": 0.7998,
"predicted_RBI": 0.7376,
"predicted_SLG": 0.3653,
"predicted_SO": 1.4229
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3876,
"after": 0.3876,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0497,
"after": 6.0497,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2375,
"delta": -0.0095,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7257,
"after": 0.7178,
"delta": -0.0079,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5167,
"after": 1.4369,
"delta": -0.0798,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.068,
"after": 0.068,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1352,
"after": 0.1278,
"delta": -0.0074,
"percent_delta": -0.0547,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3289,
"after": 0.3184,
"delta": -0.0105,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8775,
"after": 0.7998,
"delta": -0.0777,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8092,
"after": 0.7376,
"delta": -0.0716,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3859,
"after": 0.3653,
"delta": -0.0206,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4076,
"after": 1.4229,
"delta": 0.0153,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.5167,
"after": 1.4369,
"delta": -0.0798,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.05), rates preserved: AVG=0.238 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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.3876,
"after": 0.0,
"delta": -0.3876,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0497,
"after": 6.0,
"delta": -0.0497,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7178,
"after": 1.0,
"delta": 0.2822,
"percent_delta": 0.3931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4369,
"after": 1.0,
"delta": -0.4369,
"percent_delta": -0.3041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1278,
"after": 0.0,
"delta": -0.1278,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7376,
"after": 1.0,
"delta": 0.2624,
"percent_delta": 0.3557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4229,
"after": 1.0,
"delta": -0.4229,
"percent_delta": -0.2972,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.7178,
"after": 1.0,
"delta": 0.2822,
"percent_delta": 0.3931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4369,
"after": 1.0,
"delta": -0.4369,
"percent_delta": -0.3041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 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": 6.0,
"after": 6.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.7998,
"after": 1.0,
"delta": 0.2002,
"percent_delta": 0.2503,
"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.7998,
"after": 1.0,
"delta": 0.2002,
"percent_delta": 0.2503,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.2375,
"after": 0.167,
"delta": -0.0705,
"percent_delta": -0.2968,
"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.3184,
"after": 0.286,
"delta": -0.0324,
"percent_delta": -0.1018,
"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.3653,
"after": 0.167,
"delta": -0.1983,
"percent_delta": -0.5428,
"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.3653,
"after": 0.167,
"delta": -0.1983,
"percent_delta": -0.5428,
"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": 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": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"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": 4.0,
"predicted_AVG": 0.2375,
"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.3184,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3653,
"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.167,
"after": 0.2375,
"delta": 0.0705,
"percent_delta": 0.4223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3184,
"delta": 0.0324,
"percent_delta": 0.1133,
"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.167,
"after": 0.3653,
"delta": 0.1983,
"percent_delta": 1.1872,
"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.167,
"after": 0.3653,
"delta": 0.1983,
"percent_delta": 1.1872,
"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.233,
"after": 0.0,
"delta": -0.233,
"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.7,
"after": 4.0,
"delta": 0.3,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2375,
"delta": -0.0025,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3184,
"delta": -0.0046,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3653,
"delta": -0.0247,
"percent_delta": -0.0633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.853,
"after": 2.0,
"delta": 1.147,
"percent_delta": 1.3447,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.853,
"after": 2.0,
"delta": 1.147,
"percent_delta": 1.3447,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"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.233 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.700 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.357 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.550 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 0.853 | - |
Final model 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.388 | 0.155 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.050 | 2.350 |
| predicted_AVG | 0.247 | 0.007 |
| predicted_BB | 0.726 | 0.369 |
| predicted_H | 1.517 | 0.627 |
| predicted_HBP | 0.068 | - |
| predicted_HR | 0.135 | 0.035 |
| predicted_OBP | 0.329 | 0.006 |
| predicted_R | 0.877 | 0.327 |
| predicted_RBI | 0.809 | 0.359 |
| predicted_SLG | 0.386 | -0.004 |
| predicted_SO | 1.408 | 0.555 |
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.388 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.050 | 0.000 |
| predicted_AVG | 0.237 | -0.010 |
| predicted_BB | 0.718 | -0.008 |
| predicted_H | 1.437 | -0.080 |
| predicted_HBP | 0.068 | 0.000 |
| predicted_HR | 0.128 | -0.007 |
| predicted_OBP | 0.318 | -0.011 |
| predicted_R | 0.800 | -0.078 |
| predicted_RBI | 0.738 | -0.072 |
| predicted_SLG | 0.365 | -0.021 |
| predicted_SO | 1.423 | 0.015 |
AB rounded to 6 (raw=6.05), rates preserved: AVG=0.238 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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.388 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.050 |
| predicted_AVG | 0.167 | -0.070 |
| predicted_BB | 1.000 | 0.282 |
| predicted_H | 1.000 | -0.437 |
| predicted_HR | 0.000 | -0.128 |
| predicted_OBP | 0.286 | -0.032 |
| predicted_R | 1.000 | 0.200 |
| predicted_RBI | 1.000 | 0.262 |
| predicted_SLG | 0.167 | -0.198 |
| predicted_SO | 1.000 | -0.423 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 0.2000 | 0.3333 | 0.2667 | 0.2000 | 0.0000 | 0.0000 | 0.2000 | 0.2667 |
| last_10 | 0.20 | 7 | - | 28.000 | 10.000 | 2.000 | 0.000 | 0.000 | 10.000 | 3.000 | 7.000 | 4.000 | 0.3571 | 0.4359 | 0.4286 | 0.3571 | 0.0000 | 0.3571 | 0.2500 | 0.1429 |
| season | 0.60 | 38 | - | 466.000 | 122.000 | 30.000 | 0.000 | 13.000 | 74.000 | 71.000 | 46.000 | 110.000 | 0.2618 | 0.3264 | 0.4099 | 0.2618 | 0.0279 | 0.1588 | 0.0987 | 0.2361 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5890 |
| predicted_3B | 0.0020 |
| predicted_AB | 9.1100 |
| predicted_AVG | 0.2561 |
| predicted_BB | 1.2060 |
| predicted_H | 2.3330 |
| predicted_HBP | 0.0680 |
| predicted_HR | 0.1810 |
| predicted_OBP | 0.3366 |
| predicted_R | 1.3040 |
| predicted_RBI | 1.2770 |
| predicted_SLG | 0.3806 |
| predicted_SO | 2.1300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2330 | 0.5890 | 0.3876 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.7000 | 9.1100 | 6.0497 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2561 | 0.2470 | model_form_blend |
| predicted_BB | 0.3570 | 1.2060 | 0.7257 | model_form_blend |
| predicted_H | 0.8900 | 2.3330 | 1.5167 | model_form_blend |
| predicted_HBP | - | 0.0680 | 0.0680 | form_only |
| predicted_HR | 0.1000 | 0.1810 | 0.1352 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3366 | 0.3289 | model_form_blend |
| predicted_R | 0.5500 | 1.3040 | 0.8775 | model_form_blend |
| predicted_RBI | 0.4500 | 1.2770 | 0.8092 | model_form_blend |
| predicted_SLG | 0.3900 | 0.3806 | 0.3859 | model_form_blend |
| predicted_SO | 0.8530 | 2.1300 | 1.4076 | 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 | 129 |
| Season rows before report date | 129 |
| Report year | 2026 |
| Profile rows used | 129 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.262 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 672515 |
| playerID | 672515 |
| playerName | Gabriel Moreno |
| pos | C |
| started | True |
| startingPosition | C |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.322 |
| sl_xwoba | 0.35 |
| sl_xba | 0.264 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 39.6 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 43.6 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 18.6 |
| sl_swing_percent | 44.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.246 | 0.000 | 0.000 | Hitting_2B | 0.246 | 0.000 | -0.246 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.590 | 4.000 | 6.000 | Hitting_AB | 3.467 | 4.000 | 0.533 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.167 | Hitting_AVG | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_BB | 0.387 | 0.000 | 1.000 | Hitting_BB | 0.387 | 0.000 | -0.387 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.850 | 0.000 | 1.000 | Hitting_H | 0.955 | 0.000 | -0.955 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_OBP | 0.320 | 0.000 | 0.286 | Hitting_OBP | 0.359 | 0.000 | -0.359 | 0.000 |
| predicted_R | 0.578 | 0.000 | 1.000 | Hitting_R | 0.578 | 0.000 | -0.578 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.593 | 0.000 | -0.593 | 0.000 |
| predicted_SLG | 0.419 | 0.000 | 0.167 | Hitting_SLG | 0.477 | 0.000 | -0.477 | 0.000 |
| predicted_SO | 0.714 | 3.000 | 1.000 | Hitting_SO | 0.714 | 2.000 | 2.286 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.7140 -> 3.0000 (boost 2.2860, worse) |
| Biggest Deboost | predicted_H: 0.8500 -> 0.0000 (deboost -0.8500, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.5900 -> 6.1038 (boost 2.5138, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_RBI: 0.9803 -> 0.8935 (deboost -0.0868, 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 | 3 | 5 | predicted_BB: 0.6488 -> 1.0000 (boost 0.3512, better) | predicted_SO: 1.4333 -> 1.0000 (deboost -0.4333, better) | AB rounded to 6 (raw=6.10), rates preserved: AVG=0.232 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8776 -> 1.0000 (boost 0.1224, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4228 -> 0.1670 (deboost -0.2558, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 0 | 6 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.4228 (boost 0.2558, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571448",
"player_name": "Nolan Arenado",
"position": "3B",
"team": "ARI",
"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.246,
"predicted_3B": 0.0,
"predicted_AB": 3.59,
"predicted_AVG": 0.238,
"predicted_BB": 0.387,
"predicted_H": 0.85,
"predicted_HR": 0.14,
"predicted_OBP": 0.32,
"predicted_R": 0.578,
"predicted_RBI": 0.53,
"predicted_SLG": 0.419,
"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.4042,
"predicted_3B": 0.0004,
"predicted_AB": 6.1038,
"predicted_AVG": 0.2427,
"predicted_BB": 0.6559,
"predicted_H": 1.4936,
"predicted_HBP": 0.308,
"predicted_HR": 0.2683,
"predicted_OBP": 0.3282,
"predicted_R": 0.9628,
"predicted_RBI": 0.9803,
"predicted_SLG": 0.434,
"predicted_SO": 1.4178
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.246,
"after": 0.4042,
"delta": 0.1582,
"percent_delta": 0.6431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.59,
"after": 6.1038,
"delta": 2.5138,
"percent_delta": 0.7002,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2427,
"delta": 0.0047,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.6559,
"delta": 0.2689,
"percent_delta": 0.6948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.4936,
"delta": 0.6436,
"percent_delta": 0.7572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.2683,
"delta": 0.1283,
"percent_delta": 0.9164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3282,
"delta": 0.0082,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.578,
"after": 0.9628,
"delta": 0.3848,
"percent_delta": 0.6657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.9803,
"delta": 0.4503,
"percent_delta": 0.8496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.434,
"delta": 0.015,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 1.4178,
"delta": 0.7038,
"percent_delta": 0.9857,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.59,
"after": 6.1038,
"delta": 2.5138,
"percent_delta": 0.7002,
"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": 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.4042,
"predicted_3B": 0.0004,
"predicted_AB": 6.1038,
"predicted_AVG": 0.2318,
"predicted_BB": 0.6488,
"predicted_H": 1.415,
"predicted_HBP": 0.308,
"predicted_HR": 0.2536,
"predicted_OBP": 0.3056,
"predicted_R": 0.8776,
"predicted_RBI": 0.8935,
"predicted_SLG": 0.4228,
"predicted_SO": 1.4333
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4042,
"after": 0.4042,
"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": 6.1038,
"after": 6.1038,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2427,
"after": 0.2318,
"delta": -0.0109,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6559,
"after": 0.6488,
"delta": -0.0071,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4936,
"after": 1.415,
"delta": -0.0786,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.308,
"after": 0.308,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2683,
"after": 0.2536,
"delta": -0.0147,
"percent_delta": -0.0548,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3282,
"after": 0.3056,
"delta": -0.0226,
"percent_delta": -0.0689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9628,
"after": 0.8776,
"delta": -0.0852,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9803,
"after": 0.8935,
"delta": -0.0868,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4228,
"delta": -0.0112,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4178,
"after": 1.4333,
"delta": 0.0155,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.9803,
"after": 0.8935,
"delta": -0.0868,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.10), rates preserved: AVG=0.232 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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.4042,
"after": 0.0,
"delta": -0.4042,
"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": 6.1038,
"after": 6.0,
"delta": -0.1038,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6488,
"after": 1.0,
"delta": 0.3512,
"percent_delta": 0.5413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.415,
"after": 1.0,
"delta": -0.415,
"percent_delta": -0.2933,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2536,
"after": 0.0,
"delta": -0.2536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8935,
"after": 1.0,
"delta": 0.1065,
"percent_delta": 0.1192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4333,
"after": 1.0,
"delta": -0.4333,
"percent_delta": -0.3023,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6488,
"after": 1.0,
"delta": 0.3512,
"percent_delta": 0.5413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4333,
"after": 1.0,
"delta": -0.4333,
"percent_delta": -0.3023,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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": 6.0,
"after": 6.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.8776,
"after": 1.0,
"delta": 0.1224,
"percent_delta": 0.1395,
"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.8776,
"after": 1.0,
"delta": 0.1224,
"percent_delta": 0.1395,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.2318,
"after": 0.167,
"delta": -0.0648,
"percent_delta": -0.2796,
"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.3056,
"after": 0.286,
"delta": -0.0196,
"percent_delta": -0.0641,
"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.4228,
"after": 0.167,
"delta": -0.2558,
"percent_delta": -0.605,
"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.4228,
"after": 0.167,
"delta": -0.2558,
"percent_delta": -0.605,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"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": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"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": 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.2318,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3056,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4228,
"predicted_SO": 3.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2318,
"delta": 0.0648,
"percent_delta": 0.3882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3056,
"delta": 0.0196,
"percent_delta": 0.0686,
"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.167,
"after": 0.4228,
"delta": 0.2558,
"percent_delta": 1.532,
"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.167,
"after": 0.4228,
"delta": 0.2558,
"percent_delta": 1.532,
"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.246,
"after": 0.0,
"delta": -0.246,
"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.59,
"after": 4.0,
"delta": 0.41,
"percent_delta": 0.1142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2318,
"delta": -0.0062,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3056,
"delta": -0.0144,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.578,
"after": 0.0,
"delta": -0.578,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4228,
"delta": 0.0038,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 3.0,
"delta": 2.286,
"percent_delta": 3.2017,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.714,
"after": 3.0,
"delta": 2.286,
"percent_delta": 3.2017,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"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.246 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.590 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.387 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.578 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.419 | - |
| 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.404 | 0.158 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.104 | 2.514 |
| predicted_AVG | 0.243 | 0.005 |
| predicted_BB | 0.656 | 0.269 |
| predicted_H | 1.494 | 0.644 |
| predicted_HBP | 0.308 | - |
| predicted_HR | 0.268 | 0.128 |
| predicted_OBP | 0.328 | 0.008 |
| predicted_R | 0.963 | 0.385 |
| predicted_RBI | 0.980 | 0.450 |
| predicted_SLG | 0.434 | 0.015 |
| predicted_SO | 1.418 | 0.704 |
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.404 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.104 | 0.000 |
| predicted_AVG | 0.232 | -0.011 |
| predicted_BB | 0.649 | -0.007 |
| predicted_H | 1.415 | -0.079 |
| predicted_HBP | 0.308 | 0.000 |
| predicted_HR | 0.254 | -0.015 |
| predicted_OBP | 0.306 | -0.023 |
| predicted_R | 0.878 | -0.085 |
| predicted_RBI | 0.893 | -0.087 |
| predicted_SLG | 0.423 | -0.011 |
| predicted_SO | 1.433 | 0.016 |
AB rounded to 6 (raw=6.10), rates preserved: AVG=0.232 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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.404 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 6.000 | -0.104 |
| predicted_AVG | 0.167 | -0.065 |
| predicted_BB | 1.000 | 0.351 |
| predicted_H | 1.000 | -0.415 |
| predicted_HR | 0.000 | -0.254 |
| predicted_OBP | 0.286 | -0.020 |
| predicted_R | 1.000 | 0.122 |
| predicted_RBI | 1.000 | 0.107 |
| predicted_SLG | 0.167 | -0.256 |
| predicted_SO | 1.000 | -0.433 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -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 | - | 16.000 | 3.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 1.000 | 6.000 | 0.1875 | 0.2778 | 0.4375 | 0.1875 | 0.0625 | 0.1875 | 0.0625 | 0.3750 |
| last_10 | 0.20 | 7 | - | 30.000 | 6.000 | 1.000 | 0.000 | 1.000 | 3.000 | 5.000 | 6.000 | 8.000 | 0.2000 | 0.3514 | 0.3333 | 0.2000 | 0.0333 | 0.1000 | 0.2000 | 0.2667 |
| season | 0.60 | 56 | - | 690.000 | 190.000 | 49.000 | 0.000 | 30.000 | 118.000 | 115.000 | 77.000 | 142.000 | 0.2754 | 0.3586 | 0.4768 | 0.2754 | 0.0435 | 0.1710 | 0.1116 | 0.2058 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6060 |
| predicted_3B | 0.0010 |
| predicted_AB | 9.3120 |
| predicted_AVG | 0.2486 |
| predicted_BB | 0.9990 |
| predicted_H | 2.3150 |
| predicted_HBP | 0.3080 |
| predicted_HR | 0.4320 |
| predicted_OBP | 0.3386 |
| predicted_R | 1.4540 |
| predicted_RBI | 1.5550 |
| predicted_SLG | 0.4531 |
| predicted_SO | 2.3160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2460 | 0.6060 | 0.4042 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5900 | 9.3120 | 6.1038 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2486 | 0.2427 | model_form_blend |
| predicted_BB | 0.3870 | 0.9990 | 0.6559 | model_form_blend |
| predicted_H | 0.8500 | 2.3150 | 1.4936 | model_form_blend |
| predicted_HBP | - | 0.3080 | 0.3080 | form_only |
| predicted_HR | 0.1400 | 0.4320 | 0.2683 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3386 | 0.3282 | model_form_blend |
| predicted_R | 0.5780 | 1.4540 | 0.9628 | model_form_blend |
| predicted_RBI | 0.5300 | 1.5550 | 0.9803 | model_form_blend |
| predicted_SLG | 0.4190 | 0.4531 | 0.4340 | model_form_blend |
| predicted_SO | 0.7140 | 2.3160 | 1.4178 | 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 | 199 |
| Season rows before report date | 199 |
| Report year | 2026 |
| Profile rows used | 199 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.275 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 3B |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 571448 |
| playerID | 571448 |
| playerName | Nolan Arenado |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-03 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.352 |
| sl_xwoba | 0.33 |
| sl_xba | 0.262 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 31.3 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 44.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 0.000 | Hitting_2B | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_3B | 0.154 | 1.000 | 0.000 | Hitting_3B | 0.154 | 0.000 | 0.846 | 1.000 |
| predicted_AB | 4.190 | 4.000 | 7.000 | Hitting_AB | 3.711 | 4.000 | 0.289 | 0.000 |
| predicted_AVG | 0.239 | 0.250 | 0.286 | Hitting_AVG | 0.297 | 0.000 | -0.047 | 0.250 |
| predicted_BB | 0.596 | 0.000 | 1.000 | Hitting_BB | 0.596 | 0.000 | -0.596 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 1.000 | 1.000 | 2.000 | Hitting_H | 1.101 | 0.000 | -0.101 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.319 | 0.250 | 0.375 | Hitting_OBP | 0.395 | 0.000 | -0.145 | 0.250 |
| predicted_R | 0.702 | 0.000 | 1.000 | Hitting_R | 0.702 | 0.000 | -0.702 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.566 | 0.000 | -0.566 | 0.000 |
| predicted_SLG | 0.459 | 0.750 | 0.286 | Hitting_SLG | 0.564 | 0.000 | 0.186 | 0.750 |
| predicted_SO | 0.982 | 3.000 | 2.000 | Hitting_SO | 0.982 | 0.000 | 2.018 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.9820 -> 3.0000 (boost 2.0180, worse) |
| Biggest Deboost | predicted_R: 0.7020 -> 0.0000 (deboost -0.7020, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.1900 -> 7.3005 (boost 3.1105, 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 | 4 | 0 | 4 | 0 | 4 | - | predicted_R: 1.2070 -> 1.1002 (deboost -0.1068, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 4 | 5 | 3 | 6 | predicted_SO: 1.7059 -> 2.0000 (boost 0.2941, worse) | predicted_2B: 0.4924 -> 0.0000 (deboost -0.4924, worse) | AB rounded to 7 (raw=7.30), rates preserved: AVG=0.239 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1002 -> 1.0000 (deboost -0.1002, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3190 -> 0.3750 (boost 0.0560, better) | predicted_SLG: 0.4774 -> 0.2860 (deboost -0.1914, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 2 | 5 | 1 | 6 | predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4774 (boost 0.1914, better) | predicted_OBP: 0.3750 -> 0.3190 (deboost -0.0560, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "RF",
"team": "ARI",
"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.25,
"predicted_3B": 0.154,
"predicted_AB": 4.19,
"predicted_AVG": 0.239,
"predicted_BB": 0.596,
"predicted_H": 1.0,
"predicted_HR": 0.16,
"predicted_OBP": 0.319,
"predicted_R": 0.702,
"predicted_RBI": 0.45,
"predicted_SLG": 0.459,
"predicted_SO": 0.982
},
"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.4924,
"predicted_3B": 0.2224,
"predicted_AB": 7.3005,
"predicted_AVG": 0.2474,
"predicted_BB": 0.8719,
"predicted_H": 1.8383,
"predicted_HBP": 0.073,
"predicted_HR": 0.2845,
"predicted_OBP": 0.3217,
"predicted_R": 1.207,
"predicted_RBI": 0.8332,
"predicted_SLG": 0.4781,
"predicted_SO": 1.6875
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.4924,
"delta": 0.2424,
"percent_delta": 0.9696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.154,
"after": 0.2224,
"delta": 0.0684,
"percent_delta": 0.4442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.19,
"after": 7.3005,
"delta": 3.1105,
"percent_delta": 0.7424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2474,
"delta": 0.0084,
"percent_delta": 0.0351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.596,
"after": 0.8719,
"delta": 0.2759,
"percent_delta": 0.4629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.8383,
"delta": 0.8383,
"percent_delta": 0.8383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.2845,
"delta": 0.1245,
"percent_delta": 0.7781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3217,
"delta": 0.0027,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.702,
"after": 1.207,
"delta": 0.505,
"percent_delta": 0.7194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.8332,
"delta": 0.3832,
"percent_delta": 0.8516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4781,
"delta": 0.0191,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.982,
"after": 1.6875,
"delta": 0.7055,
"percent_delta": 0.7184,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.19,
"after": 7.3005,
"delta": 3.1105,
"percent_delta": 0.7424,
"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": 58
}
},
{
"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.4924,
"predicted_3B": 0.2224,
"predicted_AB": 7.3005,
"predicted_AVG": 0.2386,
"predicted_BB": 0.8624,
"predicted_H": 1.7416,
"predicted_HBP": 0.073,
"predicted_HR": 0.2689,
"predicted_OBP": 0.319,
"predicted_R": 1.1002,
"predicted_RBI": 0.7595,
"predicted_SLG": 0.4774,
"predicted_SO": 1.7059
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4924,
"after": 0.4924,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.2224,
"after": 0.2224,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.3005,
"after": 7.3005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2474,
"after": 0.2386,
"delta": -0.0088,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8719,
"after": 0.8624,
"delta": -0.0095,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8383,
"after": 1.7416,
"delta": -0.0967,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2845,
"after": 0.2689,
"delta": -0.0156,
"percent_delta": -0.0548,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3217,
"after": 0.319,
"delta": -0.0027,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.207,
"after": 1.1002,
"delta": -0.1068,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8332,
"after": 0.7595,
"delta": -0.0737,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4781,
"after": 0.4774,
"delta": -0.0007,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.6875,
"after": 1.7059,
"delta": 0.0184,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.207,
"after": 1.1002,
"delta": -0.1068,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.30), rates preserved: AVG=0.239 HR/AB=0.037",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4924,
"after": 0.0,
"delta": -0.4924,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.2224,
"after": 0.0,
"delta": -0.2224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.3005,
"after": 7.0,
"delta": -0.3005,
"percent_delta": -0.0412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8624,
"after": 1.0,
"delta": 0.1376,
"percent_delta": 0.1596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7416,
"after": 2.0,
"delta": 0.2584,
"percent_delta": 0.1484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2689,
"after": 0.0,
"delta": -0.2689,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7595,
"after": 1.0,
"delta": 0.2405,
"percent_delta": 0.3167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7059,
"after": 2.0,
"delta": 0.2941,
"percent_delta": 0.1724,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.7059,
"after": 2.0,
"delta": 0.2941,
"percent_delta": 0.1724,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4924,
"after": 0.0,
"delta": -0.4924,
"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": 7.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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": 1.1002,
"after": 1.0,
"delta": -0.1002,
"percent_delta": -0.0911,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.1002,
"after": 1.0,
"delta": -0.1002,
"percent_delta": -0.0911,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2386,
"after": 0.286,
"delta": 0.0474,
"percent_delta": 0.1987,
"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": 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.319,
"after": 0.375,
"delta": 0.056,
"percent_delta": 0.1755,
"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.4774,
"after": 0.286,
"delta": -0.1914,
"percent_delta": -0.4009,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.375,
"delta": 0.056,
"percent_delta": 0.1755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4774,
"after": 0.286,
"delta": -0.1914,
"percent_delta": -0.4009,
"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": 1.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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2386,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.319,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4774,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2386,
"delta": -0.0474,
"percent_delta": -0.1659,
"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.375,
"after": 0.319,
"delta": -0.056,
"percent_delta": -0.1493,
"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.286,
"after": 0.4774,
"delta": 0.1914,
"percent_delta": 0.6694,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4774,
"delta": 0.1914,
"percent_delta": 0.6694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.319,
"delta": -0.056,
"percent_delta": -0.1493,
"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.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.154,
"after": 1.0,
"delta": 0.846,
"percent_delta": 5.4935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.19,
"after": 4.0,
"delta": -0.19,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2386,
"delta": -0.0004,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.596,
"after": 0.0,
"delta": -0.596,
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.319,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.702,
"after": 0.0,
"delta": -0.702,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4774,
"delta": 0.0184,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.982,
"after": 3.0,
"delta": 2.018,
"percent_delta": 2.055,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.982,
"after": 3.0,
"delta": 2.018,
"percent_delta": 2.055,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.702,
"after": 0.0,
"delta": -0.702,
"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.250 | - |
| predicted_3B | 0.154 | - |
| predicted_AB | 4.190 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.596 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.702 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.459 | - |
| predicted_SO | 0.982 | - |
Final model 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.492 | 0.242 |
| predicted_3B | 0.222 | 0.068 |
| predicted_AB | 7.301 | 3.111 |
| predicted_AVG | 0.247 | 0.008 |
| predicted_BB | 0.872 | 0.276 |
| predicted_H | 1.838 | 0.838 |
| predicted_HBP | 0.073 | - |
| predicted_HR | 0.284 | 0.124 |
| predicted_OBP | 0.322 | 0.003 |
| predicted_R | 1.207 | 0.505 |
| predicted_RBI | 0.833 | 0.383 |
| predicted_SLG | 0.478 | 0.019 |
| predicted_SO | 1.688 | 0.706 |
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.492 | 0.000 |
| predicted_3B | 0.222 | 0.000 |
| predicted_AB | 7.301 | 0.000 |
| predicted_AVG | 0.239 | -0.009 |
| predicted_BB | 0.862 | -0.009 |
| predicted_H | 1.742 | -0.097 |
| predicted_HBP | 0.073 | 0.000 |
| predicted_HR | 0.269 | -0.016 |
| predicted_OBP | 0.319 | -0.003 |
| predicted_R | 1.100 | -0.107 |
| predicted_RBI | 0.759 | -0.074 |
| predicted_SLG | 0.477 | -0.001 |
| predicted_SO | 1.706 | 0.018 |
AB rounded to 7 (raw=7.30), rates preserved: AVG=0.239 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 2.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.492 |
| predicted_3B | 0.000 | -0.222 |
| predicted_AB | 7.000 | -0.301 |
| predicted_AVG | 0.286 | 0.047 |
| predicted_BB | 1.000 | 0.138 |
| predicted_H | 2.000 | 0.258 |
| predicted_HR | 0.000 | -0.269 |
| predicted_OBP | 0.375 | 0.056 |
| predicted_R | 1.000 | -0.100 |
| predicted_RBI | 1.000 | 0.241 |
| predicted_SLG | 0.286 | -0.191 |
| predicted_SO | 2.000 | 0.294 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 1.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 4.000 | 2.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.000 | 3.000 | 0.1905 | 0.1905 | 0.4286 | 0.1905 | 0.0476 | 0.0476 | 0.0000 | 0.1429 |
| last_10 | 0.20 | 7 | - | 43.000 | 6.000 | 2.000 | 0.000 | 1.000 | 1.000 | 7.000 | 0.000 | 8.000 | 0.1395 | 0.1395 | 0.2558 | 0.1395 | 0.0233 | 0.0233 | 0.0000 | 0.1860 |
| season | 0.60 | 58 | - | 846.000 | 251.000 | 57.000 | 35.000 | 33.000 | 129.000 | 160.000 | 136.000 | 224.000 | 0.2967 | 0.3954 | 0.5638 | 0.2967 | 0.0390 | 0.1525 | 0.1608 | 0.2648 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7990 |
| predicted_3B | 0.3090 |
| predicted_AB | 11.2360 |
| predicted_AVG | 0.2580 |
| predicted_BB | 1.2210 |
| predicted_H | 2.8990 |
| predicted_HBP | 0.0730 |
| predicted_HR | 0.4420 |
| predicted_OBP | 0.3252 |
| predicted_R | 1.8460 |
| predicted_RBI | 1.3180 |
| predicted_SLG | 0.5022 |
| predicted_SO | 2.5800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.7990 | 0.4924 | model_form_blend |
| predicted_3B | 0.1540 | 0.3090 | 0.2224 | model_form_blend |
| predicted_AB | 4.1900 | 11.2360 | 7.3005 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2580 | 0.2474 | model_form_blend |
| predicted_BB | 0.5960 | 1.2210 | 0.8719 | model_form_blend |
| predicted_H | 1.0000 | 2.8990 | 1.8383 | model_form_blend |
| predicted_HBP | - | 0.0730 | 0.0730 | form_only |
| predicted_HR | 0.1600 | 0.4420 | 0.2845 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3252 | 0.3217 | model_form_blend |
| predicted_R | 0.7020 | 1.8460 | 1.2070 | model_form_blend |
| predicted_RBI | 0.4500 | 1.3180 | 0.8332 | model_form_blend |
| predicted_SLG | 0.4590 | 0.5022 | 0.4781 | model_form_blend |
| predicted_SO | 0.9820 | 2.5800 | 1.6875 | 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 | 228 |
| Season rows before report date | 228 |
| Report year | 2026 |
| Profile rows used | 228 |
| 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 | 1 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.297 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 682998 |
| playerID | 682998 |
| playerName | Corbin Carroll |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-03 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.391 |
| sl_xwoba | 0.362 |
| sl_xba | 0.266 |
| sl_xslg | 0.477 |
| sl_sweet_spot_percent | 30.7 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 50.3 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 27.9 |
| sl_swing_percent | 44.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.153 | 0.000 | 0.000 | Hitting_2B | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.573 | 2.000 | 6.000 | Hitting_AB | 3.484 | 2.000 | -1.484 | 0.000 |
| predicted_AVG | 0.236 | 0.000 | 0.167 | Hitting_AVG | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_BB | 0.166 | 1.000 | 0.000 | Hitting_BB | 0.161 | 1.000 | 0.839 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.660 | 0.000 | 1.000 | Hitting_H | 0.932 | 0.000 | -0.932 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.075 | 0.000 | -0.075 | 0.000 |
| predicted_OBP | 0.273 | 0.333 | 0.167 | Hitting_OBP | 0.305 | 0.333 | 0.029 | 0.000 |
| predicted_R | 0.580 | 0.000 | 1.000 | Hitting_R | 0.571 | 0.000 | -0.571 | 0.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_SLG | 0.332 | 0.000 | 0.167 | Hitting_SLG | 0.374 | 0.000 | -0.374 | 0.000 |
| predicted_SO | 0.841 | 2.000 | 1.000 | Hitting_SO | 0.820 | 1.000 | 1.180 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.8410 -> 2.0000 (boost 1.1590, worse) |
| Biggest Deboost | predicted_AB: 3.5730 -> 2.0000 (deboost -1.5730, 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 | 7 | 2 | 6 | 3 | predicted_AB: 3.5730 -> 5.6530 (boost 2.0800, better) | predicted_SLG: 0.3320 -> 0.3174 (deboost -0.0146, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_R: 0.7326 -> 0.6678 (deboost -0.0648, 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: 5.6530 -> 6.0000 (boost 0.3470, better) | predicted_RBI: 0.4011 -> 0.0000 (deboost -0.4011, worse) | AB rounded to 6 (raw=5.65), rates preserved: AVG=0.194 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6678 -> 1.0000 (boost 0.3322, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2778 -> 0.1670 (deboost -0.1108, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 1 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 2.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.2778 (boost 0.1108, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699912",
"player_name": "Jose Fernandez",
"position": "DH",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.153,
"predicted_3B": 0.0,
"predicted_AB": 3.573,
"predicted_AVG": 0.236,
"predicted_BB": 0.166,
"predicted_H": 0.66,
"predicted_HR": 0.06,
"predicted_OBP": 0.273,
"predicted_R": 0.58,
"predicted_RBI": 0.28,
"predicted_SLG": 0.332,
"predicted_SO": 0.841
},
"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.2175,
"predicted_3B": 0.0009,
"predicted_AB": 5.653,
"predicted_AVG": 0.2271,
"predicted_BB": 0.3364,
"predicted_H": 1.1565,
"predicted_HBP": 0.042,
"predicted_HR": 0.0901,
"predicted_OBP": 0.2713,
"predicted_R": 0.7326,
"predicted_RBI": 0.44,
"predicted_SLG": 0.3174,
"predicted_SO": 1.3409
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.2175,
"delta": 0.0645,
"percent_delta": 0.4216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.573,
"after": 5.653,
"delta": 2.08,
"percent_delta": 0.5821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2271,
"delta": -0.0089,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.166,
"after": 0.3364,
"delta": 0.1704,
"percent_delta": 1.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.1565,
"delta": 0.4965,
"percent_delta": 0.7523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0901,
"delta": 0.0301,
"percent_delta": 0.5017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2713,
"delta": -0.0017,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.58,
"after": 0.7326,
"delta": 0.1526,
"percent_delta": 0.2631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.44,
"delta": 0.16,
"percent_delta": 0.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3174,
"delta": -0.0146,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.841,
"after": 1.3409,
"delta": 0.4999,
"percent_delta": 0.5944,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.573,
"after": 5.653,
"delta": 2.08,
"percent_delta": 0.5821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3174,
"delta": -0.0146,
"percent_delta": -0.044,
"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": 7,
"season": 50
}
},
{
"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.2175,
"predicted_3B": 0.0009,
"predicted_AB": 5.653,
"predicted_AVG": 0.1938,
"predicted_BB": 0.3327,
"predicted_H": 1.0957,
"predicted_HBP": 0.042,
"predicted_HR": 0.0852,
"predicted_OBP": 0.2386,
"predicted_R": 0.6678,
"predicted_RBI": 0.4011,
"predicted_SLG": 0.2778,
"predicted_SO": 1.3555
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2175,
"after": 0.2175,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.653,
"after": 5.653,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2271,
"after": 0.1938,
"delta": -0.0333,
"percent_delta": -0.1466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3364,
"after": 0.3327,
"delta": -0.0037,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1565,
"after": 1.0957,
"delta": -0.0608,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.042,
"after": 0.042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0901,
"after": 0.0852,
"delta": -0.0049,
"percent_delta": -0.0544,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2713,
"after": 0.2386,
"delta": -0.0327,
"percent_delta": -0.1205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7326,
"after": 0.6678,
"delta": -0.0648,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4011,
"delta": -0.0389,
"percent_delta": -0.0884,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3174,
"after": 0.2778,
"delta": -0.0396,
"percent_delta": -0.1248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3409,
"after": 1.3555,
"delta": 0.0146,
"percent_delta": 0.0109,
"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_R",
"before": 0.7326,
"after": 0.6678,
"delta": -0.0648,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.65), rates preserved: AVG=0.194 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2175,
"after": 0.0,
"delta": -0.2175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.653,
"after": 6.0,
"delta": 0.347,
"percent_delta": 0.0614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3327,
"after": 0.0,
"delta": -0.3327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0957,
"after": 1.0,
"delta": -0.0957,
"percent_delta": -0.0873,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0852,
"after": 0.0,
"delta": -0.0852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4011,
"after": 0.0,
"delta": -0.4011,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3555,
"after": 1.0,
"delta": -0.3555,
"percent_delta": -0.2623,
"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": 5.653,
"after": 6.0,
"delta": 0.347,
"percent_delta": 0.0614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4011,
"after": 0.0,
"delta": -0.4011,
"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": 6.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6678,
"after": 1.0,
"delta": 0.3322,
"percent_delta": 0.4975,
"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.6678,
"after": 1.0,
"delta": 0.3322,
"percent_delta": 0.4975,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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.1938,
"after": 0.167,
"delta": -0.0268,
"percent_delta": -0.1383,
"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.2386,
"after": 0.167,
"delta": -0.0716,
"percent_delta": -0.3001,
"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.2778,
"after": 0.167,
"delta": -0.1108,
"percent_delta": -0.3988,
"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.2778,
"after": 0.167,
"delta": -0.1108,
"percent_delta": -0.3988,
"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": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 6.0,
"after": 2.0,
"delta": -4.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 2.0,
"delta": -4.0,
"percent_delta": -0.6667,
"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": 2.0,
"predicted_AVG": 0.1938,
"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.2386,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2778,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.1938,
"delta": 0.0268,
"percent_delta": 0.1606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.2386,
"delta": 0.0716,
"percent_delta": 0.4289,
"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.167,
"after": 0.2778,
"delta": 0.1108,
"percent_delta": 0.6636,
"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.167,
"after": 0.2778,
"delta": 0.1108,
"percent_delta": 0.6636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.0,
"delta": -0.153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.573,
"after": 2.0,
"delta": -1.573,
"percent_delta": -0.4402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.1938,
"delta": -0.0422,
"percent_delta": -0.1788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.166,
"after": 1.0,
"delta": 0.834,
"percent_delta": 5.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2386,
"delta": -0.0344,
"percent_delta": -0.126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.2778,
"delta": -0.0542,
"percent_delta": -0.1633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.841,
"after": 2.0,
"delta": 1.159,
"percent_delta": 1.3781,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.841,
"after": 2.0,
"delta": 1.159,
"percent_delta": 1.3781,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.573,
"after": 2.0,
"delta": -1.573,
"percent_delta": -0.4402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.573 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.166 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.580 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.332 | - |
| predicted_SO | 0.841 | - |
Final model 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.217 | 0.065 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.653 | 2.080 |
| predicted_AVG | 0.227 | -0.009 |
| predicted_BB | 0.336 | 0.170 |
| predicted_H | 1.157 | 0.497 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.090 | 0.030 |
| predicted_OBP | 0.271 | -0.002 |
| predicted_R | 0.733 | 0.153 |
| predicted_RBI | 0.440 | 0.160 |
| predicted_SLG | 0.317 | -0.015 |
| predicted_SO | 1.341 | 0.500 |
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.217 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.653 | 0.000 |
| predicted_AVG | 0.194 | -0.033 |
| predicted_BB | 0.333 | -0.004 |
| predicted_H | 1.096 | -0.061 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.085 | -0.005 |
| predicted_OBP | 0.239 | -0.033 |
| predicted_R | 0.668 | -0.065 |
| predicted_RBI | 0.401 | -0.039 |
| predicted_SLG | 0.278 | -0.040 |
| predicted_SO | 1.355 | 0.015 |
AB rounded to 6 (raw=5.65), rates preserved: AVG=0.194 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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 | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.217 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.347 |
| predicted_AVG | 0.167 | -0.027 |
| predicted_BB | 0.000 | -0.333 |
| predicted_H | 1.000 | -0.096 |
| predicted_HR | 0.000 | -0.085 |
| predicted_OBP | 0.167 | -0.072 |
| predicted_R | 1.000 | 0.332 |
| predicted_RBI | 0.000 | -0.401 |
| predicted_SLG | 0.167 | -0.111 |
| predicted_SO | 1.000 | -0.355 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -4.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.0833 | 0.1538 | 0.0833 | 0.0833 | 0.0000 | 0.0000 | 0.0833 | 0.2500 |
| last_10 | 0.20 | 7 | - | 29.000 | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 0.000 | 5.000 | 7.000 | 0.1379 | 0.2647 | 0.2069 | 0.1379 | 0.0000 | 0.0345 | 0.1724 | 0.2414 |
| season | 0.60 | 50 | - | 561.000 | 150.000 | 24.000 | 0.000 | 12.000 | 59.000 | 91.000 | 26.000 | 132.000 | 0.2674 | 0.3046 | 0.3743 | 0.2674 | 0.0214 | 0.1052 | 0.0464 | 0.2353 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3010 |
| predicted_3B | 0.0020 |
| predicted_AB | 8.3450 |
| predicted_AVG | 0.2155 |
| predicted_BB | 0.5570 |
| predicted_H | 1.7990 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.1290 |
| predicted_OBP | 0.2690 |
| predicted_R | 0.9300 |
| predicted_RBI | 0.6470 |
| predicted_SLG | 0.2985 |
| predicted_SO | 1.9880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1530 | 0.3010 | 0.2175 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.5730 | 8.3450 | 5.6530 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2155 | 0.2271 | model_form_blend |
| predicted_BB | 0.1660 | 0.5570 | 0.3364 | model_form_blend |
| predicted_H | 0.6600 | 1.7990 | 1.1565 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.0600 | 0.1290 | 0.0901 | model_form_blend |
| predicted_OBP | 0.2730 | 0.2690 | 0.2713 | model_form_blend |
| predicted_R | 0.5800 | 0.9300 | 0.7326 | model_form_blend |
| predicted_RBI | 0.2800 | 0.6470 | 0.4400 | model_form_blend |
| predicted_SLG | 0.3320 | 0.2985 | 0.3174 | model_form_blend |
| predicted_SO | 0.8410 | 1.9880 | 1.3409 | 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 | 157 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.267 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 1B |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 699912 |
| playerID | 699912 |
| playerName | Jose Fernandez |
| pos | SS |
| started | True |
| startingPosition | 1B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 4.0 |
| sl_woba | 0.288 |
| sl_xwoba | 0.271 |
| sl_xba | 0.237 |
| sl_xslg | 0.34 |
| sl_sweet_spot_percent | 27.0 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 46.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.260 | 1.000 | 0.000 | Hitting_2B | 0.257 | 0.000 | 0.743 | 1.000 |
| predicted_3B | 0.055 | 0.000 | 0.000 | Hitting_3B | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_AB | 3.507 | 3.000 | 5.000 | Hitting_AB | 3.459 | 3.000 | -0.459 | 0.000 |
| predicted_AVG | 0.235 | 0.333 | 0.200 | Hitting_AVG | 0.270 | 0.000 | 0.064 | 0.333 |
| predicted_BB | 0.356 | 1.000 | 0.000 | Hitting_BB | 0.351 | 0.000 | 0.649 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_H | 0.330 | 1.000 | 1.000 | Hitting_H | 0.932 | 0.000 | 0.068 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.283 | 0.500 | 0.200 | Hitting_OBP | 0.337 | 0.000 | 0.163 | 0.500 |
| predicted_R | 0.466 | 0.000 | 1.000 | Hitting_R | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.378 | 0.000 | -0.378 | 0.000 |
| predicted_SLG | 0.355 | 0.667 | 0.200 | Hitting_SLG | 0.375 | 0.000 | 0.292 | 0.667 |
| predicted_SO | 1.247 | 1.000 | 2.000 | Hitting_SO | 1.230 | 1.000 | -0.230 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_2B: 0.2600 -> 1.0000 (boost 0.7400, better) |
| Biggest Deboost | predicted_AB: 3.5070 -> 3.0000 (deboost -0.5070, 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 | 8 | 1 | 7 | 2 | predicted_AB: 3.5070 -> 5.4602 (boost 1.9532, better) | predicted_SLG: 0.3550 -> 0.3435 (deboost -0.0115, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_SLG: 0.3435 -> 0.2788 (deboost -0.0647, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 0 | 5 | 0 | 5 | - | predicted_BB: 0.5178 -> 0.0000 (deboost -0.5178, worse) | AB rounded to 5 (raw=5.46), rates preserved: AVG=0.179 HR/AB=0.005 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5478 -> 1.0000 (boost 0.4522, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1791 -> 0.2000 (boost 0.0209, better) | predicted_SLG: 0.2788 -> 0.2000 (deboost -0.0788, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 3 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2000 -> 0.2788 (boost 0.0788, better) | predicted_AVG: 0.2000 -> 0.1791 (deboost -0.0209, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "814439",
"player_name": "Ryan Waldschmidt",
"position": "CF",
"team": "ARI",
"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.26,
"predicted_3B": 0.055,
"predicted_AB": 3.507,
"predicted_AVG": 0.235,
"predicted_BB": 0.356,
"predicted_H": 0.33,
"predicted_HR": 0.03,
"predicted_OBP": 0.283,
"predicted_R": 0.466,
"predicted_RBI": 0.14,
"predicted_SLG": 0.355,
"predicted_SO": 1.247
},
"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.3317,
"predicted_3B": 0.066,
"predicted_AB": 5.4602,
"predicted_AVG": 0.2393,
"predicted_BB": 0.5235,
"predicted_H": 1.0324,
"predicted_HBP": 0.007,
"predicted_HR": 0.0283,
"predicted_OBP": 0.2943,
"predicted_R": 0.601,
"predicted_RBI": 0.3556,
"predicted_SLG": 0.3435,
"predicted_SO": 1.9794
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.26,
"after": 0.3317,
"delta": 0.0717,
"percent_delta": 0.2758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.055,
"after": 0.066,
"delta": 0.011,
"percent_delta": 0.2,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.507,
"after": 5.4602,
"delta": 1.9532,
"percent_delta": 0.5569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2393,
"delta": 0.0043,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.5235,
"delta": 0.1675,
"percent_delta": 0.4705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.0324,
"delta": 0.7024,
"percent_delta": 2.1285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0283,
"delta": -0.0017,
"percent_delta": -0.0567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2943,
"delta": 0.0113,
"percent_delta": 0.0399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.466,
"after": 0.601,
"delta": 0.135,
"percent_delta": 0.2897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.3556,
"delta": 0.2156,
"percent_delta": 1.54,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3435,
"delta": -0.0115,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.247,
"after": 1.9794,
"delta": 0.7324,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.507,
"after": 5.4602,
"delta": 1.9532,
"percent_delta": 0.5569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3435,
"delta": -0.0115,
"percent_delta": -0.0324,
"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": 7,
"season": 24
}
},
{
"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.3317,
"predicted_3B": 0.066,
"predicted_AB": 5.4602,
"predicted_AVG": 0.1791,
"predicted_BB": 0.5178,
"predicted_H": 0.9781,
"predicted_HBP": 0.007,
"predicted_HR": 0.0268,
"predicted_OBP": 0.2502,
"predicted_R": 0.5478,
"predicted_RBI": 0.3241,
"predicted_SLG": 0.2788,
"predicted_SO": 2.001
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3317,
"after": 0.3317,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.066,
"after": 0.066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.4602,
"after": 5.4602,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2393,
"after": 0.1791,
"delta": -0.0602,
"percent_delta": -0.2516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5235,
"after": 0.5178,
"delta": -0.0057,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0324,
"after": 0.9781,
"delta": -0.0543,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0283,
"after": 0.0268,
"delta": -0.0015,
"percent_delta": -0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2943,
"after": 0.2502,
"delta": -0.0441,
"percent_delta": -0.1498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.601,
"after": 0.5478,
"delta": -0.0532,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3556,
"after": 0.3241,
"delta": -0.0315,
"percent_delta": -0.0886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3435,
"after": 0.2788,
"delta": -0.0647,
"percent_delta": -0.1884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9794,
"after": 2.001,
"delta": 0.0216,
"percent_delta": 0.0109,
"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_SLG",
"before": 0.3435,
"after": 0.2788,
"delta": -0.0647,
"percent_delta": -0.1884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.46), rates preserved: AVG=0.179 HR/AB=0.005",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3317,
"after": 0.0,
"delta": -0.3317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.066,
"after": 0.0,
"delta": -0.066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.4602,
"after": 5.0,
"delta": -0.4602,
"percent_delta": -0.0843,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5178,
"after": 0.0,
"delta": -0.5178,
"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.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0268,
"after": 0.0,
"delta": -0.0268,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3241,
"after": 0.0,
"delta": -0.3241,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.001,
"after": 2.0,
"delta": -0.001,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5178,
"after": 0.0,
"delta": -0.5178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 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.5478,
"after": 1.0,
"delta": 0.4522,
"percent_delta": 0.8255,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5478,
"after": 1.0,
"delta": 0.4522,
"percent_delta": 0.8255,
"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": 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": 0.0,
"predicted_SLG": 0.2,
"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.1791,
"after": 0.2,
"delta": 0.0209,
"percent_delta": 0.1167,
"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.2502,
"after": 0.2,
"delta": -0.0502,
"percent_delta": -0.2006,
"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.2788,
"after": 0.2,
"delta": -0.0788,
"percent_delta": -0.2826,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1791,
"after": 0.2,
"delta": 0.0209,
"percent_delta": 0.1167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2788,
"after": 0.2,
"delta": -0.0788,
"percent_delta": -0.2826,
"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": 3.0,
"predicted_BB": 1.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": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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": 3.0,
"predicted_AVG": 0.1791,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2502,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2788,
"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": 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.2,
"after": 0.1791,
"delta": -0.0209,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.2,
"after": 0.2502,
"delta": 0.0502,
"percent_delta": 0.2512,
"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.2,
"after": 0.2788,
"delta": 0.0788,
"percent_delta": 0.3938,
"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.2,
"after": 0.2788,
"delta": 0.0788,
"percent_delta": 0.3938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1791,
"delta": -0.0209,
"percent_delta": -0.1043,
"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.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"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.507,
"after": 3.0,
"delta": -0.507,
"percent_delta": -0.1446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.1791,
"delta": -0.0559,
"percent_delta": -0.2379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 1.0,
"delta": 0.644,
"percent_delta": 1.809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.0,
"delta": 0.67,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2502,
"delta": -0.0328,
"percent_delta": -0.1159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.466,
"after": 0.0,
"delta": -0.466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.2788,
"delta": -0.0762,
"percent_delta": -0.2146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.247,
"after": 1.0,
"delta": -0.247,
"percent_delta": -0.1981,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.507,
"after": 3.0,
"delta": -0.507,
"percent_delta": -0.1446,
"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.260 | - |
| predicted_3B | 0.055 | - |
| predicted_AB | 3.507 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.356 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.466 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 1.247 | - |
Final model 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.332 | 0.072 |
| predicted_3B | 0.066 | 0.011 |
| predicted_AB | 5.460 | 1.953 |
| predicted_AVG | 0.239 | 0.004 |
| predicted_BB | 0.523 | 0.167 |
| predicted_H | 1.032 | 0.702 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.028 | -0.002 |
| predicted_OBP | 0.294 | 0.011 |
| predicted_R | 0.601 | 0.135 |
| predicted_RBI | 0.356 | 0.216 |
| predicted_SLG | 0.344 | -0.011 |
| predicted_SO | 1.979 | 0.732 |
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.332 | 0.000 |
| predicted_3B | 0.066 | 0.000 |
| predicted_AB | 5.460 | 0.000 |
| predicted_AVG | 0.179 | -0.060 |
| predicted_BB | 0.518 | -0.006 |
| predicted_H | 0.978 | -0.054 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.027 | -0.001 |
| predicted_OBP | 0.250 | -0.044 |
| predicted_R | 0.548 | -0.053 |
| predicted_RBI | 0.324 | -0.032 |
| predicted_SLG | 0.279 | -0.065 |
| predicted_SO | 2.001 | 0.022 |
AB rounded to 5 (raw=5.46), rates preserved: AVG=0.179 HR/AB=0.005
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.332 |
| predicted_3B | 0.000 | -0.066 |
| predicted_AB | 5.000 | -0.460 |
| predicted_AVG | 0.200 | 0.021 |
| predicted_BB | 0.000 | -0.518 |
| predicted_H | 1.000 | 0.022 |
| predicted_HR | 0.000 | -0.027 |
| predicted_OBP | 0.200 | -0.050 |
| predicted_R | 1.000 | 0.452 |
| predicted_RBI | 0.000 | -0.324 |
| predicted_SLG | 0.200 | -0.079 |
| predicted_SO | 2.000 | -0.001 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 8.000 | 0.2105 | 0.2500 | 0.2105 | 0.2105 | 0.0000 | 0.0000 | 0.0526 | 0.4210 |
| last_10 | 0.20 | 7 | - | 35.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 17.000 | 0.1429 | 0.2500 | 0.1714 | 0.1429 | 0.0000 | 0.0000 | 0.1429 | 0.4857 |
| season | 0.60 | 24 | - | 256.000 | 69.000 | 19.000 | 4.000 | 0.000 | 28.000 | 34.000 | 26.000 | 91.000 | 0.2695 | 0.3369 | 0.3750 | 0.2695 | 0.0000 | 0.1094 | 0.1016 | 0.3555 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4300 |
| predicted_3B | 0.0810 |
| predicted_AB | 8.1370 |
| predicted_AVG | 0.2451 |
| predicted_BB | 0.7530 |
| predicted_H | 1.9950 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0260 |
| predicted_OBP | 0.3097 |
| predicted_R | 0.7860 |
| predicted_RBI | 0.6510 |
| predicted_SLG | 0.3277 |
| predicted_SO | 2.9830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2600 | 0.4300 | 0.3317 | model_form_blend |
| predicted_3B | 0.0550 | 0.0810 | 0.0660 | model_form_blend |
| predicted_AB | 3.5070 | 8.1370 | 5.4602 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2451 | 0.2393 | model_form_blend |
| predicted_BB | 0.3560 | 0.7530 | 0.5235 | model_form_blend |
| predicted_H | 0.3300 | 1.9950 | 1.0324 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0300 | 0.0260 | 0.0283 | model_form_blend |
| predicted_OBP | 0.2830 | 0.3097 | 0.2943 | model_form_blend |
| predicted_R | 0.4660 | 0.7860 | 0.6010 | model_form_blend |
| predicted_RBI | 0.1400 | 0.6510 | 0.3556 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3277 | 0.3435 | model_form_blend |
| predicted_SO | 1.2470 | 2.9830 | 1.9794 | 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 | 74 |
| Season rows before report date | 74 |
| Report year | 2026 |
| Profile rows used | 73 |
| 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | CF |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 814439 |
| playerID | 814439 |
| playerName | Ryan Waldschmidt |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-03 |
| sl_k_percent | 32.2 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.316 |
| sl_xwoba | 0.306 |
| sl_xba | 0.257 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 54.7 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 39.6 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 34.0 |
| sl_swing_percent | 42.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.135 | 0.000 | 0.000 | Hitting_2B | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_3B | 0.067 | 0.000 | 0.000 | Hitting_3B | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_AB | 3.516 | 4.000 | 6.000 | Hitting_AB | 3.516 | 4.000 | 0.484 | 0.000 |
| predicted_AVG | 0.228 | 0.000 | 0.167 | Hitting_AVG | 0.224 | 0.250 | -0.224 | -0.250 |
| predicted_BB | 0.641 | 0.000 | 1.000 | Hitting_BB | 0.641 | 0.000 | -0.641 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.780 | 0.000 | 1.000 | Hitting_H | 0.789 | 1.000 | -0.789 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_OBP | 0.295 | 0.000 | 0.286 | Hitting_OBP | 0.340 | 0.250 | -0.340 | -0.250 |
| predicted_R | 0.480 | 0.000 | 1.000 | Hitting_R | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 1.000 | Hitting_RBI | 0.359 | 0.000 | -0.359 | 0.000 |
| predicted_SLG | 0.338 | 0.000 | 0.167 | Hitting_SLG | 0.339 | 0.250 | -0.339 | -0.250 |
| predicted_SO | 0.561 | 1.000 | 1.000 | Hitting_SO | 0.561 | 1.000 | 0.439 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AB: 3.5160 -> 4.0000 (boost 0.4840, better) |
| Biggest Deboost | predicted_H: 0.7800 -> 0.0000 (deboost -0.7800, 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 | 10 | 8 | 2 | 7 | 3 | predicted_AB: 3.5160 -> 6.4106 (boost 2.8946, better) | predicted_SLG: 0.3380 -> 0.3237 (deboost -0.0143, 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 | 1 | 5 | 1 | 5 | predicted_OBP: 0.3009 -> 0.3091 (boost 0.0082, better) | predicted_R: 0.8602 -> 0.7841 (deboost -0.0761, 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 | 1 | 6 | predicted_RBI: 0.5344 -> 1.0000 (boost 0.4656, better) | predicted_AB: 6.4106 -> 6.0000 (deboost -0.4106, worse) | AB rounded to 6 (raw=6.41), rates preserved: AVG=0.204 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7841 -> 1.0000 (boost 0.2159, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3080 -> 0.1670 (deboost -0.1410, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3080 (boost 0.1410, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"position": "SS",
"team": "ARI",
"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.135,
"predicted_3B": 0.067,
"predicted_AB": 3.516,
"predicted_AVG": 0.228,
"predicted_BB": 0.641,
"predicted_H": 0.78,
"predicted_HR": 0.07,
"predicted_OBP": 0.295,
"predicted_R": 0.48,
"predicted_RBI": 0.36,
"predicted_SLG": 0.338,
"predicted_SO": 0.561
},
"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.2082,
"predicted_3B": 0.0943,
"predicted_AB": 6.4106,
"predicted_AVG": 0.2213,
"predicted_BB": 0.9837,
"predicted_H": 1.3816,
"predicted_HBP": 0.159,
"predicted_HR": 0.0947,
"predicted_OBP": 0.3009,
"predicted_R": 0.8602,
"predicted_RBI": 0.5863,
"predicted_SLG": 0.3237,
"predicted_SO": 1.0237
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.2082,
"delta": 0.0732,
"percent_delta": 0.5422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.067,
"after": 0.0943,
"delta": 0.0273,
"percent_delta": 0.4075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.516,
"after": 6.4106,
"delta": 2.8946,
"percent_delta": 0.8233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2213,
"delta": -0.0067,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.641,
"after": 0.9837,
"delta": 0.3427,
"percent_delta": 0.5346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 1.3816,
"delta": 0.6016,
"percent_delta": 0.7713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0947,
"delta": 0.0247,
"percent_delta": 0.3529,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.3009,
"delta": 0.0059,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.48,
"after": 0.8602,
"delta": 0.3802,
"percent_delta": 0.7921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.5863,
"delta": 0.2263,
"percent_delta": 0.6286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3237,
"delta": -0.0143,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.561,
"after": 1.0237,
"delta": 0.4627,
"percent_delta": 0.8248,
"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": 3.516,
"after": 6.4106,
"delta": 2.8946,
"percent_delta": 0.8233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3237,
"delta": -0.0143,
"percent_delta": -0.0423,
"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": 7,
"season": 58
}
},
{
"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.2082,
"predicted_3B": 0.0943,
"predicted_AB": 6.4106,
"predicted_AVG": 0.2042,
"predicted_BB": 0.973,
"predicted_H": 1.3089,
"predicted_HBP": 0.159,
"predicted_HR": 0.0895,
"predicted_OBP": 0.3091,
"predicted_R": 0.7841,
"predicted_RBI": 0.5344,
"predicted_SLG": 0.308,
"predicted_SO": 1.0349
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2082,
"after": 0.2082,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0943,
"after": 0.0943,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.4106,
"after": 6.4106,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2213,
"after": 0.2042,
"delta": -0.0171,
"percent_delta": -0.0773,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9837,
"after": 0.973,
"delta": -0.0107,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3816,
"after": 1.3089,
"delta": -0.0727,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.159,
"after": 0.159,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0947,
"after": 0.0895,
"delta": -0.0052,
"percent_delta": -0.0549,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3009,
"after": 0.3091,
"delta": 0.0082,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8602,
"after": 0.7841,
"delta": -0.0761,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5863,
"after": 0.5344,
"delta": -0.0519,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3237,
"after": 0.308,
"delta": -0.0157,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0237,
"after": 1.0349,
"delta": 0.0112,
"percent_delta": 0.0109,
"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_OBP",
"before": 0.3009,
"after": 0.3091,
"delta": 0.0082,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.8602,
"after": 0.7841,
"delta": -0.0761,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.41), rates preserved: AVG=0.204 HR/AB=0.014",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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.2082,
"after": 0.0,
"delta": -0.2082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0943,
"after": 0.0,
"delta": -0.0943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.4106,
"after": 6.0,
"delta": -0.4106,
"percent_delta": -0.0641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.973,
"after": 1.0,
"delta": 0.027,
"percent_delta": 0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3089,
"after": 1.0,
"delta": -0.3089,
"percent_delta": -0.236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.159,
"after": 0.0,
"delta": -0.159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0895,
"after": 0.0,
"delta": -0.0895,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5344,
"after": 1.0,
"delta": 0.4656,
"percent_delta": 0.8713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0349,
"after": 1.0,
"delta": -0.0349,
"percent_delta": -0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5344,
"after": 1.0,
"delta": 0.4656,
"percent_delta": 0.8713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.4106,
"after": 6.0,
"delta": -0.4106,
"percent_delta": -0.0641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 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": 6.0,
"after": 6.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.7841,
"after": 1.0,
"delta": 0.2159,
"percent_delta": 0.2753,
"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.7841,
"after": 1.0,
"delta": 0.2159,
"percent_delta": 0.2753,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.2042,
"after": 0.167,
"delta": -0.0372,
"percent_delta": -0.1822,
"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.3091,
"after": 0.286,
"delta": -0.0231,
"percent_delta": -0.0747,
"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.308,
"after": 0.167,
"delta": -0.141,
"percent_delta": -0.4578,
"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.308,
"after": 0.167,
"delta": -0.141,
"percent_delta": -0.4578,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 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.2042,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3091,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.308,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2042,
"delta": 0.0372,
"percent_delta": 0.2226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3091,
"delta": 0.0231,
"percent_delta": 0.0806,
"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.167,
"after": 0.308,
"delta": 0.141,
"percent_delta": 0.8441,
"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.167,
"after": 0.308,
"delta": 0.141,
"percent_delta": 0.8441,
"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.135,
"after": 0.0,
"delta": -0.135,
"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.516,
"after": 4.0,
"delta": 0.484,
"percent_delta": 0.1377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2042,
"delta": -0.0238,
"percent_delta": -0.1044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.641,
"after": 0.0,
"delta": -0.641,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.3091,
"delta": 0.0141,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.308,
"delta": -0.03,
"percent_delta": -0.0888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.561,
"after": 1.0,
"delta": 0.439,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 3,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.516,
"after": 4.0,
"delta": 0.484,
"percent_delta": 0.1377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"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.135 | - |
| predicted_3B | 0.067 | - |
| predicted_AB | 3.516 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.641 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.480 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.338 | - |
| predicted_SO | 0.561 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | 0.073 |
| predicted_3B | 0.094 | 0.027 |
| predicted_AB | 6.411 | 2.895 |
| predicted_AVG | 0.221 | -0.007 |
| predicted_BB | 0.984 | 0.343 |
| predicted_H | 1.382 | 0.602 |
| predicted_HBP | 0.159 | - |
| predicted_HR | 0.095 | 0.025 |
| predicted_OBP | 0.301 | 0.006 |
| predicted_R | 0.860 | 0.380 |
| predicted_RBI | 0.586 | 0.226 |
| predicted_SLG | 0.324 | -0.014 |
| predicted_SO | 1.024 | 0.463 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | 0.000 |
| predicted_3B | 0.094 | 0.000 |
| predicted_AB | 6.411 | 0.000 |
| predicted_AVG | 0.204 | -0.017 |
| predicted_BB | 0.973 | -0.011 |
| predicted_H | 1.309 | -0.073 |
| predicted_HBP | 0.159 | 0.000 |
| predicted_HR | 0.089 | -0.005 |
| predicted_OBP | 0.309 | 0.008 |
| predicted_R | 0.784 | -0.076 |
| predicted_RBI | 0.534 | -0.052 |
| predicted_SLG | 0.308 | -0.016 |
| predicted_SO | 1.035 | 0.011 |
AB rounded to 6 (raw=6.41), rates preserved: AVG=0.204 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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.208 |
| predicted_3B | 0.000 | -0.094 |
| predicted_AB | 6.000 | -0.411 |
| predicted_AVG | 0.167 | -0.037 |
| predicted_BB | 1.000 | 0.027 |
| predicted_H | 1.000 | -0.309 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.286 | -0.023 |
| predicted_R | 1.000 | 0.216 |
| predicted_RBI | 1.000 | 0.466 |
| predicted_SLG | 0.167 | -0.141 |
| predicted_SO | 1.000 | -0.035 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -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 | - | 15.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.1333 | 0.1875 | 0.1333 | 0.1333 | 0.0000 | 0.0000 | 0.0667 | 0.1333 |
| last_10 | 0.20 | 7 | - | 29.000 | 9.000 | 1.000 | 0.000 | 1.000 | 5.000 | 8.000 | 1.000 | 6.000 | 0.3103 | 0.3684 | 0.4483 | 0.3103 | 0.0345 | 0.1724 | 0.0345 | 0.2069 |
| season | 0.60 | 58 | - | 784.000 | 176.000 | 30.000 | 15.000 | 10.000 | 80.000 | 107.000 | 143.000 | 125.000 | 0.2245 | 0.3404 | 0.3393 | 0.2245 | 0.0128 | 0.1020 | 0.1824 | 0.1594 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3010 |
| predicted_3B | 0.1290 |
| predicted_AB | 10.0790 |
| predicted_AVG | 0.2128 |
| predicted_BB | 1.4180 |
| predicted_H | 2.1440 |
| predicted_HBP | 0.1590 |
| predicted_HR | 0.1260 |
| predicted_OBP | 0.3084 |
| predicted_R | 1.3420 |
| predicted_RBI | 0.8730 |
| predicted_SLG | 0.3056 |
| predicted_SO | 1.6100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.3010 | 0.2082 | model_form_blend |
| predicted_3B | 0.0670 | 0.1290 | 0.0943 | model_form_blend |
| predicted_AB | 3.5160 | 10.0790 | 6.4106 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2128 | 0.2213 | model_form_blend |
| predicted_BB | 0.6410 | 1.4180 | 0.9837 | model_form_blend |
| predicted_H | 0.7800 | 2.1440 | 1.3816 | model_form_blend |
| predicted_HBP | - | 0.1590 | 0.1590 | form_only |
| predicted_HR | 0.0700 | 0.1260 | 0.0947 | model_form_blend |
| predicted_OBP | 0.2950 | 0.3084 | 0.3009 | model_form_blend |
| predicted_R | 0.4800 | 1.3420 | 0.8602 | model_form_blend |
| predicted_RBI | 0.3600 | 0.8730 | 0.5863 | model_form_blend |
| predicted_SLG | 0.3380 | 0.3056 | 0.3237 | model_form_blend |
| predicted_SO | 0.5610 | 1.6100 | 1.0237 | 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 | 223 |
| Season rows before report date | 223 |
| Report year | 2026 |
| Profile rows used | 223 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | SS |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 672695 |
| playerID | 672695 |
| playerName | Geraldo Perdomo |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-03 |
| sl_k_percent | 12.8 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.307 |
| sl_xwoba | 0.322 |
| sl_xba | 0.251 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 30.9 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 10.9 |
| sl_swing_percent | 39.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.197 | 1.000 | 0.000 | Hitting_2B | 0.197 | 0.000 | 0.803 | 1.000 |
| predicted_3B | 0.039 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 4.044 | 4.000 | 7.000 | Hitting_AB | 4.044 | 3.000 | -0.044 | 1.000 |
| predicted_AVG | 0.233 | 0.500 | 0.286 | Hitting_AVG | 0.307 | 0.000 | 0.193 | 0.500 |
| predicted_BB | 0.148 | 0.000 | 0.000 | Hitting_BB | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.930 | 2.000 | 2.000 | Hitting_H | 1.241 | 0.000 | 0.759 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_OBP | 0.284 | 0.500 | 0.286 | Hitting_OBP | 0.333 | 0.000 | 0.167 | 0.500 |
| predicted_R | 0.665 | 1.000 | 1.000 | Hitting_R | 0.665 | 0.000 | 0.335 | 1.000 |
| predicted_RBI | 0.500 | 1.000 | 1.000 | Hitting_RBI | 0.764 | 0.000 | 0.236 | 1.000 |
| predicted_SLG | 0.367 | 0.750 | 0.286 | Hitting_SLG | 0.492 | 0.000 | 0.258 | 0.750 |
| predicted_SO | 0.448 | 1.000 | 1.000 | Hitting_SO | 0.448 | 0.000 | 0.552 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.9300 -> 2.0000 (boost 1.0700, better) |
| Biggest Deboost | predicted_BB: 0.1480 -> 0.0000 (deboost -0.1480, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.0440 -> 7.2469 (boost 3.2029, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 1.8534 -> 1.7559 (deboost -0.0975, 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_SO: 0.7110 -> 1.0000 (boost 0.2890, worse) | predicted_BB: 0.2900 -> 0.0000 (deboost -0.2900, worse) | AB rounded to 7 (raw=7.25), rates preserved: AVG=0.242 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8509 -> 1.0000 (boost 0.1491, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2423 -> 0.2860 (boost 0.0437, better) | predicted_SLG: 0.3678 -> 0.2860 (deboost -0.0818, worse) | 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3678 (boost 0.0818, better) | predicted_AVG: 0.2860 -> 0.2423 (deboost -0.0437, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "545121",
"player_name": "Ildemaro Vargas",
"position": "1B",
"team": "ARI",
"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.039,
"predicted_AB": 4.044,
"predicted_AVG": 0.233,
"predicted_BB": 0.148,
"predicted_H": 0.93,
"predicted_HR": 0.09,
"predicted_OBP": 0.284,
"predicted_R": 0.665,
"predicted_RBI": 0.5,
"predicted_SLG": 0.367,
"predicted_SO": 0.448
},
"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.2784,
"predicted_3B": 0.0544,
"predicted_AB": 7.2469,
"predicted_AVG": 0.2482,
"predicted_BB": 0.2932,
"predicted_H": 1.8534,
"predicted_HBP": 0.04,
"predicted_HR": 0.1842,
"predicted_OBP": 0.2896,
"predicted_R": 0.9335,
"predicted_RBI": 0.9991,
"predicted_SLG": 0.3792,
"predicted_SO": 0.7033
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.197,
"after": 0.2784,
"delta": 0.0814,
"percent_delta": 0.4132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0544,
"delta": 0.0154,
"percent_delta": 0.3949,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.044,
"after": 7.2469,
"delta": 3.2029,
"percent_delta": 0.792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2482,
"delta": 0.0152,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.148,
"after": 0.2932,
"delta": 0.1452,
"percent_delta": 0.9811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.8534,
"delta": 0.9234,
"percent_delta": 0.9929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1842,
"delta": 0.0942,
"percent_delta": 1.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2896,
"delta": 0.0056,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.665,
"after": 0.9335,
"delta": 0.2685,
"percent_delta": 0.4038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.9991,
"delta": 0.4991,
"percent_delta": 0.9982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3792,
"delta": 0.0122,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.448,
"after": 0.7033,
"delta": 0.2553,
"percent_delta": 0.5699,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.044,
"after": 7.2469,
"delta": 3.2029,
"percent_delta": 0.792,
"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": 54
}
},
{
"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.2784,
"predicted_3B": 0.0544,
"predicted_AB": 7.2469,
"predicted_AVG": 0.2423,
"predicted_BB": 0.29,
"predicted_H": 1.7559,
"predicted_HBP": 0.04,
"predicted_HR": 0.1741,
"predicted_OBP": 0.2715,
"predicted_R": 0.8509,
"predicted_RBI": 0.9107,
"predicted_SLG": 0.3678,
"predicted_SO": 0.711
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2784,
"after": 0.2784,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0544,
"after": 0.0544,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.2469,
"after": 7.2469,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2482,
"after": 0.2423,
"delta": -0.0059,
"percent_delta": -0.0238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2932,
"after": 0.29,
"delta": -0.0032,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8534,
"after": 1.7559,
"delta": -0.0975,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.04,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1842,
"after": 0.1741,
"delta": -0.0101,
"percent_delta": -0.0548,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2896,
"after": 0.2715,
"delta": -0.0181,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9335,
"after": 0.8509,
"delta": -0.0826,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9991,
"after": 0.9107,
"delta": -0.0884,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3792,
"after": 0.3678,
"delta": -0.0114,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7033,
"after": 0.711,
"delta": 0.0077,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.8534,
"after": 1.7559,
"delta": -0.0975,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.25), rates preserved: AVG=0.242 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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.2784,
"after": 0.0,
"delta": -0.2784,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0544,
"after": 0.0,
"delta": -0.0544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.2469,
"after": 7.0,
"delta": -0.2469,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7559,
"after": 2.0,
"delta": 0.2441,
"percent_delta": 0.139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1741,
"after": 0.0,
"delta": -0.1741,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9107,
"after": 1.0,
"delta": 0.0893,
"percent_delta": 0.0981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.711,
"after": 1.0,
"delta": 0.289,
"percent_delta": 0.4065,
"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_SO",
"before": 0.711,
"after": 1.0,
"delta": 0.289,
"percent_delta": 0.4065,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"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": 7.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": 7.0,
"after": 7.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.8509,
"after": 1.0,
"delta": 0.1491,
"percent_delta": 0.1752,
"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.8509,
"after": 1.0,
"delta": 0.1491,
"percent_delta": 0.1752,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2423,
"after": 0.286,
"delta": 0.0437,
"percent_delta": 0.1804,
"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.2715,
"after": 0.286,
"delta": 0.0145,
"percent_delta": 0.0534,
"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.3678,
"after": 0.286,
"delta": -0.0818,
"percent_delta": -0.2224,
"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.2423,
"after": 0.286,
"delta": 0.0437,
"percent_delta": 0.1804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3678,
"after": 0.286,
"delta": -0.0818,
"percent_delta": -0.2224,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2423,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2715,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3678,
"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": 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.286,
"after": 0.2423,
"delta": -0.0437,
"percent_delta": -0.1528,
"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.286,
"after": 0.2715,
"delta": -0.0145,
"percent_delta": -0.0509,
"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.286,
"after": 0.3678,
"delta": 0.0818,
"percent_delta": 0.286,
"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.286,
"after": 0.3678,
"delta": 0.0818,
"percent_delta": 0.286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2423,
"delta": -0.0437,
"percent_delta": -0.1528,
"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": 1.0,
"delta": 0.803,
"percent_delta": 4.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.044,
"after": 4.0,
"delta": -0.044,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2423,
"delta": 0.0093,
"percent_delta": 0.0399,
"direction": "boost",
"projection_effect": "better",
"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.93,
"after": 2.0,
"delta": 1.07,
"percent_delta": 1.1505,
"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.284,
"after": 0.2715,
"delta": -0.0125,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.665,
"after": 1.0,
"delta": 0.335,
"percent_delta": 0.5038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3678,
"delta": 0.0008,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.448,
"after": 1.0,
"delta": 0.552,
"percent_delta": 1.2321,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.93,
"after": 2.0,
"delta": 1.07,
"percent_delta": 1.1505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.148,
"after": 0.0,
"delta": -0.148,
"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.039 | - |
| predicted_AB | 4.044 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.148 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.284 | - |
| predicted_R | 0.665 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 0.448 | - |
Final model 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.278 | 0.081 |
| predicted_3B | 0.054 | 0.015 |
| predicted_AB | 7.247 | 3.203 |
| predicted_AVG | 0.248 | 0.015 |
| predicted_BB | 0.293 | 0.145 |
| predicted_H | 1.853 | 0.923 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.184 | 0.094 |
| predicted_OBP | 0.290 | 0.006 |
| predicted_R | 0.933 | 0.268 |
| predicted_RBI | 0.999 | 0.499 |
| predicted_SLG | 0.379 | 0.012 |
| predicted_SO | 0.703 | 0.255 |
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.278 | 0.000 |
| predicted_3B | 0.054 | 0.000 |
| predicted_AB | 7.247 | 0.000 |
| predicted_AVG | 0.242 | -0.006 |
| predicted_BB | 0.290 | -0.003 |
| predicted_H | 1.756 | -0.097 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.174 | -0.010 |
| predicted_OBP | 0.272 | -0.018 |
| predicted_R | 0.851 | -0.083 |
| predicted_RBI | 0.911 | -0.088 |
| predicted_SLG | 0.368 | -0.011 |
| predicted_SO | 0.711 | 0.008 |
AB rounded to 7 (raw=7.25), rates preserved: AVG=0.242 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.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.278 |
| predicted_3B | 0.000 | -0.054 |
| predicted_AB | 7.000 | -0.247 |
| predicted_AVG | 0.286 | 0.044 |
| predicted_BB | 0.000 | -0.290 |
| predicted_H | 2.000 | 0.244 |
| predicted_HR | 0.000 | -0.174 |
| predicted_OBP | 0.286 | 0.014 |
| predicted_R | 1.000 | 0.149 |
| predicted_RBI | 1.000 | 0.089 |
| predicted_SLG | 0.286 | -0.082 |
| predicted_SO | 1.000 | 0.289 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.1765 | 0.2222 | 0.1765 | 0.1765 | 0.0000 | 0.0000 | 0.0588 | 0.0000 |
| last_10 | 0.20 | 7 | - | 34.000 | 7.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.000 | 1.000 | 4.000 | 0.2059 | 0.2059 | 0.2059 | 0.2059 | 0.0000 | 0.1765 | 0.0294 | 0.1177 |
| season | 0.60 | 54 | - | 821.000 | 252.000 | 40.000 | 8.000 | 32.000 | 155.000 | 135.000 | 30.000 | 91.000 | 0.3069 | 0.3329 | 0.4921 | 0.3069 | 0.0390 | 0.1888 | 0.0365 | 0.1108 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3820 |
| predicted_3B | 0.0740 |
| predicted_AB | 11.3210 |
| predicted_AVG | 0.2675 |
| predicted_BB | 0.4780 |
| predicted_H | 3.0280 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.3040 |
| predicted_OBP | 0.2968 |
| predicted_R | 1.2750 |
| predicted_RBI | 1.6340 |
| predicted_SLG | 0.3948 |
| predicted_SO | 1.0280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1970 | 0.3820 | 0.2784 | model_form_blend |
| predicted_3B | 0.0390 | 0.0740 | 0.0544 | model_form_blend |
| predicted_AB | 4.0440 | 11.3210 | 7.2469 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2675 | 0.2482 | model_form_blend |
| predicted_BB | 0.1480 | 0.4780 | 0.2932 | model_form_blend |
| predicted_H | 0.9300 | 3.0280 | 1.8534 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.0900 | 0.3040 | 0.1842 | model_form_blend |
| predicted_OBP | 0.2840 | 0.2968 | 0.2896 | model_form_blend |
| predicted_R | 0.6650 | 1.2750 | 0.9335 | model_form_blend |
| predicted_RBI | 0.5000 | 1.6340 | 0.9991 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3948 | 0.3792 | model_form_blend |
| predicted_SO | 0.4480 | 1.0280 | 0.7033 | 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 | 203 |
| Season rows before report date | 203 |
| Report year | 2026 |
| Profile rows used | 203 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.307 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 545121 |
| playerID | 545121 |
| playerName | Ildemaro Vargas |
| pos | 1B |
| started | True |
| startingPosition | 2B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-03 |
| sl_k_percent | 9.5 |
| sl_bb_percent | 3.6 |
| sl_woba | 0.331 |
| sl_xwoba | 0.317 |
| sl_xba | 0.291 |
| sl_xslg | 0.408 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 31.9 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 14.7 |
| sl_swing_percent | 51.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.421 | 0.000 | 0.000 | Hitting_2B | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.105 | 2.000 | 4.000 | Hitting_AB | 2.950 | 2.000 | -0.950 | 0.000 |
| predicted_AVG | 0.256 | 0.000 | 0.250 | Hitting_AVG | 0.356 | 0.000 | -0.356 | 0.000 |
| predicted_BB | 0.474 | 1.000 | 1.000 | Hitting_BB | 0.450 | 1.000 | 0.550 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.650 | 0.000 | 1.000 | Hitting_H | 1.050 | 0.000 | -1.050 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_OBP | 0.314 | 0.333 | 0.400 | Hitting_OBP | 0.441 | 0.333 | -0.108 | 0.000 |
| predicted_R | 1.053 | 0.000 | 1.000 | Hitting_R | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_SLG | 0.405 | 0.000 | 0.250 | Hitting_SLG | 0.542 | 0.000 | -0.542 | 0.000 |
| predicted_SO | 0.368 | 0.000 | 1.000 | Hitting_SO | 0.350 | 1.000 | -0.350 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4740 -> 1.0000 (boost 0.5260, better) |
| Biggest Deboost | predicted_AB: 3.1050 -> 2.0000 (deboost -1.1050, 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 | 7 | 0 | 6 | 1 | predicted_AB: 3.1050 -> 3.8065 (boost 0.7015, 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 | 4 | 1 | 3 | 1 | 3 | predicted_SLG: 0.4265 -> 0.4394 (boost 0.0129, better) | predicted_R: 1.1006 -> 1.0032 (deboost -0.0974, 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_BB: 0.5237 -> 1.0000 (boost 0.4763, better) | predicted_2B: 0.4134 -> 0.0000 (deboost -0.4134, worse) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.236 HR/AB=0.031 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3282 -> 0.4000 (boost 0.0718, better) | predicted_SLG: 0.4394 -> 0.2500 (deboost -0.1894, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4394 (boost 0.1894, better) | predicted_OBP: 0.4000 -> 0.3282 (deboost -0.0718, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694371",
"player_name": "Tommy Troy",
"position": "LF",
"team": "ARI",
"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.421,
"predicted_3B": 0.0,
"predicted_AB": 3.105,
"predicted_AVG": 0.256,
"predicted_BB": 0.474,
"predicted_H": 0.65,
"predicted_HR": 0.11,
"predicted_OBP": 0.314,
"predicted_R": 1.053,
"predicted_RBI": 0.3,
"predicted_SLG": 0.405,
"predicted_SO": 0.368
},
"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.4134,
"predicted_3B": 0.0022,
"predicted_AB": 3.8065,
"predicted_AVG": 0.2689,
"predicted_BB": 0.5295,
"predicted_H": 0.9474,
"predicted_HBP": 0.014,
"predicted_HR": 0.1259,
"predicted_OBP": 0.3347,
"predicted_R": 1.1006,
"predicted_RBI": 0.3014,
"predicted_SLG": 0.4265,
"predicted_SO": 0.5601
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.421,
"after": 0.4134,
"delta": -0.0076,
"percent_delta": -0.0181,
"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": 3.105,
"after": 3.8065,
"delta": 0.7015,
"percent_delta": 0.2259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2689,
"delta": 0.0129,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.474,
"after": 0.5295,
"delta": 0.0555,
"percent_delta": 0.1171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.9474,
"delta": 0.2974,
"percent_delta": 0.4575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1259,
"delta": 0.0159,
"percent_delta": 0.1445,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3347,
"delta": 0.0207,
"percent_delta": 0.0659,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.053,
"after": 1.1006,
"delta": 0.0476,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3014,
"delta": 0.0014,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4265,
"delta": 0.0215,
"percent_delta": 0.0531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.368,
"after": 0.5601,
"delta": 0.1921,
"percent_delta": 0.522,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.105,
"after": 3.8065,
"delta": 0.7015,
"percent_delta": 0.2259,
"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": 9
}
},
{
"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.4134,
"predicted_3B": 0.0022,
"predicted_AB": 3.8065,
"predicted_AVG": 0.2358,
"predicted_BB": 0.5237,
"predicted_H": 0.8976,
"predicted_HBP": 0.014,
"predicted_HR": 0.119,
"predicted_OBP": 0.3282,
"predicted_R": 1.0032,
"predicted_RBI": 0.2747,
"predicted_SLG": 0.4394,
"predicted_SO": 0.5662
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4134,
"after": 0.4134,
"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": 3.8065,
"after": 3.8065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2689,
"after": 0.2358,
"delta": -0.0331,
"percent_delta": -0.1231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5295,
"after": 0.5237,
"delta": -0.0058,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9474,
"after": 0.8976,
"delta": -0.0498,
"percent_delta": -0.0526,
"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.1259,
"after": 0.119,
"delta": -0.0069,
"percent_delta": -0.0548,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3347,
"after": 0.3282,
"delta": -0.0065,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1006,
"after": 1.0032,
"delta": -0.0974,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3014,
"after": 0.2747,
"delta": -0.0267,
"percent_delta": -0.0886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4265,
"after": 0.4394,
"delta": 0.0129,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5601,
"after": 0.5662,
"delta": 0.0061,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4265,
"after": 0.4394,
"delta": 0.0129,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.1006,
"after": 1.0032,
"delta": -0.0974,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.81), rates preserved: AVG=0.236 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4134,
"after": 0.0,
"delta": -0.4134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3.8065,
"after": 4.0,
"delta": 0.1935,
"percent_delta": 0.0508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5237,
"after": 1.0,
"delta": 0.4763,
"percent_delta": 0.9095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8976,
"after": 1.0,
"delta": 0.1024,
"percent_delta": 0.1141,
"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.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2747,
"after": 0.0,
"delta": -0.2747,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5662,
"after": 1.0,
"delta": 0.4338,
"percent_delta": 0.7662,
"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_BB",
"before": 0.5237,
"after": 1.0,
"delta": 0.4763,
"percent_delta": 0.9095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4134,
"after": 0.0,
"delta": -0.4134,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0032,
"after": 1.0,
"delta": -0.0032,
"percent_delta": -0.0032,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"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.2358,
"after": 0.25,
"delta": 0.0142,
"percent_delta": 0.0602,
"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.3282,
"after": 0.4,
"delta": 0.0718,
"percent_delta": 0.2188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4394,
"after": 0.25,
"delta": -0.1894,
"percent_delta": -0.431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3282,
"after": 0.4,
"delta": 0.0718,
"percent_delta": 0.2188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4394,
"after": 0.25,
"delta": -0.1894,
"percent_delta": -0.431,
"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": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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": 2.0,
"predicted_AVG": 0.2358,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3282,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4394,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2358,
"delta": -0.0142,
"percent_delta": -0.0568,
"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.4,
"after": 0.3282,
"delta": -0.0718,
"percent_delta": -0.1794,
"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.25,
"after": 0.4394,
"delta": 0.1894,
"percent_delta": 0.7574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4394,
"delta": 0.1894,
"percent_delta": 0.7574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3282,
"delta": -0.0718,
"percent_delta": -0.1794,
"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.421,
"after": 0.0,
"delta": -0.421,
"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.105,
"after": 2.0,
"delta": -1.105,
"percent_delta": -0.3559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2358,
"delta": -0.0202,
"percent_delta": -0.0789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.474,
"after": 1.0,
"delta": 0.526,
"percent_delta": 1.1097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3282,
"delta": 0.0142,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.053,
"after": 0.0,
"delta": -1.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4394,
"delta": 0.0344,
"percent_delta": 0.0849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.368,
"after": 0.0,
"delta": -0.368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.474,
"after": 1.0,
"delta": 0.526,
"percent_delta": 1.1097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.105,
"after": 2.0,
"delta": -1.105,
"percent_delta": -0.3559,
"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.421 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.105 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.474 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 1.053 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 0.368 | - |
Final model 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.413 | -0.008 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.807 | 0.702 |
| predicted_AVG | 0.269 | 0.013 |
| predicted_BB | 0.529 | 0.055 |
| predicted_H | 0.947 | 0.297 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.126 | 0.016 |
| predicted_OBP | 0.335 | 0.021 |
| predicted_R | 1.101 | 0.048 |
| predicted_RBI | 0.301 | 0.001 |
| predicted_SLG | 0.426 | 0.021 |
| predicted_SO | 0.560 | 0.192 |
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.413 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.807 | 0.000 |
| predicted_AVG | 0.236 | -0.033 |
| predicted_BB | 0.524 | -0.006 |
| predicted_H | 0.898 | -0.050 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.119 | -0.007 |
| predicted_OBP | 0.328 | -0.007 |
| predicted_R | 1.003 | -0.097 |
| predicted_RBI | 0.275 | -0.027 |
| predicted_SLG | 0.439 | 0.013 |
| predicted_SO | 0.566 | 0.006 |
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.236 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.413 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.193 |
| predicted_AVG | 0.250 | 0.014 |
| predicted_BB | 1.000 | 0.476 |
| predicted_H | 1.000 | 0.102 |
| predicted_HR | 0.000 | -0.119 |
| predicted_OBP | 0.400 | 0.072 |
| predicted_R | 1.000 | -0.003 |
| predicted_RBI | 0.000 | -0.275 |
| predicted_SLG | 0.250 | -0.189 |
| predicted_SO | 1.000 | 0.434 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -2.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 4.000 | 0.1875 | 0.2778 | 0.3750 | 0.1875 | 0.0625 | 0.0625 | 0.1250 | 0.2500 |
| last_10 | 0.20 | 7 | - | 29.000 | 8.000 | 0.000 | 0.000 | 1.000 | 1.000 | 7.000 | 4.000 | 7.000 | 0.2759 | 0.3636 | 0.3793 | 0.2759 | 0.0345 | 0.0345 | 0.1379 | 0.2414 |
| season | 0.60 | 9 | - | 59.000 | 21.000 | 8.000 | 0.000 | 1.000 | 1.000 | 20.000 | 9.000 | 7.000 | 0.3559 | 0.4412 | 0.5424 | 0.3559 | 0.0169 | 0.0169 | 0.1525 | 0.1186 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4000 |
| predicted_3B | 0.0060 |
| predicted_AB | 5.0510 |
| predicted_AVG | 0.2919 |
| predicted_BB | 0.6280 |
| predicted_H | 1.4750 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.1540 |
| predicted_OBP | 0.3715 |
| predicted_R | 1.1850 |
| predicted_RBI | 0.3040 |
| predicted_SLG | 0.4646 |
| predicted_SO | 0.9010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.4210 | 0.4000 | 0.4134 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0022 | model_form_blend |
| predicted_AB | 3.1050 | 5.0510 | 3.8065 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2919 | 0.2689 | model_form_blend |
| predicted_BB | 0.4740 | 0.6280 | 0.5295 | model_form_blend |
| predicted_H | 0.6500 | 1.4750 | 0.9474 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.1100 | 0.1540 | 0.1259 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3715 | 0.3347 | model_form_blend |
| predicted_R | 1.0530 | 1.1850 | 1.1006 | model_form_blend |
| predicted_RBI | 0.3000 | 0.3040 | 0.3014 | model_form_blend |
| predicted_SLG | 0.4050 | 0.4646 | 0.4265 | model_form_blend |
| predicted_SO | 0.3680 | 0.9010 | 0.5601 | 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 | 20 |
| Season rows before report date | 20 |
| Report year | 2026 |
| Profile rows used | 19 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.356 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260603_LAD@ARI |
| game_type | full |
| mlbID | 694371 |
| playerID | 694371 |
| playerName | Tommy Troy |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-03 |
| sl_k_percent | 15.6 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.372 |
| sl_xwoba | 0.357 |
| sl_xba | 0.269 |
| sl_xslg | 0.452 |
| sl_sweet_spot_percent | 26.1 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 26.1 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 11.0 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 43.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.583 | 0.000 | -0.583 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.917 | 4.000 | -1.917 | -3.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 4.917 | 7.000 | -0.917 | -3.000 |
| predicted_IP | 6.200 | 6.200 | 6.200 | Pitching_InningsPitched | 5.192 | 5.100 | 1.008 | 1.100 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.333 | 3.000 | 1.667 | 3.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: 8.0000 -> 6.2000 (deboost -1.8000, 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: 8.0000 -> 6.2000 (deboost -1.8000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669194",
"player_name": "Ryne Nelson",
"position": "Starter",
"team": "ARI",
"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": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 8.0,
"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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 6.2,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"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": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 6.2,
"predicted_R": 1.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"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": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 8.000 | - |
| predicted_SO | 6.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.200 | -1.800 |
| predicted_SO | 6.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 | 34.000 | 12.000 | 27.000 | 6.000 | 24.000 | 8.000 | 3.1765 | 0.9706 | 0.3529 | 0.7941 | 0.1765 | 0.7059 | 0.2353 |
| last_10 | 0.35 | 10 | 56.000 | 29.000 | 54.000 | 13.000 | 45.000 | 11.000 | 4.6607 | 1.1964 | 0.5179 | 0.9643 | 0.2321 | 0.8036 | 0.1964 |
| season | 0.20 | 12 | 65.100 | 35.000 | 59.000 | 19.000 | 52.000 | 15.000 | 4.8214 | 1.1939 | 0.5357 | 0.9031 | 0.2908 | 0.7959 | 0.2296 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7380 |
| predicted_ER | 3.0310 |
| predicted_ERA | 4.1184 |
| predicted_H | 5.9550 |
| predicted_HR | 1.2980 |
| predicted_IP | 6.2000 |
| predicted_SO | 5.3770 |
| predicted_WHIP | 1.1615 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.7380 | 1.3880 | model_form_blend |
| predicted_ER | 1.0000 | 3.0310 | 2.0678 | model_form_blend |
| predicted_ERA | - | 4.1184 | 4.1184 | form_only |
| predicted_H | 4.0000 | 5.9550 | 5.0278 | model_form_blend |
| predicted_HR | 1.0000 | 1.2980 | 1.1567 | model_form_blend |
| predicted_IP | 8.0000 | 6.2000 | 7.1000 | model_form_blend |
| predicted_SO | 6.0000 | 5.3770 | 5.6725 | model_form_blend |
| predicted_WHIP | - | 1.1615 | 1.1615 | 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 | 12 |
| Season rows before report date | 12 |
| Report year | 2026 |
| Profile rows used | 12 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.2 |
| H | 4 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 6 |
| HR | 1 |
| BF | 25 |
| Pitches | 100 |
| 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 | 24 |
| Pitching_ER | 4 |
| Pitching_ERA | 4.82 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 5 |
| Pitching_H | 7 |
| Pitching_HBP | 1 |
| Pitching_HR | 4 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.1 |
| Pitching_Pitches | 99 |
| Pitching_R | 5 |
| Pitching_SO | 3 |
| Pitching_Strikes | 67 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260530_ARI@SEA |
| game_type | full |
| mlbID | 669194 |
| playerID | 669194 |
| playerName | Ryne Nelson |
| pos | P |
| started | True |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-30 |
| sl_k_percent | 18.7 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.327 |
| sl_xwoba | 0.35 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 43.1 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 54.0 |
| sl_avg_best_speed | 80.476880294 |
| sl_avg_hyper_speed | 94.729121133 |
| 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.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 1.050 | 1.000 | -0.950 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 1.000 | 0.000 | 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": "642528",
"player_name": "Jonathan Loáisiga",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.1,
"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": 0.1,
"after": 0.1,
"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 | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| season | 0.20 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1400 |
| predicted_ER | 0.1850 |
| predicted_ERA | 3.9765 |
| predicted_H | 0.3810 |
| predicted_HR | 0.0520 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3900 |
| predicted_WHIP | 1.2474 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1400 | 0.0368 | model_form_blend |
| predicted_ER | 0.0000 | 0.1850 | 0.0487 | model_form_blend |
| predicted_ERA | - | 3.9765 | 3.9765 | form_only |
| predicted_H | 0.0000 | 0.3810 | 0.1002 | model_form_blend |
| predicted_HR | 0.0000 | 0.0520 | 0.0137 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3900 | 0.8395 | model_form_blend |
| predicted_WHIP | - | 1.2474 | 1.2474 | 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 | 2 |
| Season rows before report date | 2 |
| Report year | 2026 |
| Profile rows used | 2 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 2 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 642528 |
| playerID | 642528 |
| playerName | Jonathan Loáisiga |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.289 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 26.0 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 41.1 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 50.8 |
| sv_pitch_count | 18.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 92.73888888888888 |
| sv_release_spin_rate | 2386.833333333333 |
| sv_effective_speed | 92.84444444444443 |
| sv_launch_speed | 82.26666666666667 |
| sv_launch_angle | 12.833333333333334 |
| sv_woba_value | 1.25 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.1770000000000001 |
| sv_delta_home_win_exp | -0.0119999999999999 |
| sl_avg_best_speed | 77.494746571 |
| sl_avg_hyper_speed | 94.598984429 |
| 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.000 | 0.000 | 1.000 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.000 | 1.000 | 2.000 | 2.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 2.000 | 2.000 | 2.000 | 2.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 1.000 | 1.000 | -0.800 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.000 | 0.000 | 1.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 0.2000 (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: 0.1000 -> 0.2000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656464",
"player_name": "Kevin Ginkel",
"position": "Middle Reliever",
"team": "ARI",
"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": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 0.2,
"predicted_R": 3.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.35 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.20 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1270 |
| predicted_ER | 0.1800 |
| predicted_ERA | 4.5196 |
| predicted_H | 0.3570 |
| predicted_HR | 0.0470 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3250 |
| predicted_WHIP | 1.3485 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1270 | 0.7874 | model_form_blend |
| predicted_ER | 3.0000 | 0.1800 | 2.3132 | model_form_blend |
| predicted_ERA | - | 4.5196 | 4.5196 | form_only |
| predicted_H | 4.0000 | 0.3570 | 3.1127 | model_form_blend |
| predicted_HR | 1.0000 | 0.0470 | 0.7679 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3250 | 0.8356 | model_form_blend |
| predicted_WHIP | - | 1.3485 | 1.3485 | 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 | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 1 |
| HR | 1 |
| BF | 7 |
| Pitches | 18 |
| 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 | 9.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 21 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260327_ARI@LAD |
| game_type | full |
| mlbID | 656464 |
| playerID | 656464 |
| playerName | Kevin Ginkel |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-27 |
| game_pk | 823971.0 |
| sl_k_percent | 30.2 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.27 |
| sl_xwoba | 0.244 |
| sl_sweet_spot_percent | 24.6 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 41.0 |
| sl_whiff_percent | 30.0 |
| sl_swing_percent | 49.0 |
| sv_pitch_count | 21.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 88.71428571428571 |
| sv_release_spin_rate | 2369.5238095238096 |
| sv_effective_speed | 89.54285714285714 |
| sv_launch_speed | 84.74444444444445 |
| sv_launch_angle | 17.555555555555557 |
| sv_woba_value | 2.15 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 0.421 |
| sv_delta_home_win_exp | 0.227 |
| sl_avg_best_speed | 80.098599333 |
| sl_avg_hyper_speed | 94.100658814 |
| 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.000 | 0.000 | 1.000 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.100 | 0.100 | 0.900 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.000 | 0.000 | 1.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "623149",
"player_name": "Paul Sewald",
"position": "Middle Reliever",
"team": "ARI",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.35 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.20 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1210 |
| predicted_ER | 0.1590 |
| predicted_ERA | 4.2862 |
| predicted_H | 0.3140 |
| predicted_HR | 0.0450 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3100 |
| predicted_WHIP | 1.3055 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1210 | 0.7952 | model_form_blend |
| predicted_ER | 1.0000 | 0.1590 | 0.8041 | model_form_blend |
| predicted_ERA | - | 4.2862 | 4.2862 | form_only |
| predicted_H | 1.0000 | 0.3140 | 0.8402 | model_form_blend |
| predicted_HR | 0.0000 | 0.0450 | 0.0105 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3100 | 0.8392 | model_form_blend |
| predicted_WHIP | - | 1.3055 | 1.3055 | 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 | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 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 | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 5 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 623149 |
| playerID | 623149 |
| playerName | Paul Sewald |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.238 |
| sl_xwoba | 0.265 |
| sl_sweet_spot_percent | 39.6 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 39.6 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 52.4 |
| sv_pitch_count | 5.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 88.6 |
| sv_release_spin_rate | 2524.2 |
| sv_effective_speed | 88.5 |
| sv_launch_speed | 79.85 |
| sv_launch_angle | 22.5 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 1.0 |
| sv_delta_run_exp | -0.26 |
| sv_delta_home_win_exp | -0.008 |
| sl_avg_best_speed | 79.838391923 |
| sl_avg_hyper_speed | 94.058381538 |
| 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.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 4.000 | 4.000 | -3.000 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 3.000 | 3.000 | -3.000 | -3.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.100 | 0.100 | 0.000 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.000 | 0.000 | 0.000 | 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": "664199",
"player_name": "Taylor Clarke",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 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 | 1 | 0.100 | 4.000 | 3.000 | 0.000 | 0.000 | 1.000 | 108.0000 | 9.0000 | 12.0000 | 9.0000 | 0.0000 | 0.0000 | 3.0000 |
| last_10 | 0.35 | 1 | 0.100 | 4.000 | 3.000 | 0.000 | 0.000 | 1.000 | 108.0000 | 9.0000 | 12.0000 | 9.0000 | 0.0000 | 0.0000 | 3.0000 |
| season | 0.20 | 1 | 0.100 | 4.000 | 3.000 | 0.000 | 0.000 | 1.000 | 108.0000 | 9.0000 | 12.0000 | 9.0000 | 0.0000 | 0.0000 | 3.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1210 |
| predicted_ER | 0.2110 |
| predicted_ERA | 5.6902 |
| predicted_H | 0.3530 |
| predicted_HR | 0.0580 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3100 |
| predicted_WHIP | 1.4225 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1210 | 0.0282 | model_form_blend |
| predicted_ER | 1.0000 | 0.2110 | 0.8162 | model_form_blend |
| predicted_ERA | - | 5.6902 | 5.6902 | form_only |
| predicted_H | 0.0000 | 0.3530 | 0.0822 | model_form_blend |
| predicted_HR | 0.0000 | 0.0580 | 0.0135 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.3100 | 0.0722 | model_form_blend |
| predicted_WHIP | - | 1.4225 | 1.4225 | 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 | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 0 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 1 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 4 |
| Pitching_ERA | 108.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 16 |
| Pitching_R | 4 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260326_ARI@LAD |
| game_type | full |
| mlbID | 664199 |
| playerID | 664199 |
| playerName | Taylor Clarke |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-26 |
| game_pk | 823974.0 |
| sl_k_percent | 13.3 |
| sl_bb_percent | 4.1 |
| sl_woba | 0.201 |
| sl_xwoba | 0.273 |
| sl_sweet_spot_percent | 26.6 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 31.6 |
| sl_whiff_percent | 19.2 |
| sl_swing_percent | 47.5 |
| sv_pitch_count | 16.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 90.64375 |
| sv_release_spin_rate | 2063.3125 |
| sv_effective_speed | 90.75 |
| sv_launch_speed | 94.02 |
| sv_launch_angle | 22.0 |
| sv_woba_value | 4.85 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 2.918 |
| sv_delta_home_win_exp | 0.105 |
| sl_avg_best_speed | 74.483172051 |
| sl_avg_hyper_speed | 93.071483462 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | OAK 2 - 1 CHC | OAK | 0.526 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | OAK 4 - 2 CHC | OAK | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| 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.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5257 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 4.967 | 2.396 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 3 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 1 | 0.5257 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 1 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 1 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 4 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.475238558909445,
"base_low_score_probability": 0.42356377799415773,
"low_score_signal_threshold": 0.5035637779941577,
"low_score_signal_strength": 0.051674780915287266,
"confidence": 0.661,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.122
},
"prediction": "normal_scoring",
"expected_total_runs": 3,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 6,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 66,
"near_bucket_sample_size": 66,
"medium_bucket_sample_size": 95,
"wide_bucket_sample_size": 104,
"global_sample_size": 107,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5606,
"bayesian_hit_rate": 0.5476,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7857,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5,
"calibrated_pick_probability": 0.5257,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "CHC",
"games": 61,
"wins": 32,
"losses": 29,
"win_pct": 0.5245901639344263,
"runs_scored": 285,
"runs_allowed": 267,
"run_differential": 18,
"run_differential_per_game": 0.29508196721311475,
"available": true
},
"away": {
"team": "OAK",
"games": 60,
"wins": 29,
"losses": 31,
"win_pct": 0.48333333333333334,
"runs_scored": 254,
"runs_allowed": 287,
"run_differential": -33,
"run_differential_per_game": -0.55,
"available": true
},
"run_differential_edge_per_game": 0.8451,
"win_pct_edge": 0.0413,
"quality_edge": 0.907,
"margin_adjustment": 0.3809,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 2.173,
"home_runs": 0.883,
"home_win_probability": 0.3903
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "OAK",
"guardrail_predicted_team": "OAK",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "OAK",
"output_opponent_team": "CHC",
"final_score_winner": "OAK",
"pre_simulation_winner": "OAK",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 1,
"score_text": "OAK 2 - 1 CHC",
"winner": "OAK"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "OAK 4 - 2 CHC",
"winner": "OAK"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 1,
"total_run_delta": 3,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": true,
"confidence_cap": 0.6,
"winner_flipped": false,
"reasons": [
"season-to-date record and run differential support the home team over a close road lean"
],
"signals": {
"home": {
"team": "CHC",
"games": 61,
"wins": 32,
"losses": 29,
"win_pct": 0.5245901639344263,
"runs_scored": 285,
"runs_allowed": 267,
"run_differential": 18,
"run_differential_per_game": 0.29508196721311475,
"available": true
},
"away": {
"team": "OAK",
"games": 60,
"wins": 29,
"losses": 31,
"win_pct": 0.48333333333333334,
"runs_scored": 254,
"runs_allowed": 287,
"run_differential": -33,
"run_differential_per_game": -0.55,
"available": true
},
"home_quality_edge": 0.1427,
"original_score": {
"away_runs": 2.173,
"home_runs": 0.883,
"home_win_probability": 0.3903
},
"adjusted_score": {
"away_runs": 1.926,
"home_runs": 1.432,
"home_win_probability": 0.51
}
}
}{
"applied": false,
"raw_margin": -0.4939,
"final_margin": -0.4939,
"margin_cap": 2.0,
"season_quality_edge": 0.907,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.525714,
"final_confidence": 0.525714,
"confidence_cap": 0.66,
"score_gap": 0.4939,
"calibration_sample_size": 66,
"calibration_empirical_hit_rate": 0.5606,
"calibration_bayesian_hit_rate": 0.5476,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.907,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 1,
"score_text": "OAK 2 - 1 CHC",
"winner": "OAK"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "OAK 4 - 2 CHC",
"winner": "OAK"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 1,
"total_run_delta": 3,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 2,
"home_runs": 1,
"confidence": 0.525714,
"home_win_probability": 0.474286,
"away_win_probability": 0.525714,
"predicted_score_text": "OAK 2 - 1 CHC",
"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": "OAK",
"original_runs": 2,
"run_delta": 0.1874,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 51.0,
"quality": 0.37273634781664355,
"contact": 0.17077649699894065,
"power": 0.2961505561423145,
"discipline": 0.002465265573735439,
"xwoba": 0.3187254901960785,
"recent_xwoba": 0.3187254901960785,
"barrel": 8.860784313725489,
"ab_hard_contact": 0.16437433479771751,
"ab_bat_speed": 72.39323398642111,
"ab_strikeout_rate": 0.23211724569164016,
"available_players": 9,
"top_players": [
{
"player_id": "701762",
"player_name": "Nick Kurtz",
"position": "1B",
"weight": 7.0,
"quality": 1.3840221200271308,
"contact": 1.3400576360998326,
"power": 1.917571865707298,
"discipline": 0.6203837991718427,
"xwoba": 0.399,
"recent_xwoba": 0.399,
"barrel": 18.4,
"ab_hard_contact": 1.2691515998602303,
"ab_bat_speed": 76.35883401920438,
"ab_strikeout_rate": 0.3083333333333333,
"available": 1.0
},
{
"player_id": "669127",
"player_name": "Shea Langeliers",
"position": "DH",
"weight": 8.0,
"quality": 1.2727054729068963,
"contact": 1.3704367320257589,
"power": 1.7089113596046939,
"discipline": 0.011859989648032976,
"xwoba": 0.391,
"recent_xwoba": 0.391,
"barrel": 15.2,
"ab_hard_contact": 1.2580367159033785,
"ab_bat_speed": 74.42080277777778,
"ab_strikeout_rate": 0.21600000000000003,
"available": 1.0
},
{
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"position": "LF",
"weight": 7.0,
"quality": 0.4120251284958917,
"contact": 0.359131967245539,
"power": 0.5143396553096039,
"discipline": 0.46943874422678755,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 11.0,
"ab_hard_contact": 0.3774597728587252,
"ab_bat_speed": 72.399640491453,
"ab_strikeout_rate": 0.20256410256410257,
"available": 1.0
},
{
"player_id": "643446",
"player_name": "Jeff McNeil",
"position": "2B",
"weight": 6.0,
"quality": -0.23793605340793605,
"contact": 0.027753901194759626,
"power": -0.9332572532714569,
"discipline": 0.48758501299070334,
"xwoba": 0.311,
"recent_xwoba": 0.311,
"barrel": 1.2,
"ab_hard_contact": -0.7112403035243914,
"ab_bat_speed": 66.7119767351385,
"ab_strikeout_rate": 0.14934640522875817,
"available": 1.0
},
{
"player_id": "675961",
"player_name": "Alika Williams",
"position": "SS",
"weight": 3.0,
"quality": -0.0417746500527187,
"contact": -1.696387918871251,
"power": -1.392661763661271,
"discipline": -2.0,
"xwoba": 0.127,
"recent_xwoba": 0.127,
"barrel": 0.0,
"ab_hard_contact": -1.6204733684635468,
"ab_bat_speed": 68.26666666666667,
"ab_strikeout_rate": 0.4166666666666667,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "684007",
"player_name": "Shota Imanaga",
"quality": 0.07477190868815083,
"contact": 0.009855477706734256,
"command": 0.35152380952380946,
"movement": -0.43694800746368795,
"xwoba": 0.306,
"whiff": 30.0,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
},
"home": {
"team": "CHC",
"original_runs": 1,
"run_delta": 0.1662,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 59.0,
"quality": 0.2363468995310588,
"contact": 0.3283288516891624,
"power": 0.27694382876130186,
"discipline": 0.45145757986817403,
"xwoba": 0.33422033898305087,
"recent_xwoba": 0.33422033898305087,
"barrel": 8.76779661016949,
"ab_hard_contact": 0.12710256392658498,
"ab_bat_speed": 69.49927047671493,
"ab_strikeout_rate": 0.20509839093577012,
"available_players": 9,
"top_players": [
{
"player_id": "624424",
"player_name": "Michael Conforto",
"position": "RF",
"weight": 4.0,
"quality": 0.5101782690226427,
"contact": 1.328748772343219,
"power": 1.870954624758885,
"discipline": 0.3374739867620301,
"xwoba": 0.389,
"recent_xwoba": 0.389,
"barrel": 16.4,
"ab_hard_contact": 0.9834734475586412,
"ab_bat_speed": 71.50145161290322,
"ab_strikeout_rate": 0.31717171717171716,
"available": 1.0
},
{
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"weight": 7.0,
"quality": 0.6342931856992523,
"contact": 0.6326296838872305,
"power": 0.9239475883591522,
"discipline": -0.24576122247317916,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 11.0,
"ab_hard_contact": 0.47076129099254416,
"ab_bat_speed": 71.59198015873015,
"ab_strikeout_rate": 0.25212121212121213,
"available": 1.0
},
{
"player_id": "664023",
"player_name": "Ian Happ",
"position": "LF",
"weight": 8.0,
"quality": 0.4263636183418426,
"contact": 0.05636950265756688,
"power": 1.0621882083205871,
"discipline": 0.035009382738602546,
"xwoba": 0.343,
"recent_xwoba": 0.343,
"barrel": 15.2,
"ab_hard_contact": 0.590430833078396,
"ab_bat_speed": 70.72080156136528,
"ab_strikeout_rate": 0.3169934640522876,
"available": 1.0
},
{
"player_id": "683737",
"player_name": "Michael Busch",
"position": "1B",
"weight": 8.0,
"quality": 0.37482092054765553,
"contact": 0.2877949734014197,
"power": 0.41616879618661534,
"discipline": 0.7299896192776626,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 11.6,
"ab_hard_contact": 0.13061401897038763,
"ab_bat_speed": 65.7454809670782,
"ab_strikeout_rate": 0.22037037037037038,
"available": 1.0
},
{
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"position": "C",
"weight": 5.0,
"quality": 0.1899179687244476,
"contact": 0.20963527165308765,
"power": 0.4746113526629373,
"discipline": 0.07538069358178033,
"xwoba": 0.318,
"recent_xwoba": 0.318,
"barrel": 10.7,
"ab_hard_contact": 0.4388937199253977,
"ab_bat_speed": 71.60700483091787,
"ab_strikeout_rate": 0.22355072463768116,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669372",
"player_name": "J.T. Ginn",
"quality": 0.12036983062573137,
"contact": 0.41657917267911565,
"command": -0.20476190476190487,
"movement": 0.29079949197385413,
"xwoba": 0.312,
"whiff": 24.9,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Season quality guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 1,
"predicted_score_text": "OAK 2 - 1 CHC",
"confidence": 0.525714,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 1,
"score_text": "OAK 2 - 1 CHC",
"winner": "OAK"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "OAK 4 - 2 CHC",
"winner": "OAK"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 1,
"total_run_delta": 3,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 OAK | True | 1.0217 | 1.0217 | 1 | 9 | 0 |
| Home CHC | True | 1.0328 | 1.0328 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Henry Bolte | 265 | 0.9642 | -0.4778 | negative_batter_regression | 0.2610 | 0.1990 | 0.2630 | 0 | 51.20 | 90.60 | 4.40 | 31.30 | 24.60 | 9.20 | -1.6857 |
| RF | Colby Thomas | 356 | 1.0142 | 0.1894 | neutral | 0.3250 | 0.2280 | 0.4800 | 12.50 | 37.50 | 90.40 | 19.40 | 30.20 | 25.50 | 6.40 | -0.6286 |
| DH | Shea Langeliers | 21 | 1.1254 | 1.6722 | neutral | 0.3910 | 0.2910 | 0.5590 | 15.20 | 46.10 | 92.20 | 20.80 | 25.30 | 18.80 | 8.40 | 0.1714 |
| 1B | Nick Kurtz | 17 | 1.1256 | 1.6750 | neutral | 0.3990 | 0.2620 | 0.5080 | 18.40 | 58.10 | 94.30 | 12.20 | 35.20 | 28.90 | 20.50 | -0.4000 |
| LF | Tyler Soderstrom | 100 | 1.0392 | 0.5224 | neutral | 0.3290 | 0.2490 | 0.4210 | 11 | 43.90 | 90 | 13.70 | 22.20 | 18.30 | 11 | 0.1143 |
| C | Jonah Heim | 348 | 0.9845 | -0.2070 | neutral | 0.2840 | 0.2230 | 0.3530 | 5 | 25 | 85.90 | 15.70 | 20.10 | 16.30 | 8.80 | 0.2286 |
| 3B | Zack Gelof | 137 | 0.9969 | -0.0411 | neutral | 0.3000 | 0.2350 | 0.4050 | 8.30 | 41.70 | 89.30 | 15.50 | 27.50 | 24.80 | 5.70 | -0.8000 |
| 2B | Jeff McNeil | 254 | 0.9982 | -0.0238 | neutral | 0.3110 | 0.2760 | 0.3530 | 1.20 | 30.90 | 86.30 | 12 | 16.40 | 13.30 | 8.10 | 0.4571 |
| SS | Alika Williams | 323 | 0.9468 | -0.7097 | neutral | 0.1270 | 0.1280 | 0.1620 | 0 | 42.90 | 89.90 | 25 | 40 | 50 | 0 | -0.0286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Alex Bregman | 80 | 1.0197 | 0.2625 | neutral | 0.3220 | 0.2580 | 0.3900 | 5.50 | 40.30 | 88.40 | 14.40 | 18.20 | 16.80 | 9.70 | 0.2571 |
| RF | Michael Conforto | 169 | 1.0579 | 0.7719 | neutral | 0.3890 | 0.2690 | 0.5280 | 16.40 | 54.50 | 94.80 | 19.60 | 30.70 | 26.60 | 14.90 | -0.0571 |
| CF | Pete Crow-Armstrong | 8 | 1.0698 | 0.9304 | neutral | 0.3460 | 0.2500 | 0.4590 | 11 | 50.60 | 91.90 | 19.80 | 27.10 | 25.50 | 8.50 | 0.6571 |
| 1B | Michael Busch | 73 | 1.0473 | 0.6312 | neutral | 0.3470 | 0.2390 | 0.4160 | 11.60 | 42.10 | 88.80 | 15.50 | 25.30 | 22.30 | 14.90 | 0.0857 |
| LF | Ian Happ | 37 | 1.0527 | 0.7021 | neutral | 0.3430 | 0.2130 | 0.4580 | 15.20 | 46.40 | 90.60 | 15.50 | 33.30 | 31.50 | 14.20 | -0.4571 |
| C | Moisés Ballesteros | 223 | 1.0210 | 0.2796 | neutral | 0.3180 | 0.2380 | 0.4030 | 10.70 | 46.60 | 90.60 | 12.20 | 28.30 | 20.30 | 10.10 | 0.1143 |
| 2B | Nico Hoerner | 36 | 1.0235 | 0.3129 | neutral | 0.3370 | 0.2940 | 0.3780 | 1.30 | 28.50 | 85.80 | 12.90 | 10.40 | 7.10 | 10.30 | 0.6000 |
| DH | Pedro Ramirez | 401 | 1.0105 | 0.1400 | positive_batter_regression | 0.3060 | 0.2950 | 0.3360 | 0 | 45.50 | 91.10 | -1.60 | 6.70 | 0 | 8.30 | 1.9143 |
| SS | Dansby Swanson | 84 | 0.9931 | -0.0922 | neutral | 0.2970 | 0.1990 | 0.3550 | 7.60 | 42.50 | 89.80 | 15.70 | 30.40 | 23.70 | 12.90 | 0.4000 |
{
"home": {
"applied": true,
"offense_factor": 1.0328,
"raw_average_factor": 1.0328,
"team_espn_average_rank": 123.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "608324",
"player_name": "Alex Bregman",
"offense_factor": 1.0197,
"quality_score": 0.2625,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608324",
"espn_id": 34886,
"player_name": "Alex Bregman",
"team": "CHC",
"role": "batter",
"espn_rank": 80,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 80,
"gp_value": 61.0,
"gp_rank": 28,
"ab_value": 247.0,
"ab_rank": 5,
"r_value": 28.0,
"r_rank": 83,
"h_value": 63.0,
"h_rank": 27,
"avg_value": 0.2550607,
"avg_rank": 76.0,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 19.0,
"rbi_rank": 184,
"tb_value": 88.0,
"tb_rank": 710,
"bb_value": 27.0,
"bb_rank": 46,
"so_value": 47.0,
"so_rank": 101,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.3369175,
"obp_rank": "78",
"slg_value": 0.3562753,
"slg_rank": "134",
"ops_value": 0.6931928,
"ops_rank": 123.0,
"war_value": 1.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 249.0,
"k_percent": 16.8,
"bb_percent": 9.7,
"woba": 0.313,
"xwoba": 0.322,
"xba": 0.258,
"xslg": 0.39,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 14.4,
"whiff_percent": 18.2,
"swing_percent": 40.0
},
"components": {
"expected_quality": 0.2634,
"regression_edge": 0.2571,
"xwoba_edge": 0.4714,
"xba_edge": 0.6,
"xslg_edge": 0.2,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.2571,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "624424",
"player_name": "Michael Conforto",
"offense_factor": 1.0579,
"quality_score": 0.7719,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "624424",
"espn_id": 33711,
"player_name": "Michael Conforto",
"team": "CHC",
"role": "batter",
"espn_rank": 169,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 169,
"gp_value": 38.0,
"gp_rank": 276,
"ab_value": 79.0,
"ab_rank": 335,
"r_value": 12.0,
"r_rank": 279,
"h_value": 21.0,
"h_rank": 297,
"avg_value": 0.2658227,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 4.0,
"hr_rank": 173,
"rbi_value": 13.0,
"rbi_rank": 255,
"tb_value": 42.0,
"tb_rank": 1263,
"bb_value": 14.0,
"bb_rank": 190,
"so_value": 25.0,
"so_rank": 274,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3723404,
"obp_rank": "-",
"slg_value": 0.5316455,
"slg_rank": "-",
"ops_value": 0.9039859,
"ops_rank": null,
"war_value": 0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 26.6,
"bb_percent": 14.9,
"woba": 0.391,
"xwoba": 0.389,
"xba": 0.269,
"xslg": 0.528,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 16.4,
"hard_hit_percent": 54.5,
"exit_velocity_avg": 94.8,
"launch_angle_avg": 19.6,
"whiff_percent": 30.7,
"swing_percent": 42.3
},
"components": {
"expected_quality": 2.0039,
"regression_edge": -0.0571,
"xwoba_edge": 2.3857,
"xba_edge": 0.9143,
"xslg_edge": 2.1714,
"barrel_edge": 2.1111,
"hard_hit_edge": 2.2857,
"exit_velocity_edge": 2.4,
"sweet_spot_edge": 1.1167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"offense_factor": 1.0698,
"quality_score": 0.9304,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691718",
"espn_id": 4717833,
"player_name": "Pete Crow-Armstrong",
"team": "CHC",
"role": "batter",
"espn_rank": 8,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 8,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 228.0,
"ab_rank": 33,
"r_value": 34.0,
"r_rank": 50,
"h_value": 55.0,
"h_rank": 73,
"avg_value": 0.241228,
"avg_rank": 107.0,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 8.0,
"hr_rank": 65,
"rbi_value": 28.0,
"rbi_rank": 80,
"tb_value": 91.0,
"tb_rank": 438,
"bb_value": 22.0,
"bb_rank": 79,
"so_value": 66.0,
"so_rank": 26,
"sb_value": 12.0,
"sb_rank": 14,
"obp_value": 0.3255813,
"obp_rank": "92",
"slg_value": 0.3991228,
"slg_rank": "103",
"ops_value": 0.7247041,
"ops_rank": 100.0,
"war_value": 2.83,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 25.5,
"bb_percent": 8.5,
"woba": 0.323,
"xwoba": 0.346,
"xba": 0.25,
"xslg": 0.459,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 11.0,
"hard_hit_percent": 50.6,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 19.8,
"whiff_percent": 27.1,
"swing_percent": 52.7
},
"components": {
"expected_quality": 0.9748,
"regression_edge": 0.6571,
"xwoba_edge": 1.1571,
"xba_edge": 0.3714,
"xslg_edge": 1.1857,
"barrel_edge": 0.9111,
"hard_hit_edge": 1.7286,
"exit_velocity_edge": 1.24,
"sweet_spot_edge": -0.3667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "683737",
"player_name": "Michael Busch",
"offense_factor": 1.0473,
"quality_score": 0.6312,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683737",
"espn_id": 42415,
"player_name": "Michael Busch",
"team": "CHC",
"role": "batter",
"espn_rank": 73,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 73,
"gp_value": 61.0,
"gp_rank": 28,
"ab_value": 221.0,
"ab_rank": 56,
"r_value": 26.0,
"r_rank": 105,
"h_value": 54.0,
"h_rank": 78,
"avg_value": 0.2443438,
"avg_rank": 98.0,
"2b_value": 11.0,
"2b_rank": 61,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 36.0,
"rbi_rank": 30,
"tb_value": 87.0,
"tb_rank": 506,
"bb_value": 40.0,
"bb_rank": 10,
"so_value": 60.0,
"so_rank": 43,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3680297,
"obp_rank": "30",
"slg_value": 0.3936651,
"slg_rank": "108",
"ops_value": 0.7616948,
"ops_rank": 80.0,
"war_value": 1.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 243.0,
"k_percent": 22.3,
"bb_percent": 14.9,
"woba": 0.344,
"xwoba": 0.347,
"xba": 0.239,
"xslg": 0.416,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 15.5,
"whiff_percent": 25.3,
"swing_percent": 42.0
},
"components": {
"expected_quality": 0.7201,
"regression_edge": 0.0857,
"xwoba_edge": 1.1857,
"xba_edge": 0.0571,
"xslg_edge": 0.5714,
"barrel_edge": 1.0444,
"hard_hit_edge": 0.5143,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "664023",
"player_name": "Ian Happ",
"offense_factor": 1.0527,
"quality_score": 0.7021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664023",
"espn_id": 34945,
"player_name": "Ian Happ",
"team": "CHC",
"role": "batter",
"espn_rank": 37,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 37,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 220.0,
"ab_rank": 58,
"r_value": 40.0,
"r_rank": 16,
"h_value": 51.0,
"h_rank": 94,
"avg_value": 0.2318181,
"avg_rank": 124.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 13.0,
"hr_rank": 22,
"rbi_value": 31.0,
"rbi_rank": 56,
"tb_value": 104.0,
"tb_rank": 305,
"bb_value": 37.0,
"bb_rank": 15,
"so_value": 82.0,
"so_rank": 4,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.35,
"obp_rank": "58",
"slg_value": 0.4727272,
"slg_rank": "39",
"ops_value": 0.8227272,
"ops_rank": 46.0,
"war_value": 1.95,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 31.5,
"bb_percent": 14.2,
"woba": 0.359,
"xwoba": 0.343,
"xba": 0.213,
"xslg": 0.458,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 46.4,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 15.5,
"whiff_percent": 33.3,
"swing_percent": 43.7
},
"components": {
"expected_quality": 0.8909,
"regression_edge": -0.4571,
"xwoba_edge": 1.0714,
"xba_edge": -0.6857,
"xslg_edge": 1.1714,
"barrel_edge": 1.8444,
"hard_hit_edge": 1.1286,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"offense_factor": 1.021,
"quality_score": 0.2796,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694208",
"espn_id": 4987418,
"player_name": "Moises Ballesteros",
"team": "CHC",
"role": "batter",
"espn_rank": 223,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 223,
"gp_value": 49.0,
"gp_rank": 188,
"ab_value": 131.0,
"ab_rank": 223,
"r_value": 15.0,
"r_rank": 236,
"h_value": 30.0,
"h_rank": 228,
"avg_value": 0.2290076,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 20.0,
"rbi_rank": 166,
"tb_value": 53.0,
"tb_rank": 1142,
"bb_value": 15.0,
"bb_rank": 173,
"so_value": 30.0,
"so_rank": 222,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.304054,
"obp_rank": "-",
"slg_value": 0.4045801,
"slg_rank": "-",
"ops_value": 0.7086341,
"ops_rank": null,
"war_value": 0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 141.0,
"k_percent": 20.3,
"bb_percent": 10.1,
"woba": 0.314,
"xwoba": 0.318,
"xba": 0.238,
"xslg": 0.403,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 46.6,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 12.2,
"whiff_percent": 28.3,
"swing_percent": 50.0
},
"components": {
"expected_quality": 0.4887,
"regression_edge": 0.1143,
"xwoba_edge": 0.3571,
"xba_edge": 0.0286,
"xslg_edge": 0.3857,
"barrel_edge": 0.8444,
"hard_hit_edge": 1.1571,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "663538",
"player_name": "Nico Hoerner",
"offense_factor": 1.0235,
"quality_score": 0.3129,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663538",
"espn_id": 41219,
"player_name": "Nico Hoerner",
"team": "CHC",
"role": "batter",
"espn_rank": 36,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 36,
"gp_value": 61.0,
"gp_rank": 28,
"ab_value": 245.0,
"ab_rank": 7,
"r_value": 26.0,
"r_rank": 105,
"h_value": 62.0,
"h_rank": 34,
"avg_value": 0.2530612,
"avg_rank": 77.0,
"2b_value": 14.0,
"2b_rank": 23,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 4.0,
"hr_rank": 173,
"rbi_value": 33.0,
"rbi_rank": 42,
"tb_value": 88.0,
"tb_rank": 910,
"bb_value": 29.0,
"bb_rank": 40,
"so_value": 20.0,
"so_rank": 321,
"sb_value": 12.0,
"sb_rank": 14,
"obp_value": 0.3380782,
"obp_rank": "77",
"slg_value": 0.3591836,
"slg_rank": "129",
"ops_value": 0.6972618,
"ops_rank": 121.0,
"war_value": 2.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 250.0,
"k_percent": 7.1,
"bb_percent": 10.3,
"woba": 0.316,
"xwoba": 0.337,
"xba": 0.294,
"xslg": 0.378,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 1.3,
"hard_hit_percent": 28.5,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 12.9,
"whiff_percent": 10.4,
"swing_percent": 42.6
},
"components": {
"expected_quality": 0.2662,
"regression_edge": 0.6,
"xwoba_edge": 0.9,
"xba_edge": 1.6286,
"xslg_edge": 0.0286,
"barrel_edge": -1.2444,
"hard_hit_edge": -1.4286,
"exit_velocity_edge": -1.2,
"sweet_spot_edge": 0.8833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "699393",
"player_name": "Pedro Ramirez",
"offense_factor": 1.0105,
"quality_score": 0.14,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "699393",
"espn_id": 5012995,
"player_name": "Pedro Ramirez",
"team": "CHC",
"role": "batter",
"espn_rank": 401,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 401,
"gp_value": 6.0,
"gp_rank": 494,
"ab_value": 11.0,
"ab_rank": 500,
"r_value": 1.0,
"r_rank": 469,
"h_value": 2.0,
"h_rank": 478,
"avg_value": 0.1818181,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 407,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 1.0,
"rbi_rank": 469,
"tb_value": 3.0,
"tb_rank": 2446,
"bb_value": 1.0,
"bb_rank": 449,
"so_value": 0.0,
"so_rank": 530,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.2727272,
"slg_rank": "-",
"ops_value": 0.5227272,
"ops_rank": null,
"war_value": -0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 8.0,
"k_percent": 0.0,
"bb_percent": 8.3,
"woba": 0.239,
"xwoba": 0.306,
"xba": 0.295,
"xslg": 0.336,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 45.5,
"exit_velocity_avg": 91.1,
"launch_angle_avg": -1.6,
"whiff_percent": 6.7,
"swing_percent": 44.1
},
"components": {
"expected_quality": 0.0501,
"regression_edge": 1.9143,
"xwoba_edge": 0.0143,
"xba_edge": 1.6571,
"xslg_edge": -0.5714,
"barrel_edge": -1.5333,
"hard_hit_edge": 1.0,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": -1.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "621020",
"player_name": "Dansby Swanson",
"offense_factor": 0.9931,
"quality_score": -0.0922,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621020",
"espn_id": 34895,
"player_name": "Dansby Swanson",
"team": "CHC",
"role": "batter",
"espn_rank": 84,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 84,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 197.0,
"ab_rank": 118,
"r_value": 34.0,
"r_rank": 50,
"h_value": 36.0,
"h_rank": 185,
"avg_value": 0.1827411,
"avg_rank": 172.0,
"2b_value": 6.0,
"2b_rank": 205,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 27.0,
"rbi_rank": 91,
"tb_value": 65.0,
"tb_rank": 736,
"bb_value": 30.0,
"bb_rank": 35,
"so_value": 55.0,
"so_rank": 68,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.2900432,
"obp_rank": "143",
"slg_value": 0.3299492,
"slg_rank": "151",
"ops_value": 0.6199924,
"ops_rank": 156.0,
"war_value": 1.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 208.0,
"k_percent": 23.7,
"bb_percent": 12.9,
"woba": 0.283,
"xwoba": 0.297,
"xba": 0.199,
"xslg": 0.355,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 42.5,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 15.7,
"whiff_percent": 30.4,
"swing_percent": 44.4
},
"components": {
"expected_quality": -0.1785,
"regression_edge": 0.4,
"xwoba_edge": -0.2429,
"xba_edge": -1.0857,
"xslg_edge": -0.3,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.5714,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -1.1,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0217,
"raw_average_factor": 1.0217,
"team_espn_average_rank": 202.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "CF",
"player_id": "703607",
"player_name": "Henry Bolte",
"offense_factor": 0.9642,
"quality_score": -0.4778,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "703607",
"espn_id": 5080756,
"player_name": "Henry Bolte",
"team": "ATH",
"role": "batter",
"espn_rank": 265,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 265,
"gp_value": 19.0,
"gp_rank": 391,
"ab_value": 56.0,
"ab_rank": 379,
"r_value": 4.0,
"r_rank": 403,
"h_value": 16.0,
"h_rank": 344,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 365,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 4.0,
"rbi_rank": 398,
"tb_value": 18.0,
"tb_rank": 2270,
"bb_value": 6.0,
"bb_rank": 322,
"so_value": 16.0,
"so_rank": 362,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.3692307,
"obp_rank": "-",
"slg_value": 0.3214285,
"slg_rank": "-",
"ops_value": 0.6906592,
"ops_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 41.0,
"k_percent": 24.6,
"bb_percent": 9.2,
"woba": 0.32,
"xwoba": 0.261,
"xba": 0.199,
"xslg": 0.263,
"sweet_spot_percent": 19.5,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 51.2,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 4.4,
"whiff_percent": 31.3,
"swing_percent": 50.0
},
"components": {
"expected_quality": -0.9601,
"regression_edge": -1.6857,
"xwoba_edge": -1.2714,
"xba_edge": -1.0857,
"xslg_edge": -1.6143,
"barrel_edge": -1.5333,
"hard_hit_edge": 1.8143,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -2.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "687515",
"player_name": "Colby Thomas",
"offense_factor": 1.0142,
"quality_score": 0.1894,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687515",
"espn_id": 4662616,
"player_name": "Colby Thomas",
"team": "ATH",
"role": "batter",
"espn_rank": 356,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 356,
"gp_value": 21.0,
"gp_rank": 381,
"ab_value": 43.0,
"ab_rank": 402,
"r_value": 6.0,
"r_rank": 375,
"h_value": 12.0,
"h_rank": 372,
"avg_value": 0.2790697,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 365,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 6.0,
"rbi_rank": 354,
"tb_value": 20.0,
"tb_rank": 1863,
"bb_value": 3.0,
"bb_rank": 397,
"so_value": 12.0,
"so_rank": 395,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3260869,
"obp_rank": "-",
"slg_value": 0.4651162,
"slg_rank": "-",
"ops_value": 0.7912031,
"ops_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 36.0,
"k_percent": 25.5,
"bb_percent": 6.4,
"woba": 0.347,
"xwoba": 0.325,
"xba": 0.228,
"xslg": 0.48,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 19.4,
"whiff_percent": 30.2,
"swing_percent": 57.8
},
"components": {
"expected_quality": 0.5918,
"regression_edge": -0.6286,
"xwoba_edge": 0.5571,
"xba_edge": -0.2571,
"xslg_edge": 1.4857,
"barrel_edge": 1.2444,
"hard_hit_edge": -0.1429,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": -0.3333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH",
"player_id": "669127",
"player_name": "Shea Langeliers",
"offense_factor": 1.1254,
"quality_score": 1.6722,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669127",
"espn_id": 42598,
"player_name": "Shea Langeliers",
"team": "ATH",
"role": "batter",
"espn_rank": 21,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 21,
"gp_value": 55.0,
"gp_rank": 140,
"ab_value": 224.0,
"ab_rank": 47,
"r_value": 38.0,
"r_rank": 26,
"h_value": 64.0,
"h_rank": 24,
"avg_value": 0.2857142,
"avg_rank": 32.0,
"2b_value": 13.0,
"2b_rank": 28,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 14.0,
"hr_rank": 15,
"rbi_value": 30.0,
"rbi_rank": 63,
"tb_value": 119.0,
"tb_rank": 431,
"bb_value": 21.0,
"bb_rank": 96,
"so_value": 47.0,
"so_rank": 101,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.356,
"obp_rank": "45",
"slg_value": 0.53125,
"slg_rank": "12",
"ops_value": 0.88725,
"ops_rank": 18.0,
"war_value": 2.43,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 226.0,
"k_percent": 18.8,
"bb_percent": 8.4,
"woba": 0.385,
"xwoba": 0.391,
"xba": 0.291,
"xslg": 0.559,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 92.2,
"launch_angle_avg": 20.8,
"whiff_percent": 25.3,
"swing_percent": 51.4
},
"components": {
"expected_quality": 1.9165,
"regression_edge": 0.1714,
"xwoba_edge": 2.4429,
"xba_edge": 1.5429,
"xslg_edge": 2.5,
"barrel_edge": 1.8444,
"hard_hit_edge": 1.0857,
"exit_velocity_edge": 1.36,
"sweet_spot_edge": 0.7167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "701762",
"player_name": "Nick Kurtz",
"offense_factor": 1.1256,
"quality_score": 1.675,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701762",
"espn_id": 4966637,
"player_name": "Nick Kurtz",
"team": "ATH",
"role": "batter",
"espn_rank": 17,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 17,
"gp_value": 60.0,
"gp_rank": 42,
"ab_value": 215.0,
"ab_rank": 76,
"r_value": 40.0,
"r_rank": 16,
"h_value": 62.0,
"h_rank": 34,
"avg_value": 0.288372,
"avg_rank": 25.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 11.0,
"hr_rank": 38,
"rbi_value": 43.0,
"rbi_rank": 10,
"tb_value": 109.0,
"tb_rank": 293,
"bb_value": 56.0,
"bb_rank": 2,
"so_value": 79.0,
"so_rank": 9,
"sb_value": 6.0,
"sb_rank": 61,
"obp_value": 0.4395604,
"obp_rank": "1",
"slg_value": 0.5069767,
"slg_rank": "25",
"ops_value": 0.9465371,
"ops_rank": 4.0,
"war_value": 2.56,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 28.9,
"bb_percent": 20.5,
"woba": 0.413,
"xwoba": 0.399,
"xba": 0.262,
"xslg": 0.508,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 18.4,
"hard_hit_percent": 58.1,
"exit_velocity_avg": 94.3,
"launch_angle_avg": 12.2,
"whiff_percent": 35.2,
"swing_percent": 40.3
},
"components": {
"expected_quality": 2.0128,
"regression_edge": -0.4,
"xwoba_edge": 2.5,
"xba_edge": 0.7143,
"xslg_edge": 1.8857,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.2,
"sweet_spot_edge": 0.95,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"offense_factor": 1.0392,
"quality_score": 0.5224,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691016",
"espn_id": 4686066,
"player_name": "Tyler Soderstrom",
"team": "ATH",
"role": "batter",
"espn_rank": 100,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 100,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 217.0,
"ab_rank": 69,
"r_value": 26.0,
"r_rank": 105,
"h_value": 50.0,
"h_rank": 98,
"avg_value": 0.2304147,
"avg_rank": 126.0,
"2b_value": 17.0,
"2b_rank": 4,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 28.0,
"rbi_rank": 80,
"tb_value": 92.0,
"tb_rank": 364,
"bb_value": 27.0,
"bb_rank": 46,
"so_value": 45.0,
"so_rank": 118,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3170731,
"obp_rank": "106",
"slg_value": 0.4239631,
"slg_rank": "83",
"ops_value": 0.7410362,
"ops_rank": 89.0,
"war_value": 1.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 18.3,
"bb_percent": 11.0,
"woba": 0.325,
"xwoba": 0.329,
"xba": 0.249,
"xslg": 0.421,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 11.0,
"hard_hit_percent": 43.9,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 13.7,
"whiff_percent": 22.2,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.6001,
"regression_edge": 0.1143,
"xwoba_edge": 0.6714,
"xba_edge": 0.3429,
"xslg_edge": 0.6429,
"barrel_edge": 0.9111,
"hard_hit_edge": 0.7714,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.7333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "641680",
"player_name": "Jonah Heim",
"offense_factor": 0.9845,
"quality_score": -0.207,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641680",
"espn_id": 33842,
"player_name": "Jonah Heim",
"team": "ATH",
"role": "batter",
"espn_rank": 348,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 348,
"gp_value": 23.0,
"gp_rank": 370,
"ab_value": 72.0,
"ab_rank": 352,
"r_value": 9.0,
"r_rank": 324,
"h_value": 14.0,
"h_rank": 361,
"avg_value": 0.1944444,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 205,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 11.0,
"rbi_rank": 280,
"tb_value": 26.0,
"tb_rank": 1692,
"bb_value": 7.0,
"bb_rank": 305,
"so_value": 13.0,
"so_rank": 387,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.2625,
"obp_rank": "-",
"slg_value": 0.3611111,
"slg_rank": "-",
"ops_value": 0.6236111,
"ops_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 74.0,
"k_percent": 16.3,
"bb_percent": 8.8,
"woba": 0.276,
"xwoba": 0.284,
"xba": 0.223,
"xslg": 0.353,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 25.0,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 15.7,
"whiff_percent": 20.1,
"swing_percent": 45.6
},
"components": {
"expected_quality": -0.5721,
"regression_edge": 0.2286,
"xwoba_edge": -0.6143,
"xba_edge": -0.4,
"xslg_edge": -0.3286,
"barrel_edge": -0.4222,
"hard_hit_edge": -1.9286,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": -0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "680869",
"player_name": "Zack Gelof",
"offense_factor": 0.9969,
"quality_score": -0.0411,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680869",
"espn_id": 4414531,
"player_name": "Zack Gelof",
"team": "ATH",
"role": "batter",
"espn_rank": 137,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 137,
"gp_value": 45.0,
"gp_rank": 217,
"ab_value": 145.0,
"ab_rank": 211,
"r_value": 22.0,
"r_rank": 150,
"h_value": 38.0,
"h_rank": 178,
"avg_value": 0.2620689,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 20.0,
"rbi_rank": 166,
"tb_value": 63.0,
"tb_rank": 864,
"bb_value": 9.0,
"bb_rank": 271,
"so_value": 39.0,
"so_rank": 154,
"sb_value": 6.0,
"sb_rank": 61,
"obp_value": 0.3096774,
"obp_rank": "-",
"slg_value": 0.4344827,
"slg_rank": "-",
"ops_value": 0.7441601,
"ops_rank": null,
"war_value": 0.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 128.0,
"k_percent": 24.8,
"bb_percent": 5.7,
"woba": 0.328,
"xwoba": 0.3,
"xba": 0.235,
"xslg": 0.405,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 15.5,
"whiff_percent": 27.5,
"swing_percent": 46.4
},
"components": {
"expected_quality": 0.048,
"regression_edge": -0.8,
"xwoba_edge": -0.1571,
"xba_edge": -0.0571,
"xslg_edge": 0.4143,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.7667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "643446",
"player_name": "Jeff McNeil",
"offense_factor": 0.9982,
"quality_score": -0.0238,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643446",
"espn_id": 33900,
"player_name": "Jeff McNeil",
"team": "ATH",
"role": "batter",
"espn_rank": 254,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 254,
"gp_value": 57.0,
"gp_rank": 108,
"ab_value": 187.0,
"ab_rank": 134,
"r_value": 15.0,
"r_rank": 236,
"h_value": 47.0,
"h_rank": 118,
"avg_value": 0.2513368,
"avg_rank": 85.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 15.0,
"rbi_rank": 229,
"tb_value": 62.0,
"tb_rank": 1357,
"bb_value": 17.0,
"bb_rank": 146,
"so_value": 28.0,
"so_rank": 239,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3205741,
"obp_rank": "102",
"slg_value": 0.3315508,
"slg_rank": "149",
"ops_value": 0.6521249,
"ops_rank": 136.0,
"war_value": 0.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 185.0,
"k_percent": 13.3,
"bb_percent": 8.1,
"woba": 0.295,
"xwoba": 0.311,
"xba": 0.276,
"xslg": 0.353,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 1.2,
"hard_hit_percent": 30.9,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 12.0,
"whiff_percent": 16.4,
"swing_percent": 54.9
},
"components": {
"expected_quality": -0.1074,
"regression_edge": 0.4571,
"xwoba_edge": 0.1571,
"xba_edge": 1.1143,
"xslg_edge": -0.3286,
"barrel_edge": -1.2667,
"hard_hit_edge": -1.0857,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": 0.9333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "675961",
"player_name": "Alika Williams",
"offense_factor": 0.9468,
"quality_score": -0.7097,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675961",
"espn_id": 4424289,
"player_name": "Alika Williams",
"team": "ATH",
"role": "batter",
"espn_rank": 323,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 323,
"gp_value": 11.0,
"gp_rank": 450,
"ab_value": 14.0,
"ab_rank": 486,
"r_value": 1.0,
"r_rank": 469,
"h_value": 2.0,
"h_rank": 478,
"avg_value": 0.1428571,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 2.0,
"rbi_rank": 438,
"tb_value": 2.0,
"tb_rank": 2499,
"bb_value": 0.0,
"bb_rank": 491,
"so_value": 7.0,
"so_rank": 447,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.1428571,
"obp_rank": "-",
"slg_value": 0.1428571,
"slg_rank": "-",
"ops_value": 0.2857142,
"ops_rank": null,
"war_value": 0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 6.0,
"k_percent": 50.0,
"bb_percent": 0.0,
"woba": 0.128,
"xwoba": 0.127,
"xba": 0.128,
"xslg": 0.162,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 42.9,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 25.0,
"whiff_percent": 40.0,
"swing_percent": 45.5
},
"components": {
"expected_quality": -1.8292,
"regression_edge": -0.0286,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -2.5,
"barrel_edge": -1.5333,
"hard_hit_edge": 0.6286,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away OAK | True | 18 | 0.0539 | 0.8640 | 0.9954 | 0.9911 | 1.0276 | 0.9701 | neutral | 0.3120 | 0.2840 | 21.60 | 10.80 | 24.90 | 6.30 | 35.60 | |
| Home CHC | True | 381 | 0.0641 | 1 | 0.9946 | 1.0343 | 0.9420 | 1.0694 | neutral | 0.3060 | 0.3060 | 24.30 | 6.30 | 30 | 10.80 | 40.70 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away OAK | True | None | 91 | 91.59 | 2017 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1056 | |
| Home CHC | True | None | 91 | 87.02 | 1982 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1501 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9946 |
| home_runs_vs_away_pitcher | 0.9960 |
| home_pitcher_quality_edge | 0.0102 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "684007",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 261.0,
"k_percent": 24.3,
"bb_percent": 6.3,
"woba": 0.306,
"xwoba": 0.306,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 40.7,
"avg_best_speed": 78.8221,
"avg_hyper_speed": 94.1964,
"whiff_percent": 30.0,
"swing_percent": 50.3
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.0826,
"command_and_miss": 0.4707,
"regression_edge": 0.0,
"xwoba_edge": 0.2571,
"barrel_edge": -0.8,
"hard_hit_edge": -0.3286,
"whiff_edge": 0.6,
"bb_edge": 0.725,
"pitch_design_score": -0.1501
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "684007",
"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.02019971026674,
"release_spin_rate": 1981.91457318582,
"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.02019971026674,
"release_spin_rate": 1981.91457318582,
"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.0202,
"release_spin_rate": 1981.9146,
"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.1501,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.072,
"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.0641,
"sample_weight": 1.0,
"run_prevention_factor": 0.9946,
"strikeout_factor": 1.0343,
"walk_factor": 0.942,
"homer_factor": 1.0694,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "684007",
"espn_id": 5134630,
"player_name": "Shota Imanaga",
"team": "CHC",
"role": "pitcher",
"espn_rank": 381,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 381,
"gp_value": 12.0,
"gp_rank": 254,
"gs_value": 12.0,
"gs_rank": 23,
"qs_value": 6.0,
"qs_rank": 24,
"era_value": 4.3714,
"era_rank": 56.0,
"w_value": 4.0,
"w_rank": 46,
"l_value": 6.0,
"l_rank": 8,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 70.0,
"ip_rank": 25,
"h_value": 57.0,
"h_rank": 68,
"er_value": 34.0,
"er_rank": 23,
"hr_value": 13.0,
"hr_rank": 9,
"bb_value": 18.0,
"bb_rank": 99,
"k_value": 69.0,
"k_rank": 34,
"k_per_9_value": 8.8714285,
"k_per_9_rank": 36,
"whip_value": 1.0714,
"whip_rank": 17.0,
"war_value": 0.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "669372",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 21.6,
"bb_percent": 10.8,
"woba": 0.284,
"xwoba": 0.312,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 35.6,
"avg_best_speed": 75.7981,
"avg_hyper_speed": 93.4878,
"whiff_percent": 24.9,
"swing_percent": 45.6
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.3241,
"command_and_miss": -0.1829,
"regression_edge": -0.8,
"xwoba_edge": 0.0857,
"barrel_edge": 0.2,
"hard_hit_edge": 0.4,
"whiff_edge": -0.1286,
"bb_edge": -0.4,
"pitch_design_score": 0.1056
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669372",
"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": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"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": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.5862,
"release_spin_rate": 2016.7389,
"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.1056,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7544,
"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.0539,
"sample_weight": 0.864,
"run_prevention_factor": 0.9954,
"strikeout_factor": 0.9911,
"walk_factor": 1.0276,
"homer_factor": 0.9701,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669372",
"espn_id": 4414002,
"player_name": "J.T. Ginn",
"team": "ATH",
"role": "pitcher",
"espn_rank": 18,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 18,
"gp_value": 13.0,
"gp_rank": 221,
"gs_value": 10.0,
"gs_rank": 90,
"qs_value": 4.0,
"qs_rank": 56,
"era_value": 2.8659,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 59.2,
"ip_rank": 79,
"h_value": 42.0,
"h_rank": 119,
"er_value": 19.0,
"er_rank": 129,
"hr_value": 6.0,
"hr_rank": 90,
"bb_value": 26.0,
"bb_rank": 24,
"k_value": 52.0,
"k_rank": 73,
"k_per_9_value": 7.8435755,
"k_per_9_rank": 24,
"whip_value": 1.1396,
"whip_rank": null,
"war_value": 1.99,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9946,
"home_runs_vs_away_pitcher": 0.996,
"home_pitcher_quality_edge": 0.0102
},
"score_before": {
"away_runs": 2.3576,
"home_runs": 0.6757
},
"score_after": {
"away_runs": 2.3449,
"home_runs": 0.673,
"home_win_probability": 0.3581
},
"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 OAK | 12-45 | 0.211 | 0.90 | 3.60 | -150 | cold | average | |
| Home CHC | 7-54 | 0.115 | 0.80 | 3.40 | -162 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away OAK | 29-31 | 0.483 | -33 | -0.550 | True |
| Home CHC | 32-29 | 0.525 | 18 | 0.295 | True |
| Signal | - | - | 0.845 | 0.907 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target OAK | - | - | 2 | - | - | - | - |
| Game target CHC | - | - | 1 | - | - | - | - |
| Player finalized OAK | 51 | 12 | 5 | 0 | 5 | 6 | 11 |
| Player finalized CHC | 59 | 14 | 9 | 0 | 8 | 7 | 15 |
| Player model fractional OAK | 53.69 | 13.07 | 6.84 | 1.92 | 6.65 | 5.96 | 12.74 |
| Player model fractional CHC | 58.94 | 13.87 | 8.62 | 2.04 | 7.62 | 7.92 | 12.99 |
| Simulation box OAK | 35 | 8 | 4 | 0 | 4 | 1 | 7 |
| Simulation box CHC | 31 | 4 | 2 | 0 | 2 | 3 | 8 |
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 OAK | Starter | J.T. Ginn | 5.20 | 2 | 7 | 3 | 2 | 2.75 | 1.15 | True |
| Away OAK | Middle Reliever | Hogan Harris | 1 | 0 | 1 | 1 | 1 | 2.69 | 1.11 | True |
| Away OAK | Middle Reliever | Mark Leiter Jr. | 1.10 | 0 | 0 | 0 | 0 | 3.00 | 1.14 | True |
| Away OAK | Middle Reliever | Scott Barlow | 1 | 0 | 0 | 0 | 0 | 3.23 | 1.50 | True |
| Home CHC | Starter | Shota Imanaga | 5.20 | 3 | 5 | 7 | 1 | 5.26 | 1.24 | True |
| Home CHC | Middle Reliever | Caleb Thielbar | 1.10 | 1 | 1 | 1 | 0 | 4.34 | 1.43 | True |
| Home CHC | Middle Reliever | Daniel Palencia | 1 | 0 | 0 | 0 | 0 | 3.65 | 1.32 | True |
| Home CHC | Middle Reliever | Jacob Webb | 1 | 0 | 1 | 0 | 0 | 2.56 | 1.16 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | CHC | batter | SS | Dansby Swanson | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | -1.4630 | deboost | worse |
| home | CHC | batter | 3B | Alex Bregman | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | -1.3700 | deboost | worse |
| away | OAK | batter | 1B | Nick Kurtz | better | 10 | 7 | 3 | 8 | 2 | predicted_SO | -1.3400 | deboost | better |
| away | OAK | batter | RF | Colby Thomas | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 1.2620 | boost | better |
| away | OAK | batter | LF | Tyler Soderstrom | worse | 9 | 4 | 5 | 3 | 6 | predicted_SO | 1.2110 | boost | worse |
| away | OAK | batter | CF | Henry Bolte | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 1.0610 | boost | worse |
| home | CHC | batter | CF | Pete Crow-Armstrong | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -1.0300 | deboost | worse |
| away | OAK | batter | SS | Alika Williams | better | 9 | 4 | 5 | 5 | 4 | predicted_BB | 1.0000 | boost | better |
| home | CHC | pitcher | Starter | Shota Imanaga | better | 3 | 1 | 2 | 2 | 1 | predicted_ER | -1.0000 | deboost | better |
| home | CHC | pitcher | Middle Reliever | Caleb Thielbar | worse | 4 | 3 | 1 | 1 | 3 | predicted_ER | 1.0000 | boost | worse |
| home | CHC | pitcher | Middle Reliever | Daniel Palencia | better | 1 | 0 | 1 | 1 | 0 | predicted_H | -1.0000 | deboost | better |
| home | CHC | batter | 1B | Michael Busch | boosted | 8 | 5 | 3 | 4 | 4 | predicted_SO | 0.9960 | boost | worse |
| away | OAK | batter | DH | Shea Langeliers | better | 11 | 8 | 3 | 7 | 4 | predicted_H | 0.9800 | boost | better |
| home | CHC | batter | LF | Ian Happ | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | -0.9300 | deboost | worse |
| home | CHC | batter | C | Moisés Ballesteros | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 0.9020 | boost | better |
| home | CHC | batter | DH | Pedro Ramirez | worse | 9 | 3 | 6 | 3 | 6 | predicted_H | 0.8200 | boost | better |
| away | OAK | batter | 2B | Jeff McNeil | better | 11 | 5 | 6 | 6 | 5 | predicted_2B | 0.8180 | boost | better |
| away | OAK | batter | C | Jonah Heim | worse | 9 | 1 | 8 | 2 | 7 | predicted_H | -0.7400 | deboost | worse |
| home | CHC | batter | 2B | Nico Hoerner | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 0.6720 | boost | worse |
| away | OAK | batter | 3B | Zack Gelof | worse | 9 | 1 | 8 | 1 | 8 | predicted_R | -0.6040 | deboost | worse |
| home | CHC | batter | RF | Michael Conforto | worse | 11 | 5 | 6 | 4 | 7 | predicted_R | -0.5340 | deboost | worse |
| away | OAK | pitcher | Starter | J.T. Ginn | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | OAK | pitcher | Middle Reliever | Mark Leiter Jr. | 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 | J.T. Ginn |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0539 |
| ESPN Rank | 18 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1056 |
| Avg Velo | 91.5862 |
| Avg Spin | 2016.7389 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 7 |
| Season ERA | 2.8659 |
| Season WHIP | 1.1397 |
| Role Avg IP | 5.2670 |
| Recent Avg IP | 6.0670 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 289.0,
"runs_allowed": 319.0,
"run_differential": -30.0,
"run_differential_per_game": -0.4545,
"avg_runs_scored": 4.3788,
"avg_runs_allowed": 4.8333,
"offense_index": 0.9811,
"defense_index": 0.9234,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 5.6,
"run_differential": -24.0
},
"available": true,
"quality_score": -0.1039
},
"opponent": {
"team": "CHC",
"games": 70,
"wins": 35,
"losses": 35,
"win_pct": 0.5,
"runs_scored": 342.0,
"runs_allowed": 317.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3571,
"avg_runs_scored": 4.8857,
"avg_runs_allowed": 4.5286,
"offense_index": 1.0947,
"defense_index": 0.9856,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.7,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.026
},
"edges": {
"quality_edge": -0.0779,
"offense_edge": -0.0189,
"opponent_offense_edge": 0.0947,
"defense_strength": -0.0766,
"opponent_defense_weakness": 0.0144,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9908,
"run_prevention": 1.0267,
"strikeout": 0.9901
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669372",
"profile": {
"available": true,
"pitcher_id": "669372",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 21.6,
"bb_percent": 10.8,
"woba": 0.284,
"xwoba": 0.312,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 35.6,
"avg_best_speed": 75.7981,
"avg_hyper_speed": 93.4878,
"whiff_percent": 24.9,
"swing_percent": 45.6
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.3241,
"command_and_miss": -0.1829,
"regression_edge": -0.8,
"xwoba_edge": 0.0857,
"barrel_edge": 0.2,
"hard_hit_edge": 0.4,
"whiff_edge": -0.1286,
"bb_edge": -0.4,
"pitch_design_score": 0.1056
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669372",
"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": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"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": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.5862,
"release_spin_rate": 2016.7389,
"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.1056,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7544,
"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.0539,
"sample_weight": 0.864,
"run_prevention_factor": 0.9954,
"strikeout_factor": 0.9911,
"walk_factor": 1.0276,
"homer_factor": 0.9701,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669372",
"espn_id": 4414002,
"player_name": "J.T. Ginn",
"team": "ATH",
"role": "pitcher",
"espn_rank": 18,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 18,
"gp_value": 13.0,
"gp_rank": 221,
"gs_value": 10.0,
"gs_rank": 90,
"qs_value": 4.0,
"qs_rank": 56,
"era_value": 2.8659,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 59.2,
"ip_rank": 79,
"h_value": 42.0,
"h_rank": 119,
"er_value": 19.0,
"er_rank": 129,
"hr_value": 6.0,
"hr_rank": 90,
"bb_value": 26.0,
"bb_rank": 24,
"k_value": 52.0,
"k_rank": 73,
"k_per_9_value": 7.8435755,
"k_per_9_rank": 24,
"whip_value": 1.1396,
"whip_rank": null,
"war_value": 1.99,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.996,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 0.996,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0238,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9742,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9923,
"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": 52.2,
"ER": 15,
"H": 36,
"BB": 24,
"SO": 48,
"HR": 5,
"ERA": 2.5632911392405062,
"WHIP": 1.1392405063291138,
"K9": 8.20253164556962,
"HR9": 0.8544303797468353,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "669372",
"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": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"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": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.5862,
"release_spin_rate": 2016.7389,
"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.1056,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7544,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"role": "pitcher",
"player_id": "669372",
"report_date": "20260604_O",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.1,
"ER": 5.0,
"R": 7.0,
"H": 19.0,
"BB": 12.0,
"SO": 29.0,
"HR": 2.0,
"BF": 118.0,
"Pitches": 449.0
},
"per_game": {
"IP": 6.0,
"ER": 1.0,
"R": 1.4,
"H": 3.8,
"BB": 2.4,
"SO": 5.8,
"HR": 0.4,
"BF": 23.6,
"Pitches": 89.8
},
"rates": {
"ERA": 1.4835,
"WHIP": 1.022,
"ER_per_IP": 0.16484,
"H_per_IP": 0.62637,
"BB_per_IP": 0.3956,
"SO_per_IP": 0.95604,
"HR_per_IP": 0.06593
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.2,
"ER": 15.0,
"R": 17.0,
"H": 36.0,
"BB": 24.0,
"SO": 48.0,
"HR": 5.0,
"BF": 213.0,
"Pitches": 821.0
},
"per_game": {
"IP": 5.1,
"ER": 1.5,
"R": 1.7,
"H": 3.6,
"BB": 2.4,
"SO": 4.8,
"HR": 0.5,
"BF": 21.3,
"Pitches": 82.1
},
"rates": {
"ERA": 2.5633,
"WHIP": 1.1392,
"ER_per_IP": 0.28481,
"H_per_IP": 0.68354,
"BB_per_IP": 0.4557,
"SO_per_IP": 0.91139,
"HR_per_IP": 0.09494
}
},
"season": {
"games": 13,
"totals": {
"IP": 59.2,
"ER": 19.0,
"R": 21.0,
"H": 42.0,
"BB": 26.0,
"SO": 52.0,
"HR": 6.0,
"BF": 241.0,
"Pitches": 925.0
},
"per_game": {
"IP": 4.2,
"ER": 1.4615,
"R": 1.6154,
"H": 3.2308,
"BB": 2.0,
"SO": 4.0,
"HR": 0.4615,
"BF": 18.5385,
"Pitches": 71.1538
},
"rates": {
"ERA": 2.8659,
"WHIP": 1.1397,
"ER_per_IP": 0.31844,
"H_per_IP": 0.70391,
"BB_per_IP": 0.43575,
"SO_per_IP": 0.87151,
"HR_per_IP": 0.10056
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.695,
"predicted_H": 4.124,
"predicted_BB": 2.266,
"predicted_SO": 5.149,
"predicted_HR": 0.544,
"predicted_ERA": 2.7504,
"predicted_WHIP": 1.1522
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4674,
"form_weight": 0.5326,
"form_reliability": 0.7222,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.695,
"final": 1.8375,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.124,
"final": 3.5987,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.266,
"final": 2.1417,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 5.149,
"final": 6.0141,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.544,
"final": 0.2898,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7504,
"final": 2.7504,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1522,
"final": 1.1522,
"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 | Hogan Harris |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2003 |
| ESPN Rank | 52 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0736 |
| Avg Velo | 88.3862 |
| Avg Spin | 2370.4678 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.4828 |
| Season WHIP | 1.5172 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 289.0,
"runs_allowed": 319.0,
"run_differential": -30.0,
"run_differential_per_game": -0.4545,
"avg_runs_scored": 4.3788,
"avg_runs_allowed": 4.8333,
"offense_index": 0.9811,
"defense_index": 0.9234,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 5.6,
"run_differential": -24.0
},
"available": true,
"quality_score": -0.1039
},
"opponent": {
"team": "CHC",
"games": 70,
"wins": 35,
"losses": 35,
"win_pct": 0.5,
"runs_scored": 342.0,
"runs_allowed": 317.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3571,
"avg_runs_scored": 4.8857,
"avg_runs_allowed": 4.5286,
"offense_index": 1.0947,
"defense_index": 0.9856,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.7,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.026
},
"edges": {
"quality_edge": -0.0779,
"offense_edge": -0.0189,
"opponent_offense_edge": 0.0947,
"defense_strength": -0.0766,
"opponent_defense_weakness": 0.0144,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9908,
"run_prevention": 1.0267,
"strikeout": 0.9901
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663687",
"profile": {
"available": true,
"pitcher_id": "663687",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 114.0,
"k_percent": 24.8,
"bb_percent": 16.5,
"woba": 0.298,
"xwoba": 0.29,
"sweet_spot_percent": 23.7,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 26.3,
"avg_best_speed": 74.6313,
"avg_hyper_speed": 92.2924,
"whiff_percent": 26.0,
"swing_percent": 41.9
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.8503,
"command_and_miss": -0.2071,
"regression_edge": 0.2286,
"xwoba_edge": 0.7143,
"barrel_edge": 0.7333,
"hard_hit_edge": 1.7286,
"whiff_edge": 0.0286,
"bb_edge": -1.825,
"pitch_design_score": -0.0736
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663687",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.38615618744159,
"release_spin_rate": 2370.467830347965,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.38615618744159,
"release_spin_rate": 2370.467830347965,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.3862,
"release_spin_rate": 2370.4678,
"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.0736,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5257,
"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.2003,
"sample_weight": 0.456,
"run_prevention_factor": 0.983,
"strikeout_factor": 1.0065,
"walk_factor": 1.0666,
"homer_factor": 0.9319,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663687",
"espn_id": 41364,
"player_name": "Hogan Harris",
"team": "ATH",
"role": "pitcher",
"espn_rank": 52,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 52,
"gp_value": 32.0,
"gp_rank": 1,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.4827,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 5.0,
"sv_rank": 24,
"hld_value": 9.0,
"hld_rank": 21,
"ip_value": 29.0,
"ip_rank": 189,
"h_value": 22.0,
"h_rank": 248,
"er_value": 8.0,
"er_rank": 334,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 22.0,
"bb_rank": 49,
"k_value": 33.0,
"k_rank": 160,
"k_per_9_value": 10.241379,
"k_per_9_rank": 22,
"whip_value": 1.5172,
"whip_rank": null,
"war_value": 1.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9922,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9922,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0304,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9689,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.003,
"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": 2,
"H": 5,
"BB": 5,
"SO": 11,
"HR": 0,
"ERA": 2.16,
"WHIP": 1.2000000000000002,
"K9": 11.880000000000003,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "663687",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.38615618744159,
"release_spin_rate": 2370.467830347965,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.38615618744159,
"release_spin_rate": 2370.467830347965,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.3862,
"release_spin_rate": 2370.4678,
"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.0736,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5257,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.724,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5337,
"prior_weight": 0.4663
},
"role": "pitcher",
"player_id": "663687",
"report_date": "20260604_O",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.2,
"Pitches": 15.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.21429,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 5.0,
"SO": 11.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 153.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.5,
"SO": 1.1,
"HR": 0.0,
"BF": 3.6,
"Pitches": 15.3
},
"rates": {
"ERA": 2.16,
"WHIP": 1.2,
"ER_per_IP": 0.24,
"H_per_IP": 0.6,
"BB_per_IP": 0.6,
"SO_per_IP": 1.32,
"HR_per_IP": 0.0
}
},
"season": {
"games": 32,
"totals": {
"IP": 29.0,
"ER": 8.0,
"R": 9.0,
"H": 22.0,
"BB": 22.0,
"SO": 33.0,
"HR": 2.0,
"BF": 133.0,
"Pitches": 551.0
},
"per_game": {
"IP": 1.0,
"ER": 0.25,
"R": 0.2812,
"H": 0.6875,
"BB": 0.6875,
"SO": 1.0312,
"HR": 0.0625,
"BF": 4.1562,
"Pitches": 17.2188
},
"rates": {
"ERA": 2.4828,
"WHIP": 1.5172,
"ER_per_IP": 0.27586,
"H_per_IP": 0.75862,
"BB_per_IP": 0.75862,
"SO_per_IP": 1.13793,
"HR_per_IP": 0.06897
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.281,
"predicted_H": 0.647,
"predicted_BB": 0.39,
"predicted_SO": 1.046,
"predicted_HR": 0.067,
"predicted_ERA": 2.6935,
"predicted_WHIP": 1.1058
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.547,
"form_weight": 0.453,
"form_reliability": 0.5337,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.724,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5337,
"prior_weight": 0.4663
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.281,
"final": 0.1273,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.647,
"final": 0.8401,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.39,
"final": 0.7237,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.046,
"final": 1.0208,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0304,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6935,
"final": 2.6935,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1058,
"final": 1.1058,
"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 | Mark Leiter Jr. |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0258 |
| ESPN Rank | 336 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2045 |
| Avg Velo | 86.0494 |
| Avg Spin | 1631.6825 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 5.3289 |
| Season WHIP | 1.4211 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 289.0,
"runs_allowed": 319.0,
"run_differential": -30.0,
"run_differential_per_game": -0.4545,
"avg_runs_scored": 4.3788,
"avg_runs_allowed": 4.8333,
"offense_index": 0.9811,
"defense_index": 0.9234,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 5.6,
"run_differential": -24.0
},
"available": true,
"quality_score": -0.1039
},
"opponent": {
"team": "CHC",
"games": 70,
"wins": 35,
"losses": 35,
"win_pct": 0.5,
"runs_scored": 342.0,
"runs_allowed": 317.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3571,
"avg_runs_scored": 4.8857,
"avg_runs_allowed": 4.5286,
"offense_index": 1.0947,
"defense_index": 0.9856,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.7,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.026
},
"edges": {
"quality_edge": -0.0779,
"offense_edge": -0.0189,
"opponent_offense_edge": 0.0947,
"defense_strength": -0.0766,
"opponent_defense_weakness": 0.0144,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9908,
"run_prevention": 1.0267,
"strikeout": 0.9901
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "643410",
"profile": {
"available": true,
"pitcher_id": "643410",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 97.0,
"k_percent": 22.7,
"bb_percent": 7.3,
"woba": 0.321,
"xwoba": 0.332,
"sweet_spot_percent": 42.1,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 31.6,
"avg_best_speed": 76.1868,
"avg_hyper_speed": 92.8804,
"whiff_percent": 26.1,
"swing_percent": 46.5
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.0742,
"command_and_miss": 0.1229,
"regression_edge": -0.3143,
"xwoba_edge": -0.4857,
"barrel_edge": 0.7333,
"hard_hit_edge": 0.9714,
"whiff_edge": 0.0429,
"bb_edge": 0.475,
"pitch_design_score": -0.2045
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "643410",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 86.04937839039859,
"release_spin_rate": 1631.6825158493414,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 86.04937839039859,
"release_spin_rate": 1631.6825158493414,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.0494,
"release_spin_rate": 1631.6825,
"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.2045,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4604,
"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.0258,
"sample_weight": 0.45,
"run_prevention_factor": 1.0022,
"strikeout_factor": 1.0013,
"walk_factor": 0.9829,
"homer_factor": 0.9627,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643410",
"espn_id": 36202,
"player_name": "Mark Leiter Jr.",
"team": "ATH",
"role": "pitcher",
"espn_rank": 336,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 336,
"gp_value": 27.0,
"gp_rank": 33,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 5.3289,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 4.0,
"sv_rank": 27,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 25.1,
"ip_rank": 255,
"h_value": 28.0,
"h_rank": 176,
"er_value": 15.0,
"er_rank": 169,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 8.0,
"bb_rank": 312,
"k_value": 25.0,
"k_rank": 248,
"k_per_9_value": 8.881579,
"k_per_9_rank": 26,
"whip_value": 1.421,
"whip_rank": null,
"war_value": 0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.001,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.001,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9923,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9832,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0006,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 2,
"H": 7,
"BB": 2,
"SO": 9,
"HR": 0,
"ERA": 1.6875,
"WHIP": 0.84375,
"K9": 7.59375,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "643410",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 86.04937839039859,
"release_spin_rate": 1631.6825158493414,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 86.04937839039859,
"release_spin_rate": 1631.6825158493414,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.0494,
"release_spin_rate": 1631.6825,
"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.2045,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4604,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5,
"prior_weight": 0.5
},
"role": "pitcher",
"player_id": "643410",
"report_date": "20260604_O",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 55.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 0.4,
"HR": 0.0,
"BF": 3.2,
"Pitches": 11.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8571,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 137.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.2,
"SO": 0.9,
"HR": 0.0,
"BF": 3.9,
"Pitches": 13.7
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.8438,
"ER_per_IP": 0.1875,
"H_per_IP": 0.65625,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.84375,
"HR_per_IP": 0.0
}
},
"season": {
"games": 27,
"totals": {
"IP": 25.1,
"ER": 15.0,
"R": 15.0,
"H": 28.0,
"BB": 8.0,
"SO": 25.0,
"HR": 2.0,
"BF": 110.0,
"Pitches": 404.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5556,
"R": 0.5556,
"H": 1.037,
"BB": 0.2963,
"SO": 0.9259,
"HR": 0.0741,
"BF": 4.0741,
"Pitches": 14.963
},
"rates": {
"ERA": 5.3289,
"WHIP": 1.4211,
"ER_per_IP": 0.59211,
"H_per_IP": 1.10526,
"BB_per_IP": 0.31579,
"SO_per_IP": 0.98684,
"HR_per_IP": 0.07895
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.333,
"predicted_H": 0.8,
"predicted_BB": 0.344,
"predicted_SO": 0.813,
"predicted_HR": 0.076,
"predicted_ERA": 2.9995,
"predicted_WHIP": 1.144
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5613,
"form_weight": 0.4388,
"form_reliability": 0.5,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5,
"prior_weight": 0.5
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.333,
"final": 0.1461,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.8,
"final": 0.351,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.344,
"final": 0.1509,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.813,
"final": 0.3567,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.076,
"final": 0.0333,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9995,
"final": 2.9995,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.144,
"final": 1.144,
"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 | Scott Barlow |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0816 |
| ESPN Rank | 110 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 81.0188 |
| Avg Spin | 2378.3369 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.6667 |
| Season WHIP | 0.8889 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 289.0,
"runs_allowed": 319.0,
"run_differential": -30.0,
"run_differential_per_game": -0.4545,
"avg_runs_scored": 4.3788,
"avg_runs_allowed": 4.8333,
"offense_index": 0.9811,
"defense_index": 0.9234,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 5.6,
"run_differential": -24.0
},
"available": true,
"quality_score": -0.1039
},
"opponent": {
"team": "CHC",
"games": 70,
"wins": 35,
"losses": 35,
"win_pct": 0.5,
"runs_scored": 342.0,
"runs_allowed": 317.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3571,
"avg_runs_scored": 4.8857,
"avg_runs_allowed": 4.5286,
"offense_index": 1.0947,
"defense_index": 0.9856,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.7,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.026
},
"edges": {
"quality_edge": -0.0779,
"offense_edge": -0.0189,
"opponent_offense_edge": 0.0947,
"defense_strength": -0.0766,
"opponent_defense_weakness": 0.0144,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9908,
"run_prevention": 1.0267,
"strikeout": 0.9901
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "605130",
"profile": {
"available": true,
"pitcher_id": "605130",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 97.0,
"k_percent": 20.0,
"bb_percent": 13.9,
"woba": 0.271,
"xwoba": 0.304,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 31.0,
"avg_best_speed": 77.4458,
"avg_hyper_speed": 92.7566,
"whiff_percent": 35.7,
"swing_percent": 42.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.486,
"command_and_miss": 0.0993,
"regression_edge": -0.9429,
"xwoba_edge": 0.3143,
"barrel_edge": 0.0444,
"hard_hit_edge": 1.0571,
"whiff_edge": 1.4143,
"bb_edge": -1.175,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "605130",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 81.01881240795811,
"release_spin_rate": 2378.336918240106,
"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": 10,
"pitch_usage": 0.0,
"release_speed": 81.01881240795811,
"release_spin_rate": 2378.336918240106,
"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": 81.0188,
"release_spin_rate": 2378.3369,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0816,
"sample_weight": 0.45,
"run_prevention_factor": 0.9931,
"strikeout_factor": 1.019,
"walk_factor": 1.0423,
"homer_factor": 0.9751,
"woba_minus_xwoba": -0.033,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "605130",
"espn_id": 32156,
"player_name": "Scott Barlow",
"team": "ATH",
"role": "pitcher",
"espn_rank": 110,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 110,
"gp_value": 28.0,
"gp_rank": 21,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.0,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 9.0,
"hld_rank": 21,
"ip_value": 27.0,
"ip_rank": 221,
"h_value": 13.0,
"h_rank": 395,
"er_value": 9.0,
"er_rank": 297,
"hr_value": 3.0,
"hr_rank": 207,
"bb_value": 15.0,
"bb_rank": 155,
"k_value": 23.0,
"k_rank": 274,
"k_per_9_value": 7.6666665,
"k_per_9_rank": 33,
"whip_value": 1.037,
"whip_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.019,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9888,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0086,
"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": 2,
"H": 6,
"BB": 6,
"SO": 6,
"HR": 1,
"ERA": 2.16,
"WHIP": 1.4400000000000002,
"K9": 6.480000000000001,
"HR9": 1.08,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "605130",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 81.01881240795811,
"release_spin_rate": 2378.336918240106,
"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": 10,
"pitch_usage": 0.0,
"release_speed": 81.01881240795811,
"release_spin_rate": 2378.336918240106,
"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": 81.0188,
"release_spin_rate": 2378.3369,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.329,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5159,
"prior_weight": 0.4841
},
"role": "pitcher",
"player_id": "605130",
"report_date": "20260604_O",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 6.0,
"SO": 2.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 83.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 1.2,
"SO": 0.4,
"HR": 0.2,
"BF": 3.8,
"Pitches": 16.6
},
"rates": {
"ERA": 2.4545,
"WHIP": 2.1818,
"ER_per_IP": 0.27273,
"H_per_IP": 0.54545,
"BB_per_IP": 1.63636,
"SO_per_IP": 0.54545,
"HR_per_IP": 0.27273
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 6.0,
"SO": 6.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 157.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.6,
"SO": 0.6,
"HR": 0.1,
"BF": 3.9,
"Pitches": 15.7
},
"rates": {
"ERA": 2.16,
"WHIP": 1.44,
"ER_per_IP": 0.24,
"H_per_IP": 0.72,
"BB_per_IP": 0.72,
"SO_per_IP": 0.72,
"HR_per_IP": 0.12
}
},
"season": {
"games": 27,
"totals": {
"IP": 27.0,
"ER": 5.0,
"R": 6.0,
"H": 11.0,
"BB": 13.0,
"SO": 23.0,
"HR": 2.0,
"BF": 110.0,
"Pitches": 420.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1852,
"R": 0.2222,
"H": 0.4074,
"BB": 0.4815,
"SO": 0.8519,
"HR": 0.0741,
"BF": 4.0741,
"Pitches": 15.5556
},
"rates": {
"ERA": 1.6667,
"WHIP": 0.8889,
"ER_per_IP": 0.18519,
"H_per_IP": 0.40741,
"BB_per_IP": 0.48148,
"SO_per_IP": 0.85185,
"HR_per_IP": 0.07407
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.31,
"predicted_H": 0.657,
"predicted_BB": 0.636,
"predicted_SO": 0.69,
"predicted_HR": 0.137,
"predicted_ERA": 3.2341,
"predicted_WHIP": 1.4986
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5545,
"form_weight": 0.4455,
"form_reliability": 0.5159,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.329,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5159,
"prior_weight": 0.4841
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.31,
"final": 0.1381,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.657,
"final": 0.2927,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.636,
"final": 0.2833,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.69,
"final": 0.3074,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.137,
"final": 0.061,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2341,
"final": 3.2341,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4986,
"final": 1.4986,
"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.184 | 0.000 | 0.000 | Hitting_2B | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.571 | 4.000 | 5.000 | Hitting_AB | 3.365 | 0.000 | 0.635 | 4.000 |
| predicted_AVG | 0.253 | 0.250 | 0.200 | Hitting_AVG | 0.303 | - | -0.053 | - |
| predicted_BB | 0.347 | 0.000 | 0.000 | Hitting_BB | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_H | 0.860 | 1.000 | 1.000 | Hitting_H | 1.019 | 0.000 | -0.019 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.328 | 0.400 | 0.200 | Hitting_OBP | 0.367 | - | 0.033 | - |
| predicted_R | 0.224 | 0.000 | 0.000 | Hitting_R | 0.212 | 0.000 | -0.212 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.308 | 0.000 | -0.308 | 0.000 |
| predicted_SLG | 0.353 | 0.250 | 0.200 | Hitting_SLG | 0.354 | - | -0.104 | - |
| predicted_SO | 0.939 | 2.000 | 1.000 | Hitting_SO | 0.885 | 0.000 | 1.115 | 2.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_SO: 0.9390 -> 2.0000 (boost 1.0610, worse) |
| Biggest Deboost | predicted_BB: 0.3470 -> 0.0000 (deboost -0.3470, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.5710 -> 5.4948 (boost 1.9238, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3353 -> 0.3268 (deboost -0.0085, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 0 | 8 | 1 | 7 | - | predicted_H: 1.4983 -> 1.0000 (deboost -0.4983, worse) | AB rounded to 5 (raw=5.49), rates preserved: AVG=0.273 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3658 -> 0.0000 (deboost -0.3658, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3473 -> 0.2000 (deboost -0.1473, worse) | 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_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.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.2000 -> 0.3473 (boost 0.1473, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "703607",
"player_name": "Henry Bolte",
"position": "CF",
"team": "OAK",
"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.184,
"predicted_3B": 0.0,
"predicted_AB": 3.571,
"predicted_AVG": 0.253,
"predicted_BB": 0.347,
"predicted_H": 0.86,
"predicted_HR": 0.07,
"predicted_OBP": 0.328,
"predicted_R": 0.224,
"predicted_RBI": 0.32,
"predicted_SLG": 0.353,
"predicted_SO": 0.939
},
"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.2383,
"predicted_3B": 0.0016,
"predicted_AB": 5.4948,
"predicted_AVG": 0.2694,
"predicted_BB": 0.4433,
"predicted_H": 1.4996,
"predicted_HBP": 0.149,
"predicted_HR": 0.0564,
"predicted_OBP": 0.3353,
"predicted_R": 0.3667,
"predicted_RBI": 0.4397,
"predicted_SLG": 0.3499,
"predicted_SO": 1.4935
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.2383,
"delta": 0.0543,
"percent_delta": 0.2951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0016,
"delta": 0.0016,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.571,
"after": 5.4948,
"delta": 1.9238,
"percent_delta": 0.5387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2694,
"delta": 0.0164,
"percent_delta": 0.0648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.347,
"after": 0.4433,
"delta": 0.0963,
"percent_delta": 0.2775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.4996,
"delta": 0.6396,
"percent_delta": 0.7437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0564,
"delta": -0.0136,
"percent_delta": -0.1943,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3353,
"delta": 0.0073,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.224,
"after": 0.3667,
"delta": 0.1427,
"percent_delta": 0.6371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.4397,
"delta": 0.1197,
"percent_delta": 0.3741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3499,
"delta": -0.0031,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.939,
"after": 1.4935,
"delta": 0.5545,
"percent_delta": 0.5905,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.571,
"after": 5.4948,
"delta": 1.9238,
"percent_delta": 0.5387,
"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": 6,
"season": 16
}
},
{
"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.2383,
"predicted_3B": 0.0016,
"predicted_AB": 5.4948,
"predicted_AVG": 0.2727,
"predicted_BB": 0.4419,
"predicted_H": 1.4983,
"predicted_HBP": 0.149,
"predicted_HR": 0.0561,
"predicted_OBP": 0.3268,
"predicted_R": 0.3658,
"predicted_RBI": 0.4386,
"predicted_SLG": 0.3473,
"predicted_SO": 1.4981
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2383,
"after": 0.2383,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.4948,
"after": 5.4948,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2694,
"after": 0.2727,
"delta": 0.0033,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4433,
"after": 0.4419,
"delta": -0.0014,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4996,
"after": 1.4983,
"delta": -0.0013,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.149,
"after": 0.149,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0564,
"after": 0.0561,
"delta": -0.0003,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3353,
"after": 0.3268,
"delta": -0.0085,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3667,
"after": 0.3658,
"delta": -0.0009,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4397,
"after": 0.4386,
"delta": -0.0011,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3499,
"after": 0.3473,
"delta": -0.0026,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.4935,
"after": 1.4981,
"delta": 0.0046,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3353,
"after": 0.3268,
"delta": -0.0085,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.49), rates preserved: AVG=0.273 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2383,
"after": 0.0,
"delta": -0.2383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0,
"delta": -0.0016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.4948,
"after": 5.0,
"delta": -0.4948,
"percent_delta": -0.09,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4419,
"after": 0.0,
"delta": -0.4419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4983,
"after": 1.0,
"delta": -0.4983,
"percent_delta": -0.3326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.149,
"after": 0.0,
"delta": -0.149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0561,
"after": 0.0,
"delta": -0.0561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4386,
"after": 0.0,
"delta": -0.4386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4981,
"after": 1.0,
"delta": -0.4981,
"percent_delta": -0.3325,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 0,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4983,
"after": 1.0,
"delta": -0.4983,
"percent_delta": -0.3326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3658,
"after": 0.0,
"delta": -0.3658,
"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.3658,
"after": 0.0,
"delta": -0.3658,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.0,
"predicted_RBI": 0.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.2727,
"after": 0.2,
"delta": -0.0727,
"percent_delta": -0.2666,
"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.3268,
"after": 0.2,
"delta": -0.1268,
"percent_delta": -0.388,
"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.3473,
"after": 0.2,
"delta": -0.1473,
"percent_delta": -0.4241,
"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.3473,
"after": 0.2,
"delta": -0.1473,
"percent_delta": -0.4241,
"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": 1.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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 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_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 4.0,
"predicted_AVG": 0.2727,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3268,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3473,
"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.2,
"after": 0.2727,
"delta": 0.0727,
"percent_delta": 0.3633,
"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": 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.2,
"after": 0.3268,
"delta": 0.1268,
"percent_delta": 0.634,
"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.2,
"after": 0.3473,
"delta": 0.1473,
"percent_delta": 0.7363,
"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.3473,
"delta": 0.1473,
"percent_delta": 0.7363,
"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.184,
"after": 0.0,
"delta": -0.184,
"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.571,
"after": 4.0,
"delta": 0.429,
"percent_delta": 0.1201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2727,
"delta": 0.0197,
"percent_delta": 0.0779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.347,
"after": 0.0,
"delta": -0.347,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.0,
"delta": 0.14,
"percent_delta": 0.1628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3268,
"delta": -0.0012,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.224,
"after": 0.0,
"delta": -0.224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3473,
"delta": -0.0057,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.939,
"after": 2.0,
"delta": 1.061,
"percent_delta": 1.1299,
"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_SO",
"before": 0.939,
"after": 2.0,
"delta": 1.061,
"percent_delta": 1.1299,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.347,
"after": 0.0,
"delta": -0.347,
"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.184 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.571 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.347 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.224 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.353 | - |
| predicted_SO | 0.939 | - |
Final model 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.054 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 5.495 | 1.924 |
| predicted_AVG | 0.269 | 0.016 |
| predicted_BB | 0.443 | 0.096 |
| predicted_H | 1.500 | 0.640 |
| predicted_HBP | 0.149 | - |
| predicted_HR | 0.056 | -0.014 |
| predicted_OBP | 0.335 | 0.007 |
| predicted_R | 0.367 | 0.143 |
| predicted_RBI | 0.440 | 0.120 |
| predicted_SLG | 0.350 | -0.003 |
| predicted_SO | 1.494 | 0.555 |
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.002 | 0.000 |
| predicted_AB | 5.495 | 0.000 |
| predicted_AVG | 0.273 | 0.003 |
| predicted_BB | 0.442 | -0.001 |
| predicted_H | 1.498 | -0.001 |
| predicted_HBP | 0.149 | 0.000 |
| predicted_HR | 0.056 | -0.000 |
| predicted_OBP | 0.327 | -0.009 |
| predicted_R | 0.366 | -0.001 |
| predicted_RBI | 0.439 | -0.001 |
| predicted_SLG | 0.347 | -0.003 |
| predicted_SO | 1.498 | 0.005 |
AB rounded to 5 (raw=5.49), rates preserved: AVG=0.273 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.002 |
| predicted_AB | 5.000 | -0.495 |
| predicted_AVG | 0.200 | -0.073 |
| predicted_BB | 0.000 | -0.442 |
| predicted_H | 1.000 | -0.498 |
| predicted_HR | 0.000 | -0.056 |
| predicted_OBP | 0.200 | -0.127 |
| predicted_R | 0.000 | -0.366 |
| predicted_RBI | 0.000 | -0.439 |
| predicted_SLG | 0.200 | -0.147 |
| predicted_SO | 1.000 | -0.498 |
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 | 1.000 | 1.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 | - | 17.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 6.000 | 0.2941 | 0.3333 | 0.2941 | 0.2941 | 0.0000 | 0.0000 | 0.0000 | 0.3529 |
| last_10 | 0.20 | 6 | - | 37.000 | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 11.000 | 0.2703 | 0.2895 | 0.2703 | 0.2703 | 0.0000 | 0.0000 | 0.0000 | 0.2973 |
| season | 0.60 | 16 | - | 175.000 | 53.000 | 9.000 | 0.000 | 0.000 | 16.000 | 11.000 | 17.000 | 46.000 | 0.3029 | 0.3604 | 0.3543 | 0.3029 | 0.0000 | 0.0914 | 0.0971 | 0.2629 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3160 |
| predicted_3B | 0.0040 |
| predicted_AB | 8.2480 |
| predicted_AVG | 0.2928 |
| predicted_BB | 0.5810 |
| predicted_H | 2.4150 |
| predicted_HBP | 0.1490 |
| predicted_HR | 0.0370 |
| predicted_OBP | 0.3457 |
| predicted_R | 0.5710 |
| predicted_RBI | 0.6110 |
| predicted_SLG | 0.3455 |
| predicted_SO | 2.2870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.3160 | 0.2383 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0016 | model_form_blend |
| predicted_AB | 3.5710 | 8.2480 | 5.4948 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2928 | 0.2694 | model_form_blend |
| predicted_BB | 0.3470 | 0.5810 | 0.4433 | model_form_blend |
| predicted_H | 0.8600 | 2.4150 | 1.4996 | model_form_blend |
| predicted_HBP | - | 0.1490 | 0.1490 | form_only |
| predicted_HR | 0.0700 | 0.0370 | 0.0564 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3457 | 0.3353 | model_form_blend |
| predicted_R | 0.2240 | 0.5710 | 0.3667 | model_form_blend |
| predicted_RBI | 0.3200 | 0.6110 | 0.4397 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3455 | 0.3499 | model_form_blend |
| predicted_SO | 0.9390 | 2.2870 | 1.4935 | 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 | 52 |
| Season rows before report date | 52 |
| Report year | 2026 |
| Profile rows used | 49 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.303 |
| 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 | 1 |
| Hitting_substitutionOrder | 3 |
| 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 | 20260603_OAK@CHC |
| game_type | short |
| mlbID | 703607 |
| playerID | 703607 |
| playerName | Henry Bolte |
| pos | RF |
| started | False |
| startingPosition | CF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.32 |
| sl_xwoba | 0.261 |
| sl_xba | 0.199 |
| sl_xslg | 0.263 |
| sl_sweet_spot_percent | 19.5 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 51.2 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 4.4 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 50.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.167 | 0.000 | 0.000 | Hitting_2B | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.738 | 4.000 | 3.000 | Hitting_AB | 2.556 | 1.000 | 1.444 | 3.000 |
| predicted_AVG | 0.277 | 0.000 | 0.333 | Hitting_AVG | 0.313 | 1.000 | -0.313 | -1.000 |
| predicted_BB | 0.190 | 0.000 | 0.000 | Hitting_BB | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.580 | 0.000 | 1.000 | Hitting_H | 0.800 | 1.000 | -0.800 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.067 | 1.000 | -0.067 | -1.000 |
| predicted_OBP | 0.301 | 0.000 | 0.333 | Hitting_OBP | 0.358 | 1.000 | -0.358 | -1.000 |
| predicted_R | 0.310 | 0.000 | 0.000 | Hitting_R | 0.289 | 1.000 | -0.289 | -1.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_SLG | 0.427 | 0.000 | 0.333 | Hitting_SLG | 0.452 | 4.000 | -0.452 | -4.000 |
| predicted_SO | 0.810 | 0.000 | 1.000 | Hitting_SO | 0.756 | 0.000 | -0.756 | 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.7380 -> 4.0000 (boost 1.2620, better) |
| Biggest Deboost | predicted_SO: 0.8100 -> 0.0000 (deboost -0.8100, 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 | 8 | 7 | 1 | 6 | 2 | predicted_AB: 2.7380 -> 3.4824 (boost 0.7444, better) | predicted_AVG: 0.2770 -> 0.2680 (deboost -0.0090, 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.2680 -> 0.2338 (deboost -0.0342, 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.8141 -> 1.0000 (boost 0.1859, better) | predicted_AB: 3.4824 -> 3.0000 (deboost -0.4824, worse) | AB rounded to 3 (raw=3.48), rates preserved: AVG=0.234 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4499 -> 0.0000 (deboost -0.4499, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2338 -> 0.3330 (boost 0.0992, better) | predicted_SLG: 0.4178 -> 0.3330 (deboost -0.0848, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4178 (boost 0.0848, better) | predicted_AVG: 0.3330 -> 0.2338 (deboost -0.0992, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687515",
"player_name": "Colby Thomas",
"position": "RF",
"team": "OAK",
"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.738,
"predicted_AVG": 0.277,
"predicted_BB": 0.19,
"predicted_H": 0.58,
"predicted_HR": 0.11,
"predicted_OBP": 0.301,
"predicted_R": 0.31,
"predicted_RBI": 0.34,
"predicted_SLG": 0.427,
"predicted_SO": 0.81
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.1976,
"predicted_3B": 0.0012,
"predicted_AB": 3.4824,
"predicted_AVG": 0.268,
"predicted_BB": 0.2552,
"predicted_H": 0.8148,
"predicted_HBP": 0.008,
"predicted_HR": 0.1477,
"predicted_OBP": 0.3045,
"predicted_R": 0.451,
"predicted_RBI": 0.4625,
"predicted_SLG": 0.433,
"predicted_SO": 1.0248
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1976,
"delta": 0.0306,
"percent_delta": 0.1832,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.738,
"after": 3.4824,
"delta": 0.7444,
"percent_delta": 0.2719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.268,
"delta": -0.009,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.19,
"after": 0.2552,
"delta": 0.0652,
"percent_delta": 0.3432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.8148,
"delta": 0.2348,
"percent_delta": 0.4048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1477,
"delta": 0.0377,
"percent_delta": 0.3427,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3045,
"delta": 0.0035,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.31,
"after": 0.451,
"delta": 0.141,
"percent_delta": 0.4548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.4625,
"delta": 0.1225,
"percent_delta": 0.3603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.433,
"delta": 0.006,
"percent_delta": 0.0141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.81,
"after": 1.0248,
"delta": 0.2148,
"percent_delta": 0.2652,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 7,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.738,
"after": 3.4824,
"delta": 0.7444,
"percent_delta": 0.2719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.268,
"delta": -0.009,
"percent_delta": -0.0325,
"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": 7,
"season": 19
}
},
{
"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.1976,
"predicted_3B": 0.0012,
"predicted_AB": 3.4824,
"predicted_AVG": 0.2338,
"predicted_BB": 0.2544,
"predicted_H": 0.8141,
"predicted_HBP": 0.008,
"predicted_HR": 0.147,
"predicted_OBP": 0.2859,
"predicted_R": 0.4499,
"predicted_RBI": 0.4613,
"predicted_SLG": 0.4178,
"predicted_SO": 1.028
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1976,
"after": 0.1976,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4824,
"after": 3.4824,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2338,
"delta": -0.0342,
"percent_delta": -0.1276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2552,
"after": 0.2544,
"delta": -0.0008,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8148,
"after": 0.8141,
"delta": -0.0007,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1477,
"after": 0.147,
"delta": -0.0007,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3045,
"after": 0.2859,
"delta": -0.0186,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.451,
"after": 0.4499,
"delta": -0.0011,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4625,
"after": 0.4613,
"delta": -0.0012,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4178,
"delta": -0.0152,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0248,
"after": 1.028,
"delta": 0.0032,
"percent_delta": 0.0031,
"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.268,
"after": 0.2338,
"delta": -0.0342,
"percent_delta": -0.1276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.48), rates preserved: AVG=0.234 HR/AB=0.042",
"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.1976,
"after": 0.0,
"delta": -0.1976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4824,
"after": 3.0,
"delta": -0.4824,
"percent_delta": -0.1385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2544,
"after": 0.0,
"delta": -0.2544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8141,
"after": 1.0,
"delta": 0.1859,
"percent_delta": 0.2284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4613,
"after": 0.0,
"delta": -0.4613,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.028,
"after": 1.0,
"delta": -0.028,
"percent_delta": -0.0272,
"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.8141,
"after": 1.0,
"delta": 0.1859,
"percent_delta": 0.2284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4824,
"after": 3.0,
"delta": -0.4824,
"percent_delta": -0.1385,
"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.4499,
"after": 0.0,
"delta": -0.4499,
"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.4499,
"after": 0.0,
"delta": -0.4499,
"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.2338,
"after": 0.333,
"delta": 0.0992,
"percent_delta": 0.4243,
"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.2859,
"after": 0.333,
"delta": 0.0471,
"percent_delta": 0.1647,
"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.4178,
"after": 0.333,
"delta": -0.0848,
"percent_delta": -0.203,
"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.2338,
"after": 0.333,
"delta": 0.0992,
"percent_delta": 0.4243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4178,
"after": 0.333,
"delta": -0.0848,
"percent_delta": -0.203,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2338,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2859,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4178,
"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.2338,
"delta": -0.0992,
"percent_delta": -0.298,
"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.2859,
"delta": -0.0471,
"percent_delta": -0.1413,
"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.4178,
"delta": 0.0848,
"percent_delta": 0.2548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4178,
"delta": 0.0848,
"percent_delta": 0.2548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2338,
"delta": -0.0992,
"percent_delta": -0.298,
"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.738,
"after": 4.0,
"delta": 1.262,
"percent_delta": 0.4609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2338,
"delta": -0.0432,
"percent_delta": -0.156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2859,
"delta": -0.0151,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4178,
"delta": -0.0092,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"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.738,
"after": 4.0,
"delta": 1.262,
"percent_delta": 0.4609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"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.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.738 | - |
| predicted_AVG | 0.277 | - |
| predicted_BB | 0.190 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.310 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.427 | - |
| predicted_SO | 0.810 | - |
Final model 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.198 | 0.031 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.482 | 0.744 |
| predicted_AVG | 0.268 | -0.009 |
| predicted_BB | 0.255 | 0.065 |
| predicted_H | 0.815 | 0.235 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.148 | 0.038 |
| predicted_OBP | 0.304 | 0.004 |
| predicted_R | 0.451 | 0.141 |
| predicted_RBI | 0.463 | 0.122 |
| predicted_SLG | 0.433 | 0.006 |
| predicted_SO | 1.025 | 0.215 |
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.198 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.482 | 0.000 |
| predicted_AVG | 0.234 | -0.034 |
| predicted_BB | 0.254 | -0.001 |
| predicted_H | 0.814 | -0.001 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.147 | -0.001 |
| predicted_OBP | 0.286 | -0.019 |
| predicted_R | 0.450 | -0.001 |
| predicted_RBI | 0.461 | -0.001 |
| predicted_SLG | 0.418 | -0.015 |
| predicted_SO | 1.028 | 0.003 |
AB rounded to 3 (raw=3.48), rates preserved: AVG=0.234 HR/AB=0.042
| 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.198 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.482 |
| predicted_AVG | 0.333 | 0.099 |
| predicted_BB | 0.000 | -0.254 |
| predicted_H | 1.000 | 0.186 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.333 | 0.047 |
| predicted_R | 0.000 | -0.450 |
| predicted_RBI | 0.000 | -0.461 |
| predicted_SLG | 0.333 | -0.085 |
| predicted_SO | 1.000 | -0.028 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 9.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 3.000 | 0.1111 | 0.2000 | 0.4444 | 0.1111 | 0.1111 | 0.1111 | 0.1111 | 0.3333 |
| last_10 | 0.20 | 7 | - | 22.000 | 4.000 | 3.000 | 0.000 | 1.000 | 7.000 | 5.000 | 1.000 | 8.000 | 0.1818 | 0.2174 | 0.4545 | 0.1818 | 0.0454 | 0.3182 | 0.0454 | 0.3636 |
| season | 0.60 | 19 | - | 115.000 | 36.000 | 7.000 | 0.000 | 3.000 | 15.000 | 13.000 | 8.000 | 34.000 | 0.3130 | 0.3577 | 0.4522 | 0.3130 | 0.0261 | 0.1304 | 0.0696 | 0.2957 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2450 |
| predicted_3B | 0.0030 |
| predicted_AB | 4.6340 |
| predicted_AVG | 0.2542 |
| predicted_BB | 0.3560 |
| predicted_H | 1.1780 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.2060 |
| predicted_OBP | 0.3100 |
| predicted_R | 0.6690 |
| predicted_RBI | 0.6520 |
| predicted_SLG | 0.4423 |
| predicted_SO | 1.3570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.2450 | 0.1976 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.7380 | 4.6340 | 3.4824 | model_form_blend |
| predicted_AVG | 0.2770 | 0.2542 | 0.2680 | model_form_blend |
| predicted_BB | 0.1900 | 0.3560 | 0.2552 | model_form_blend |
| predicted_H | 0.5800 | 1.1780 | 0.8148 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1100 | 0.2060 | 0.1477 | model_form_blend |
| predicted_OBP | 0.3010 | 0.3100 | 0.3045 | model_form_blend |
| predicted_R | 0.3100 | 0.6690 | 0.4510 | model_form_blend |
| predicted_RBI | 0.3400 | 0.6520 | 0.4625 | model_form_blend |
| predicted_SLG | 0.4270 | 0.4423 | 0.4330 | model_form_blend |
| predicted_SO | 0.8100 | 1.3570 | 1.0248 | 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 | 45 |
| Season rows before report date | 45 |
| Report year | 2026 |
| Profile rows used | 42 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.313 |
| 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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 1 |
| 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-RF |
| gameID | 20260603_OAK@CHC |
| game_type | ph |
| mlbID | 687515 |
| note | Homered for Cortes in the 8th. |
| playerID | 687515 |
| playerName | Colby Thomas |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.347 |
| sl_xwoba | 0.325 |
| sl_xba | 0.228 |
| sl_xslg | 0.48 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 19.4 |
| sl_whiff_percent | 30.2 |
| sl_swing_percent | 57.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.236 | 1.000 | 0.000 | Hitting_2B | 0.236 | 1.000 | 0.764 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.500 | 4.000 | 8.000 | Hitting_AB | 4.150 | 5.000 | -0.150 | -1.000 |
| predicted_AVG | 0.226 | 0.500 | 0.250 | Hitting_AVG | 0.304 | 0.200 | 0.196 | 0.300 |
| predicted_BB | 0.429 | 0.000 | 1.000 | Hitting_BB | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.020 | 2.000 | 2.000 | Hitting_H | 1.262 | 1.000 | 0.738 | 1.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_OBP | 0.294 | 0.500 | 0.333 | Hitting_OBP | 0.373 | 0.200 | 0.127 | 0.300 |
| predicted_R | 0.725 | 1.000 | 1.000 | Hitting_R | 0.725 | 1.000 | 0.275 | 0.000 |
| predicted_RBI | 0.520 | 1.000 | 1.000 | Hitting_RBI | 0.567 | 0.000 | 0.433 | 1.000 |
| predicted_SLG | 0.447 | 0.750 | 0.250 | Hitting_SLG | 0.547 | 0.400 | 0.203 | 0.350 |
| predicted_SO | 0.901 | 1.000 | 1.000 | Hitting_SO | 0.901 | 0.000 | 0.099 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 1.0200 -> 2.0000 (boost 0.9800, better) |
| Biggest Deboost | predicted_AB: 4.5000 -> 4.0000 (deboost -0.5000, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.5000 -> 8.4984 (boost 3.9984, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2411 -> 0.2500 (boost 0.0089, better) | - | 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_BB: 0.7564 -> 1.0000 (boost 0.2436, better) | predicted_SO: 1.5455 -> 1.0000 (deboost -0.5455, better) | AB rounded to 8 (raw=8.50), rates preserved: AVG=0.250 HR/AB=0.054 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3026 -> 1.0000 (deboost -0.3026, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3113 -> 0.3330 (boost 0.0217, better) | predicted_SLG: 0.4662 -> 0.2500 (deboost -0.2162, worse) | 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4662 (boost 0.2162, better) | predicted_OBP: 0.3330 -> 0.3113 (deboost -0.0217, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669127",
"player_name": "Shea Langeliers",
"position": "DH",
"team": "OAK",
"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.236,
"predicted_3B": 0.0,
"predicted_AB": 4.5,
"predicted_AVG": 0.226,
"predicted_BB": 0.429,
"predicted_H": 1.02,
"predicted_HR": 0.22,
"predicted_OBP": 0.294,
"predicted_R": 0.725,
"predicted_RBI": 0.52,
"predicted_SLG": 0.447,
"predicted_SO": 0.901
},
"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.4531,
"predicted_3B": 0.0004,
"predicted_AB": 8.4984,
"predicted_AVG": 0.2411,
"predicted_BB": 0.7588,
"predicted_H": 2.1266,
"predicted_HBP": 0.134,
"predicted_HR": 0.4632,
"predicted_OBP": 0.3065,
"predicted_R": 1.3059,
"predicted_RBI": 1.0328,
"predicted_SLG": 0.4636,
"predicted_SO": 1.5407
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.236,
"after": 0.4531,
"delta": 0.2171,
"percent_delta": 0.9199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.5,
"after": 8.4984,
"delta": 3.9984,
"percent_delta": 0.8885,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2411,
"delta": 0.0151,
"percent_delta": 0.0668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.429,
"after": 0.7588,
"delta": 0.3298,
"percent_delta": 0.7688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 2.1266,
"delta": 1.1066,
"percent_delta": 1.0849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4632,
"delta": 0.2432,
"percent_delta": 1.1055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.3065,
"delta": 0.0125,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.725,
"after": 1.3059,
"delta": 0.5809,
"percent_delta": 0.8012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.0328,
"delta": 0.5128,
"percent_delta": 0.9862,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.447,
"after": 0.4636,
"delta": 0.0166,
"percent_delta": 0.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.901,
"after": 1.5407,
"delta": 0.6397,
"percent_delta": 0.71,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.5,
"after": 8.4984,
"delta": 3.9984,
"percent_delta": 0.8885,
"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": 6,
"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.4531,
"predicted_3B": 0.0004,
"predicted_AB": 8.4984,
"predicted_AVG": 0.25,
"predicted_BB": 0.7564,
"predicted_H": 2.1247,
"predicted_HBP": 0.134,
"predicted_HR": 0.461,
"predicted_OBP": 0.3113,
"predicted_R": 1.3026,
"predicted_RBI": 1.0302,
"predicted_SLG": 0.4662,
"predicted_SO": 1.5455
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4531,
"after": 0.4531,
"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": 8.4984,
"after": 8.4984,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2411,
"after": 0.25,
"delta": 0.0089,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7588,
"after": 0.7564,
"delta": -0.0024,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1266,
"after": 2.1247,
"delta": -0.0019,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4632,
"after": 0.461,
"delta": -0.0022,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3065,
"after": 0.3113,
"delta": 0.0048,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3059,
"after": 1.3026,
"delta": -0.0033,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0328,
"after": 1.0302,
"delta": -0.0026,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4636,
"after": 0.4662,
"delta": 0.0026,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5407,
"after": 1.5455,
"delta": 0.0048,
"percent_delta": 0.0031,
"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_AVG",
"before": 0.2411,
"after": 0.25,
"delta": 0.0089,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.50), rates preserved: AVG=0.250 HR/AB=0.054",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.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.4531,
"after": 0.0,
"delta": -0.4531,
"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": 8.4984,
"after": 8.0,
"delta": -0.4984,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7564,
"after": 1.0,
"delta": 0.2436,
"percent_delta": 0.3221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1247,
"after": 2.0,
"delta": -0.1247,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.461,
"after": 0.0,
"delta": -0.461,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0302,
"after": 1.0,
"delta": -0.0302,
"percent_delta": -0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5455,
"after": 1.0,
"delta": -0.5455,
"percent_delta": -0.353,
"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_BB",
"before": 0.7564,
"after": 1.0,
"delta": 0.2436,
"percent_delta": 0.3221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5455,
"after": 1.0,
"delta": -0.5455,
"percent_delta": -0.353,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.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": 8.0,
"after": 8.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": 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": 1.3026,
"after": 1.0,
"delta": -0.3026,
"percent_delta": -0.2323,
"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": 1.3026,
"after": 1.0,
"delta": -0.3026,
"percent_delta": -0.2323,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.25,
"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": 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.3113,
"after": 0.333,
"delta": 0.0217,
"percent_delta": 0.0697,
"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.4662,
"after": 0.25,
"delta": -0.2162,
"percent_delta": -0.4637,
"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_OBP",
"before": 0.3113,
"after": 0.333,
"delta": 0.0217,
"percent_delta": 0.0697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4662,
"after": 0.25,
"delta": -0.2162,
"percent_delta": -0.4637,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 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": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"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": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3113,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4662,
"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": 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.25,
"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": 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.3113,
"delta": -0.0217,
"percent_delta": -0.0651,
"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.4662,
"delta": 0.2162,
"percent_delta": 0.8647,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4662,
"delta": 0.2162,
"percent_delta": 0.8647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3113,
"delta": -0.0217,
"percent_delta": -0.0651,
"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.236,
"after": 1.0,
"delta": 0.764,
"percent_delta": 3.2373,
"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.5,
"after": 4.0,
"delta": -0.5,
"percent_delta": -0.1111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.25,
"delta": 0.024,
"percent_delta": 0.1062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 2.0,
"delta": 0.98,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.3113,
"delta": 0.0173,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.725,
"after": 1.0,
"delta": 0.275,
"percent_delta": 0.3793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.0,
"delta": 0.48,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.447,
"after": 0.4662,
"delta": 0.0192,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.901,
"after": 1.0,
"delta": 0.099,
"percent_delta": 0.1099,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.02,
"after": 2.0,
"delta": 0.98,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.5,
"after": 4.0,
"delta": -0.5,
"percent_delta": -0.1111,
"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.236 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.500 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.429 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.725 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.447 | - |
| predicted_SO | 0.901 | - |
Final model 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.453 | 0.217 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.498 | 3.998 |
| predicted_AVG | 0.241 | 0.015 |
| predicted_BB | 0.759 | 0.330 |
| predicted_H | 2.127 | 1.107 |
| predicted_HBP | 0.134 | - |
| predicted_HR | 0.463 | 0.243 |
| predicted_OBP | 0.306 | 0.013 |
| predicted_R | 1.306 | 0.581 |
| predicted_RBI | 1.033 | 0.513 |
| predicted_SLG | 0.464 | 0.017 |
| predicted_SO | 1.541 | 0.640 |
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.453 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.498 | 0.000 |
| predicted_AVG | 0.250 | 0.009 |
| predicted_BB | 0.756 | -0.002 |
| predicted_H | 2.125 | -0.002 |
| predicted_HBP | 0.134 | 0.000 |
| predicted_HR | 0.461 | -0.002 |
| predicted_OBP | 0.311 | 0.005 |
| predicted_R | 1.303 | -0.003 |
| predicted_RBI | 1.030 | -0.003 |
| predicted_SLG | 0.466 | 0.003 |
| predicted_SO | 1.546 | 0.005 |
AB rounded to 8 (raw=8.50), rates preserved: AVG=0.250 HR/AB=0.054
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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.453 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | -0.498 |
| predicted_AVG | 0.250 | 0.000 |
| predicted_BB | 1.000 | 0.244 |
| predicted_H | 2.000 | -0.125 |
| predicted_HR | 0.000 | -0.461 |
| predicted_OBP | 0.333 | 0.022 |
| predicted_R | 1.000 | -0.303 |
| predicted_RBI | 1.000 | -0.030 |
| predicted_SLG | 0.250 | -0.216 |
| predicted_SO | 1.000 | -0.546 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 3.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 1.000 | 0.1500 | 0.1905 | 0.3500 | 0.1500 | 0.0500 | 0.1000 | 0.0500 | 0.0500 |
| last_10 | 0.20 | 6 | - | 38.000 | 6.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 4.000 | 0.1579 | 0.2195 | 0.2632 | 0.1579 | 0.0263 | 0.0526 | 0.0263 | 0.1053 |
| season | 0.60 | 55 | - | 967.000 | 294.000 | 55.000 | 0.000 | 60.000 | 132.000 | 169.000 | 100.000 | 210.000 | 0.3040 | 0.3734 | 0.5471 | 0.3040 | 0.0621 | 0.1365 | 0.1034 | 0.2172 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7270 |
| predicted_3B | 0.0010 |
| predicted_AB | 13.5440 |
| predicted_AVG | 0.2601 |
| predicted_BB | 1.1750 |
| predicted_H | 3.5230 |
| predicted_HBP | 0.1340 |
| predicted_HR | 0.7700 |
| predicted_OBP | 0.3223 |
| predicted_R | 2.0390 |
| predicted_RBI | 1.6800 |
| predicted_SLG | 0.4845 |
| predicted_SO | 2.3480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2360 | 0.7270 | 0.4531 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5000 | 13.5440 | 8.4984 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2601 | 0.2411 | model_form_blend |
| predicted_BB | 0.4290 | 1.1750 | 0.7588 | model_form_blend |
| predicted_H | 1.0200 | 3.5230 | 2.1266 | model_form_blend |
| predicted_HBP | - | 0.1340 | 0.1340 | form_only |
| predicted_HR | 0.2200 | 0.7700 | 0.4632 | model_form_blend |
| predicted_OBP | 0.2940 | 0.3223 | 0.3065 | model_form_blend |
| predicted_R | 0.7250 | 2.0390 | 1.3059 | model_form_blend |
| predicted_RBI | 0.5200 | 1.6800 | 1.0328 | model_form_blend |
| predicted_SLG | 0.4470 | 0.4845 | 0.4636 | model_form_blend |
| predicted_SO | 0.9010 | 2.3480 | 1.5407 | 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 | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 233 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.304 |
| 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 669127 |
| playerID | 669127 |
| playerName | Shea Langeliers |
| pos | C |
| started | True |
| startingPosition | C |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.385 |
| sl_xwoba | 0.391 |
| sl_xba | 0.291 |
| sl_xslg | 0.559 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 92.2 |
| sl_launch_angle_avg | 20.8 |
| sl_whiff_percent | 25.3 |
| 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.213 | 1.000 | 0.000 | Hitting_2B | 0.213 | 0.000 | 0.787 | 1.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.040 | 4.000 | 7.000 | Hitting_AB | 3.632 | 4.000 | 0.368 | 0.000 |
| predicted_AVG | 0.260 | 0.500 | 0.286 | Hitting_AVG | 0.286 | 0.250 | 0.214 | 0.250 |
| predicted_BB | 0.957 | 0.000 | 2.000 | Hitting_BB | 0.957 | 1.000 | -0.957 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 1.050 | 2.000 | 2.000 | Hitting_H | 1.040 | 1.000 | 0.960 | 1.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_OBP | 0.403 | 0.500 | 0.444 | Hitting_OBP | 0.439 | 0.400 | 0.061 | 0.100 |
| predicted_R | 0.660 | 1.000 | 1.000 | Hitting_R | 0.660 | 0.000 | 0.340 | 1.000 |
| predicted_RBI | 0.730 | 2.000 | 1.000 | Hitting_RBI | 0.700 | 1.000 | 1.300 | 1.000 |
| predicted_SLG | 0.523 | 0.750 | 0.286 | Hitting_SLG | 0.490 | 0.250 | 0.260 | 0.500 |
| predicted_SO | 1.340 | 0.000 | 2.000 | Hitting_SO | 1.340 | 1.000 | -1.340 | -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_RBI: 0.7300 -> 2.0000 (boost 1.2700, better) |
| Biggest Deboost | predicted_SO: 1.3400 -> 0.0000 (deboost -1.3400, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.0400 -> 7.3681 (boost 3.3281, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5568 -> 0.5701 (boost 0.0133, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_BB: 1.7334 -> 2.0000 (boost 0.2666, better) | predicted_RBI: 1.5244 -> 1.0000 (deboost -0.5244, worse) | AB rounded to 7 (raw=7.37), rates preserved: AVG=0.297 HR/AB=0.070 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3733 -> 1.0000 (deboost -0.3733, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.4308 -> 0.4440 (boost 0.0132, better) | predicted_SLG: 0.5701 -> 0.2860 (deboost -0.2841, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 3 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2860 -> 0.5701 (boost 0.2841, better) | predicted_OBP: 0.4440 -> 0.4308 (deboost -0.0132, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701762",
"player_name": "Nick Kurtz",
"position": "1B",
"team": "OAK",
"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.213,
"predicted_3B": 0.02,
"predicted_AB": 4.04,
"predicted_AVG": 0.26,
"predicted_BB": 0.957,
"predicted_H": 1.05,
"predicted_HR": 0.25,
"predicted_OBP": 0.403,
"predicted_R": 0.66,
"predicted_RBI": 0.73,
"predicted_SLG": 0.523,
"predicted_SO": 1.34
},
"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.3998,
"predicted_3B": 0.0302,
"predicted_AB": 7.3681,
"predicted_AVG": 0.2837,
"predicted_BB": 1.7388,
"predicted_H": 2.1899,
"predicted_HBP": 0.078,
"predicted_HR": 0.52,
"predicted_OBP": 0.4221,
"predicted_R": 1.3767,
"predicted_RBI": 1.5282,
"predicted_SLG": 0.5568,
"predicted_SO": 2.4604
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.3998,
"delta": 0.1868,
"percent_delta": 0.877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0302,
"delta": 0.0102,
"percent_delta": 0.51,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.04,
"after": 7.3681,
"delta": 3.3281,
"percent_delta": 0.8238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2837,
"delta": 0.0237,
"percent_delta": 0.0912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.957,
"after": 1.7388,
"delta": 0.7818,
"percent_delta": 0.8169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 2.1899,
"delta": 1.1399,
"percent_delta": 1.0856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.52,
"delta": 0.27,
"percent_delta": 1.08,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.403,
"after": 0.4221,
"delta": 0.0191,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.66,
"after": 1.3767,
"delta": 0.7167,
"percent_delta": 1.0859,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 1.5282,
"delta": 0.7982,
"percent_delta": 1.0934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.523,
"after": 0.5568,
"delta": 0.0338,
"percent_delta": 0.0646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.34,
"after": 2.4604,
"delta": 1.1204,
"percent_delta": 0.8361,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.04,
"after": 7.3681,
"delta": 3.3281,
"percent_delta": 0.8238,
"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": 60
}
},
{
"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.3998,
"predicted_3B": 0.0302,
"predicted_AB": 7.3681,
"predicted_AVG": 0.2969,
"predicted_BB": 1.7334,
"predicted_H": 2.1879,
"predicted_HBP": 0.078,
"predicted_HR": 0.5176,
"predicted_OBP": 0.4308,
"predicted_R": 1.3733,
"predicted_RBI": 1.5244,
"predicted_SLG": 0.5701,
"predicted_SO": 2.468
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3998,
"after": 0.3998,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0302,
"after": 0.0302,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.3681,
"after": 7.3681,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2837,
"after": 0.2969,
"delta": 0.0132,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.7388,
"after": 1.7334,
"delta": -0.0054,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1899,
"after": 2.1879,
"delta": -0.002,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.078,
"after": 0.078,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.52,
"after": 0.5176,
"delta": -0.0024,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4221,
"after": 0.4308,
"delta": 0.0087,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.3767,
"after": 1.3733,
"delta": -0.0034,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.5282,
"after": 1.5244,
"delta": -0.0038,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5568,
"after": 0.5701,
"delta": 0.0133,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4604,
"after": 2.468,
"delta": 0.0076,
"percent_delta": 0.0031,
"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.5568,
"after": 0.5701,
"delta": 0.0133,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.37), rates preserved: AVG=0.297 HR/AB=0.070",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3998,
"after": 0.0,
"delta": -0.3998,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0302,
"after": 0.0,
"delta": -0.0302,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.3681,
"after": 7.0,
"delta": -0.3681,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.7334,
"after": 2.0,
"delta": 0.2666,
"percent_delta": 0.1538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1879,
"after": 2.0,
"delta": -0.1879,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.5176,
"after": 0.0,
"delta": -0.5176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5244,
"after": 1.0,
"delta": -0.5244,
"percent_delta": -0.344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.468,
"after": 2.0,
"delta": -0.468,
"percent_delta": -0.1896,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.7334,
"after": 2.0,
"delta": 0.2666,
"percent_delta": 0.1538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.5244,
"after": 1.0,
"delta": -0.5244,
"percent_delta": -0.344,
"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": 7.0,
"predicted_BB": 2.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_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": 1.3733,
"after": 1.0,
"delta": -0.3733,
"percent_delta": -0.2718,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.3733,
"after": 1.0,
"delta": -0.3733,
"percent_delta": -0.2718,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.444,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2969,
"after": 0.286,
"delta": -0.0109,
"percent_delta": -0.0367,
"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_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.4308,
"after": 0.444,
"delta": 0.0132,
"percent_delta": 0.0306,
"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.5701,
"after": 0.286,
"delta": -0.2841,
"percent_delta": -0.4983,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.4308,
"after": 0.444,
"delta": 0.0132,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5701,
"after": 0.286,
"delta": -0.2841,
"percent_delta": -0.4983,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2969,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4308,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5701,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2969,
"delta": 0.0109,
"percent_delta": 0.0383,
"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.444,
"after": 0.4308,
"delta": -0.0132,
"percent_delta": -0.0296,
"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.286,
"after": 0.5701,
"delta": 0.2841,
"percent_delta": 0.9935,
"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.286,
"after": 0.5701,
"delta": 0.2841,
"percent_delta": 0.9935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.444,
"after": 0.4308,
"delta": -0.0132,
"percent_delta": -0.0296,
"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.213,
"after": 1.0,
"delta": 0.787,
"percent_delta": 3.6948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.04,
"after": 4.0,
"delta": -0.04,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2969,
"delta": 0.0369,
"percent_delta": 0.1419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.957,
"after": 0.0,
"delta": -0.957,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 2.0,
"delta": 0.95,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"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.403,
"after": 0.4308,
"delta": 0.0278,
"percent_delta": 0.069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 2.0,
"delta": 1.27,
"percent_delta": 1.7397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.523,
"after": 0.5701,
"delta": 0.0471,
"percent_delta": 0.0901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.34,
"after": 0.0,
"delta": -1.34,
"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_RBI",
"before": 0.73,
"after": 2.0,
"delta": 1.27,
"percent_delta": 1.7397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.34,
"after": 0.0,
"delta": -1.34,
"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.213 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.040 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.957 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.403 | - |
| predicted_R | 0.660 | - |
| predicted_RBI | 0.730 | - |
| predicted_SLG | 0.523 | - |
| predicted_SO | 1.340 | - |
Final model 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.400 | 0.187 |
| predicted_3B | 0.030 | 0.010 |
| predicted_AB | 7.368 | 3.328 |
| predicted_AVG | 0.284 | 0.024 |
| predicted_BB | 1.739 | 0.782 |
| predicted_H | 2.190 | 1.140 |
| predicted_HBP | 0.078 | - |
| predicted_HR | 0.520 | 0.270 |
| predicted_OBP | 0.422 | 0.019 |
| predicted_R | 1.377 | 0.717 |
| predicted_RBI | 1.528 | 0.798 |
| predicted_SLG | 0.557 | 0.034 |
| predicted_SO | 2.460 | 1.120 |
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.400 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 7.368 | 0.000 |
| predicted_AVG | 0.297 | 0.013 |
| predicted_BB | 1.733 | -0.005 |
| predicted_H | 2.188 | -0.002 |
| predicted_HBP | 0.078 | 0.000 |
| predicted_HR | 0.518 | -0.002 |
| predicted_OBP | 0.431 | 0.009 |
| predicted_R | 1.373 | -0.003 |
| predicted_RBI | 1.524 | -0.004 |
| predicted_SLG | 0.570 | 0.013 |
| predicted_SO | 2.468 | 0.008 |
AB rounded to 7 (raw=7.37), rates preserved: AVG=0.297 HR/AB=0.070
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 2.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 2.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 | 2.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.400 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 7.000 | -0.368 |
| predicted_AVG | 0.286 | -0.011 |
| predicted_BB | 2.000 | 0.267 |
| predicted_H | 2.000 | -0.188 |
| predicted_HR | 0.000 | -0.518 |
| predicted_OBP | 0.444 | 0.013 |
| predicted_R | 1.000 | -0.373 |
| predicted_RBI | 1.000 | -0.524 |
| predicted_SLG | 0.286 | -0.284 |
| predicted_SO | 2.000 | -0.468 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -2.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 18.000 | 8.000 | 1.000 | 0.000 | 3.000 | 6.000 | 5.000 | 4.000 | 4.000 | 0.4444 | 0.5455 | 1.0000 | 0.4444 | 0.1667 | 0.3333 | 0.2222 | 0.2222 |
| last_10 | 0.20 | 7 | - | 38.000 | 8.000 | 1.000 | 0.000 | 3.000 | 6.000 | 5.000 | 4.000 | 15.000 | 0.2105 | 0.2857 | 0.4737 | 0.2105 | 0.0790 | 0.1579 | 0.1053 | 0.3947 |
| season | 0.60 | 60 | - | 919.000 | 263.000 | 54.000 | 5.000 | 41.000 | 177.000 | 167.000 | 242.000 | 339.000 | 0.2862 | 0.4393 | 0.4897 | 0.2862 | 0.0446 | 0.1926 | 0.2633 | 0.3689 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6350 |
| predicted_3B | 0.0430 |
| predicted_AB | 11.5580 |
| predicted_AVG | 0.3136 |
| predicted_BB | 2.7230 |
| predicted_H | 3.6250 |
| predicted_HBP | 0.0780 |
| predicted_HR | 0.8600 |
| predicted_OBP | 0.4461 |
| predicted_R | 2.2790 |
| predicted_RBI | 2.5330 |
| predicted_SLG | 0.5993 |
| predicted_SO | 3.8710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2130 | 0.6350 | 0.3998 | model_form_blend |
| predicted_3B | 0.0200 | 0.0430 | 0.0302 | model_form_blend |
| predicted_AB | 4.0400 | 11.5580 | 7.3681 | model_form_blend |
| predicted_AVG | 0.2600 | 0.3136 | 0.2837 | model_form_blend |
| predicted_BB | 0.9570 | 2.7230 | 1.7388 | model_form_blend |
| predicted_H | 1.0500 | 3.6250 | 2.1899 | model_form_blend |
| predicted_HBP | - | 0.0780 | 0.0780 | form_only |
| predicted_HR | 0.2500 | 0.8600 | 0.5200 | model_form_blend |
| predicted_OBP | 0.4030 | 0.4461 | 0.4221 | model_form_blend |
| predicted_R | 0.6600 | 2.2790 | 1.3767 | model_form_blend |
| predicted_RBI | 0.7300 | 2.5330 | 1.5282 | model_form_blend |
| predicted_SLG | 0.5230 | 0.5993 | 0.5568 | model_form_blend |
| predicted_SO | 1.3400 | 3.8710 | 2.4604 | 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 | 253 |
| Season rows before report date | 253 |
| Report year | 2026 |
| Profile rows used | 253 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.286 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| 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 | 1 |
| 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 | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 701762 |
| playerID | 701762 |
| playerName | Nick Kurtz |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 28.9 |
| sl_bb_percent | 20.5 |
| sl_woba | 0.413 |
| sl_xwoba | 0.399 |
| sl_xba | 0.262 |
| sl_xslg | 0.508 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 18.4 |
| sl_hard_hit_percent | 58.1 |
| sl_exit_velocity_avg | 94.3 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 35.2 |
| sl_swing_percent | 40.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.322 | 0.000 | 1.000 | Hitting_2B | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 3.950 | 4.000 | 7.000 | Hitting_AB | 3.863 | 5.000 | 0.137 | -1.000 |
| predicted_AVG | 0.256 | 0.250 | 0.286 | Hitting_AVG | 0.219 | 0.400 | 0.031 | -0.150 |
| predicted_BB | 0.480 | 0.000 | 1.000 | Hitting_BB | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.010 | 1.000 | 2.000 | Hitting_H | 0.846 | 2.000 | 0.154 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.371 | 0.250 | 0.375 | Hitting_OBP | 0.307 | 0.400 | -0.057 | -0.150 |
| predicted_R | 0.507 | 0.000 | 1.000 | Hitting_R | 0.507 | 0.000 | -0.507 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.493 | 2.000 | -0.493 | -2.000 |
| predicted_SLG | 0.466 | 0.250 | 0.429 | Hitting_SLG | 0.410 | 0.400 | -0.160 | -0.150 |
| predicted_SO | 0.789 | 2.000 | 1.000 | Hitting_SO | 0.789 | 1.000 | 1.211 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.7890 -> 2.0000 (boost 1.2110, worse) |
| Biggest Deboost | predicted_RBI: 0.5200 -> 0.0000 (deboost -0.5200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.9500 -> 7.1636 (boost 3.2136, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4890 -> 0.5015 (boost 0.0125, better) | - | 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_2B: 0.5966 -> 1.0000 (boost 0.4034, better) | predicted_HR: 0.2842 -> 0.0000 (deboost -0.2842, worse) | AB rounded to 7 (raw=7.16), rates preserved: AVG=0.287 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9073 -> 1.0000 (boost 0.0927, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.5015 -> 0.4290 (deboost -0.0725, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 1 | 6 | 0 | 7 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4290 -> 0.5015 (boost 0.0725, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"position": "LF",
"team": "OAK",
"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.322,
"predicted_3B": 0.031,
"predicted_AB": 3.95,
"predicted_AVG": 0.256,
"predicted_BB": 0.48,
"predicted_H": 1.01,
"predicted_HR": 0.15,
"predicted_OBP": 0.371,
"predicted_R": 0.507,
"predicted_RBI": 0.52,
"predicted_SLG": 0.466,
"predicted_SO": 0.789
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5966,
"predicted_3B": 0.0442,
"predicted_AB": 7.1636,
"predicted_AVG": 0.2759,
"predicted_BB": 1.0698,
"predicted_H": 2.0571,
"predicted_HBP": 0.037,
"predicted_HR": 0.2855,
"predicted_OBP": 0.3808,
"predicted_R": 0.9096,
"predicted_RBI": 0.9884,
"predicted_SLG": 0.489,
"predicted_SO": 1.279
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.322,
"after": 0.5966,
"delta": 0.2746,
"percent_delta": 0.8528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0442,
"delta": 0.0132,
"percent_delta": 0.4258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.95,
"after": 7.1636,
"delta": 3.2136,
"percent_delta": 0.8136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2759,
"delta": 0.0199,
"percent_delta": 0.0777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.48,
"after": 1.0698,
"delta": 0.5898,
"percent_delta": 1.2288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 2.0571,
"delta": 1.0471,
"percent_delta": 1.0367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.2855,
"delta": 0.1355,
"percent_delta": 0.9033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3808,
"delta": 0.0098,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.507,
"after": 0.9096,
"delta": 0.4026,
"percent_delta": 0.7941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.9884,
"delta": 0.4684,
"percent_delta": 0.9008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.489,
"delta": 0.023,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 1.279,
"delta": 0.49,
"percent_delta": 0.621,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.95,
"after": 7.1636,
"delta": 3.2136,
"percent_delta": 0.8136,
"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": 58
}
},
{
"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.5966,
"predicted_3B": 0.0442,
"predicted_AB": 7.1636,
"predicted_AVG": 0.2869,
"predicted_BB": 1.0665,
"predicted_H": 2.0552,
"predicted_HBP": 0.037,
"predicted_HR": 0.2842,
"predicted_OBP": 0.3793,
"predicted_R": 0.9073,
"predicted_RBI": 0.9859,
"predicted_SLG": 0.5015,
"predicted_SO": 1.283
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5966,
"after": 0.5966,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0442,
"after": 0.0442,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1636,
"after": 7.1636,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2759,
"after": 0.2869,
"delta": 0.011,
"percent_delta": 0.0399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0698,
"after": 1.0665,
"delta": -0.0033,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0571,
"after": 2.0552,
"delta": -0.0019,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2855,
"after": 0.2842,
"delta": -0.0013,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3808,
"after": 0.3793,
"delta": -0.0015,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9096,
"after": 0.9073,
"delta": -0.0023,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9884,
"after": 0.9859,
"delta": -0.0025,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.5015,
"delta": 0.0125,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.279,
"after": 1.283,
"delta": 0.004,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.5015,
"delta": 0.0125,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.16), rates preserved: AVG=0.287 HR/AB=0.040",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.5966,
"after": 1.0,
"delta": 0.4034,
"percent_delta": 0.6762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0442,
"after": 0.0,
"delta": -0.0442,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1636,
"after": 7.0,
"delta": -0.1636,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0665,
"after": 1.0,
"delta": -0.0665,
"percent_delta": -0.0624,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0552,
"after": 2.0,
"delta": -0.0552,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2842,
"after": 0.0,
"delta": -0.2842,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9859,
"after": 1.0,
"delta": 0.0141,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.283,
"after": 1.0,
"delta": -0.283,
"percent_delta": -0.2206,
"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_2B",
"before": 0.5966,
"after": 1.0,
"delta": 0.4034,
"percent_delta": 0.6762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2842,
"after": 0.0,
"delta": -0.2842,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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": 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": 7.0,
"after": 7.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": 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.9073,
"after": 1.0,
"delta": 0.0927,
"percent_delta": 0.1022,
"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.9073,
"after": 1.0,
"delta": 0.0927,
"percent_delta": 0.1022,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.429,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2869,
"after": 0.286,
"delta": -0.0009,
"percent_delta": -0.0031,
"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": 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.3793,
"after": 0.375,
"delta": -0.0043,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5015,
"after": 0.429,
"delta": -0.0725,
"percent_delta": -0.1446,
"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_SLG",
"before": 0.5015,
"after": 0.429,
"delta": -0.0725,
"percent_delta": -0.1446,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2869,
"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.3793,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5015,
"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.286,
"after": 0.2869,
"delta": 0.0009,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3793,
"delta": 0.0043,
"percent_delta": 0.0115,
"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.429,
"after": 0.5015,
"delta": 0.0725,
"percent_delta": 0.1691,
"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_SLG",
"before": 0.429,
"after": 0.5015,
"delta": 0.0725,
"percent_delta": 0.1691,
"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.322,
"after": 0.0,
"delta": -0.322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.95,
"after": 4.0,
"delta": 0.05,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2869,
"delta": 0.0309,
"percent_delta": 0.1207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0,
"delta": -0.01,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3793,
"delta": 0.0083,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.507,
"after": 0.0,
"delta": -0.507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.5015,
"delta": 0.0355,
"percent_delta": 0.0762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 2.0,
"delta": 1.211,
"percent_delta": 1.5349,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.789,
"after": 2.0,
"delta": 1.211,
"percent_delta": 1.5349,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"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.322 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.950 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.480 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.371 | - |
| predicted_R | 0.507 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.466 | - |
| predicted_SO | 0.789 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.597 | 0.275 |
| predicted_3B | 0.044 | 0.013 |
| predicted_AB | 7.164 | 3.214 |
| predicted_AVG | 0.276 | 0.020 |
| predicted_BB | 1.070 | 0.590 |
| predicted_H | 2.057 | 1.047 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.285 | 0.135 |
| predicted_OBP | 0.381 | 0.010 |
| predicted_R | 0.910 | 0.403 |
| predicted_RBI | 0.988 | 0.468 |
| predicted_SLG | 0.489 | 0.023 |
| predicted_SO | 1.279 | 0.490 |
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.597 | 0.000 |
| predicted_3B | 0.044 | 0.000 |
| predicted_AB | 7.164 | 0.000 |
| predicted_AVG | 0.287 | 0.011 |
| predicted_BB | 1.067 | -0.003 |
| predicted_H | 2.055 | -0.002 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.284 | -0.001 |
| predicted_OBP | 0.379 | -0.002 |
| predicted_R | 0.907 | -0.002 |
| predicted_RBI | 0.986 | -0.002 |
| predicted_SLG | 0.501 | 0.012 |
| predicted_SO | 1.283 | 0.004 |
AB rounded to 7 (raw=7.16), rates preserved: AVG=0.287 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 1.000 | 0.403 |
| predicted_3B | 0.000 | -0.044 |
| predicted_AB | 7.000 | -0.164 |
| predicted_AVG | 0.286 | -0.001 |
| predicted_BB | 1.000 | -0.067 |
| predicted_H | 2.000 | -0.055 |
| predicted_HR | 0.000 | -0.284 |
| predicted_OBP | 0.375 | -0.004 |
| predicted_R | 1.000 | 0.093 |
| predicted_RBI | 1.000 | 0.014 |
| predicted_SLG | 0.429 | -0.072 |
| predicted_SO | 1.000 | -0.283 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.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 | - | 16.000 | 8.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 4.000 | 1.000 | 0.5000 | 0.6000 | 0.7500 | 0.5000 | 0.0625 | 0.1875 | 0.2500 | 0.0625 |
| last_10 | 0.20 | 7 | - | 32.000 | 14.000 | 5.000 | 0.000 | 2.000 | 4.000 | 3.000 | 8.000 | 5.000 | 0.4375 | 0.5500 | 0.7812 | 0.4375 | 0.0625 | 0.1250 | 0.2500 | 0.1562 |
| season | 0.60 | 58 | - | 877.000 | 192.000 | 73.000 | 7.000 | 27.000 | 112.000 | 115.000 | 109.000 | 179.000 | 0.2189 | 0.3068 | 0.4105 | 0.2189 | 0.0308 | 0.1277 | 0.1243 | 0.2041 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9440 |
| predicted_3B | 0.0610 |
| predicted_AB | 11.2300 |
| predicted_AVG | 0.3011 |
| predicted_BB | 1.8160 |
| predicted_H | 3.3820 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.4570 |
| predicted_OBP | 0.3931 |
| predicted_R | 1.4190 |
| predicted_RBI | 1.5810 |
| predicted_SLG | 0.5180 |
| predicted_SO | 1.8990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3220 | 0.9440 | 0.5966 | model_form_blend |
| predicted_3B | 0.0310 | 0.0610 | 0.0442 | model_form_blend |
| predicted_AB | 3.9500 | 11.2300 | 7.1636 | model_form_blend |
| predicted_AVG | 0.2560 | 0.3011 | 0.2759 | model_form_blend |
| predicted_BB | 0.4800 | 1.8160 | 1.0698 | model_form_blend |
| predicted_H | 1.0100 | 3.3820 | 2.0571 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.1500 | 0.4570 | 0.2855 | model_form_blend |
| predicted_OBP | 0.3710 | 0.3931 | 0.3808 | model_form_blend |
| predicted_R | 0.5070 | 1.4190 | 0.9096 | model_form_blend |
| predicted_RBI | 0.5200 | 1.5810 | 0.9884 | model_form_blend |
| predicted_SLG | 0.4660 | 0.5180 | 0.4890 | model_form_blend |
| predicted_SO | 0.7890 | 1.8990 | 1.2790 | 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 | 227 |
| Season rows before report date | 227 |
| Report year | 2026 |
| Profile rows used | 227 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.219 |
| 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.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 691016 |
| playerID | 691016 |
| playerName | Tyler Soderstrom |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.325 |
| sl_xwoba | 0.329 |
| sl_xba | 0.249 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 43.9 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 13.7 |
| sl_whiff_percent | 22.2 |
| sl_swing_percent | 47.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.355 | 0.000 | 1.000 | Hitting_2B | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.500 | 4.000 | 6.000 | Hitting_AB | 3.677 | 1.000 | 0.323 | 3.000 |
| predicted_AVG | 0.229 | 0.000 | 0.167 | Hitting_AVG | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_BB | 0.382 | 0.000 | 1.000 | Hitting_BB | 0.290 | 0.000 | -0.290 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 0.000 | 1.000 | Hitting_H | 0.645 | 0.000 | -0.645 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_OBP | 0.285 | 0.000 | 0.286 | Hitting_OBP | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_R | 0.447 | 0.000 | 1.000 | Hitting_R | 0.516 | 0.000 | -0.516 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_SLG | 0.388 | 0.000 | 0.333 | Hitting_SLG | 0.289 | 0.000 | -0.289 | 0.000 |
| predicted_SO | 0.684 | 0.000 | 1.000 | Hitting_SO | 1.032 | 0.000 | -1.032 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.5000 -> 4.0000 (boost 0.5000, better) |
| Biggest Deboost | predicted_H: 0.7400 -> 0.0000 (deboost -0.7400, 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 | 10 | 8 | 2 | 7 | 3 | predicted_AB: 3.5000 -> 6.1573 (boost 2.6573, better) | predicted_AVG: 0.2290 -> 0.2173 (deboost -0.0117, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2173 -> 0.2046 (deboost -0.0127, 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 | 4 | 3 | predicted_2B: 0.5481 -> 1.0000 (boost 0.4519, better) | predicted_H: 1.2597 -> 1.0000 (deboost -0.2597, worse) | AB rounded to 6 (raw=6.16), rates preserved: AVG=0.205 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9396 -> 1.0000 (boost 0.0604, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3856 -> 0.3330 (deboost -0.0526, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 0 | 7 | 1 | 6 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3330 -> 0.3856 (boost 0.0526, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641680",
"player_name": "Jonah Heim",
"position": "C",
"team": "OAK",
"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.355,
"predicted_3B": 0.0,
"predicted_AB": 3.5,
"predicted_AVG": 0.229,
"predicted_BB": 0.382,
"predicted_H": 0.74,
"predicted_HR": 0.11,
"predicted_OBP": 0.285,
"predicted_R": 0.447,
"predicted_RBI": 0.45,
"predicted_SLG": 0.388,
"predicted_SO": 0.684
},
"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.5481,
"predicted_3B": 0.0013,
"predicted_AB": 6.1573,
"predicted_AVG": 0.2173,
"predicted_BB": 0.7385,
"predicted_H": 1.2608,
"predicted_HBP": 0.008,
"predicted_HR": 0.1888,
"predicted_OBP": 0.2862,
"predicted_R": 0.942,
"predicted_RBI": 0.892,
"predicted_SLG": 0.3828,
"predicted_SO": 1.2467
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.355,
"after": 0.5481,
"delta": 0.1931,
"percent_delta": 0.5439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 6.1573,
"delta": 2.6573,
"percent_delta": 0.7592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2173,
"delta": -0.0117,
"percent_delta": -0.0511,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.7385,
"delta": 0.3565,
"percent_delta": 0.9332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.2608,
"delta": 0.5208,
"percent_delta": 0.7038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1888,
"delta": 0.0788,
"percent_delta": 0.7164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2862,
"delta": 0.0012,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.447,
"after": 0.942,
"delta": 0.495,
"percent_delta": 1.1074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.892,
"delta": 0.442,
"percent_delta": 0.9822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3828,
"delta": -0.0052,
"percent_delta": -0.0134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.684,
"after": 1.2467,
"delta": 0.5627,
"percent_delta": 0.8227,
"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": 3.5,
"after": 6.1573,
"delta": 2.6573,
"percent_delta": 0.7592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2173,
"delta": -0.0117,
"percent_delta": -0.0511,
"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": 3,
"last_10": 4,
"season": 23
}
},
{
"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.5481,
"predicted_3B": 0.0013,
"predicted_AB": 6.1573,
"predicted_AVG": 0.2046,
"predicted_BB": 0.7362,
"predicted_H": 1.2597,
"predicted_HBP": 0.008,
"predicted_HR": 0.1879,
"predicted_OBP": 0.2895,
"predicted_R": 0.9396,
"predicted_RBI": 0.8898,
"predicted_SLG": 0.3856,
"predicted_SO": 1.2506
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5481,
"after": 0.5481,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.1573,
"after": 6.1573,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2173,
"after": 0.2046,
"delta": -0.0127,
"percent_delta": -0.0584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7385,
"after": 0.7362,
"delta": -0.0023,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2608,
"after": 1.2597,
"delta": -0.0011,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1888,
"after": 0.1879,
"delta": -0.0009,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2862,
"after": 0.2895,
"delta": 0.0033,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.942,
"after": 0.9396,
"delta": -0.0024,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.892,
"after": 0.8898,
"delta": -0.0022,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3828,
"after": 0.3856,
"delta": 0.0028,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2467,
"after": 1.2506,
"delta": 0.0039,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2173,
"after": 0.2046,
"delta": -0.0127,
"percent_delta": -0.0584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.16), rates preserved: AVG=0.205 HR/AB=0.031",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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.5481,
"after": 1.0,
"delta": 0.4519,
"percent_delta": 0.8245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.1573,
"after": 6.0,
"delta": -0.1573,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7362,
"after": 1.0,
"delta": 0.2638,
"percent_delta": 0.3583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2597,
"after": 1.0,
"delta": -0.2597,
"percent_delta": -0.2062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1879,
"after": 0.0,
"delta": -0.1879,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8898,
"after": 1.0,
"delta": 0.1102,
"percent_delta": 0.1238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2506,
"after": 1.0,
"delta": -0.2506,
"percent_delta": -0.2004,
"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_2B",
"before": 0.5481,
"after": 1.0,
"delta": 0.4519,
"percent_delta": 0.8245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.2597,
"after": 1.0,
"delta": -0.2597,
"percent_delta": -0.2062,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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": 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_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.9396,
"after": 1.0,
"delta": 0.0604,
"percent_delta": 0.0643,
"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.9396,
"after": 1.0,
"delta": 0.0604,
"percent_delta": 0.0643,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"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": 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.2046,
"after": 0.167,
"delta": -0.0376,
"percent_delta": -0.1838,
"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.2895,
"after": 0.286,
"delta": -0.0035,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3856,
"after": 0.333,
"delta": -0.0526,
"percent_delta": -0.1364,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3856,
"after": 0.333,
"delta": -0.0526,
"percent_delta": -0.1364,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2046,
"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.2895,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3856,
"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.167,
"after": 0.2046,
"delta": 0.0376,
"percent_delta": 0.225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2895,
"delta": 0.0035,
"percent_delta": 0.0123,
"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.333,
"after": 0.3856,
"delta": 0.0526,
"percent_delta": 0.1579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3856,
"delta": 0.0526,
"percent_delta": 0.1579,
"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.355,
"after": 0.0,
"delta": -0.355,
"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.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2046,
"delta": -0.0244,
"percent_delta": -0.1066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2895,
"delta": 0.0045,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.447,
"after": 0.0,
"delta": -0.447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3856,
"delta": -0.0024,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.684,
"after": 0.0,
"delta": -0.684,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"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.355 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.382 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.447 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.388 | - |
| predicted_SO | 0.684 | - |
Final model 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.548 | 0.193 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.157 | 2.657 |
| predicted_AVG | 0.217 | -0.012 |
| predicted_BB | 0.739 | 0.357 |
| predicted_H | 1.261 | 0.521 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.189 | 0.079 |
| predicted_OBP | 0.286 | 0.001 |
| predicted_R | 0.942 | 0.495 |
| predicted_RBI | 0.892 | 0.442 |
| predicted_SLG | 0.383 | -0.005 |
| predicted_SO | 1.247 | 0.563 |
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.548 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.157 | 0.000 |
| predicted_AVG | 0.205 | -0.013 |
| predicted_BB | 0.736 | -0.002 |
| predicted_H | 1.260 | -0.001 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.188 | -0.001 |
| predicted_OBP | 0.289 | 0.003 |
| predicted_R | 0.940 | -0.002 |
| predicted_RBI | 0.890 | -0.002 |
| predicted_SLG | 0.386 | 0.003 |
| predicted_SO | 1.251 | 0.004 |
AB rounded to 6 (raw=6.16), rates preserved: AVG=0.205 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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 | 1.000 | 0.452 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.157 |
| predicted_AVG | 0.167 | -0.038 |
| predicted_BB | 1.000 | 0.264 |
| predicted_H | 1.000 | -0.260 |
| predicted_HR | 0.000 | -0.188 |
| predicted_OBP | 0.286 | -0.004 |
| predicted_R | 1.000 | 0.060 |
| predicted_RBI | 1.000 | 0.110 |
| predicted_SLG | 0.333 | -0.053 |
| predicted_SO | 1.000 | -0.251 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -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 | 3 | - | 15.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 3.000 | 3.000 | 0.0667 | 0.2222 | 0.2667 | 0.0667 | 0.0667 | 0.2000 | 0.2000 | 0.2000 |
| last_10 | 0.20 | 4 | - | 34.000 | 9.000 | 4.000 | 0.000 | 1.000 | 3.000 | 10.000 | 8.000 | 12.000 | 0.2647 | 0.4048 | 0.4706 | 0.2647 | 0.0294 | 0.0882 | 0.2353 | 0.3529 |
| season | 0.60 | 23 | - | 266.000 | 58.000 | 27.000 | 0.000 | 6.000 | 40.000 | 34.000 | 29.000 | 52.000 | 0.2180 | 0.2900 | 0.3872 | 0.2180 | 0.0226 | 0.1504 | 0.1090 | 0.1955 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8110 |
| predicted_3B | 0.0030 |
| predicted_AB | 9.7760 |
| predicted_AVG | 0.2014 |
| predicted_BB | 1.2240 |
| predicted_H | 1.9700 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.2960 |
| predicted_OBP | 0.2879 |
| predicted_R | 1.6160 |
| predicted_RBI | 1.4940 |
| predicted_SLG | 0.3758 |
| predicted_SO | 2.0130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3550 | 0.8110 | 0.5481 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.5000 | 9.7760 | 6.1573 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2014 | 0.2173 | model_form_blend |
| predicted_BB | 0.3820 | 1.2240 | 0.7385 | model_form_blend |
| predicted_H | 0.7400 | 1.9700 | 1.2608 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1100 | 0.2960 | 0.1888 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2879 | 0.2862 | model_form_blend |
| predicted_R | 0.4470 | 1.6160 | 0.9420 | model_form_blend |
| predicted_RBI | 0.4500 | 1.4940 | 0.8920 | model_form_blend |
| predicted_SLG | 0.3880 | 0.3758 | 0.3828 | model_form_blend |
| predicted_SO | 0.6840 | 2.0130 | 1.2467 | 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 | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.218 |
| 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 | 1 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260603_OAK@CHC |
| game_type | ph |
| mlbID | 641680 |
| note | Grounded out for Thomas, C in the 10th. |
| playerID | 641680 |
| playerName | Jonah Heim |
| pos | C |
| started | False |
| startingPosition | PH |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 16.3 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.276 |
| sl_xwoba | 0.284 |
| sl_xba | 0.223 |
| sl_xslg | 0.353 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 25.0 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 20.1 |
| sl_swing_percent | 45.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.122 | 0.000 | 0.000 | Hitting_2B | 0.119 | 1.000 | -0.119 | -1.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 3.719 | 4.000 | 6.000 | Hitting_AB | 3.615 | 3.000 | 0.385 | 1.000 |
| predicted_AVG | 0.247 | 0.000 | 0.167 | Hitting_AVG | 0.257 | 0.333 | -0.257 | -0.333 |
| predicted_BB | 0.252 | 0.000 | 0.000 | Hitting_BB | 0.245 | 1.000 | -0.245 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 1.000 | -0.007 | -1.000 |
| predicted_H | 0.330 | 0.000 | 1.000 | Hitting_H | 0.930 | 1.000 | -0.930 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_OBP | 0.302 | 0.000 | 0.167 | Hitting_OBP | 0.309 | 0.500 | -0.309 | -0.500 |
| predicted_R | 0.604 | 0.000 | 1.000 | Hitting_R | 0.601 | 1.000 | -0.601 | -1.000 |
| predicted_RBI | 0.180 | 0.000 | 1.000 | Hitting_RBI | 0.503 | 0.000 | -0.503 | 0.000 |
| predicted_SLG | 0.403 | 0.000 | 0.167 | Hitting_SLG | 0.460 | 0.667 | -0.460 | -0.667 |
| predicted_SO | 0.993 | 1.000 | 2.000 | Hitting_SO | 0.965 | 0.000 | 0.035 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.7190 -> 4.0000 (boost 0.2810, better) |
| Biggest Deboost | predicted_R: 0.6040 -> 0.0000 (deboost -0.6040, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.7190 -> 6.3013 (boost 2.5823, 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.4270 -> 0.3626 (deboost -0.0644, 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: 1.6606 -> 2.0000 (boost 0.3394, worse) | predicted_H: 1.4297 -> 1.0000 (deboost -0.4297, worse) | AB rounded to 6 (raw=6.30), rates preserved: AVG=0.227 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8650 -> 1.0000 (boost 0.1350, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3626 -> 0.1670 (deboost -0.1956, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3626 (boost 0.1956, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680869",
"player_name": "Zack Gelof",
"position": "3B",
"team": "OAK",
"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.122,
"predicted_3B": 0.036,
"predicted_AB": 3.719,
"predicted_AVG": 0.247,
"predicted_BB": 0.252,
"predicted_H": 0.33,
"predicted_HR": 0.04,
"predicted_OBP": 0.302,
"predicted_R": 0.604,
"predicted_RBI": 0.18,
"predicted_SLG": 0.403,
"predicted_SO": 0.993
},
"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.2629,
"predicted_3B": 0.0473,
"predicted_AB": 6.3013,
"predicted_AVG": 0.2684,
"predicted_BB": 0.3999,
"predicted_H": 1.431,
"predicted_HBP": 0.053,
"predicted_HR": 0.1666,
"predicted_OBP": 0.3191,
"predicted_R": 0.8672,
"predicted_RBI": 0.6794,
"predicted_SLG": 0.427,
"predicted_SO": 1.6555
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.2629,
"delta": 0.1409,
"percent_delta": 1.1549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0473,
"delta": 0.0113,
"percent_delta": 0.3139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.719,
"after": 6.3013,
"delta": 2.5823,
"percent_delta": 0.6944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2684,
"delta": 0.0214,
"percent_delta": 0.0866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.252,
"after": 0.3999,
"delta": 0.1479,
"percent_delta": 0.5869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.431,
"delta": 1.101,
"percent_delta": 3.3364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.1666,
"delta": 0.1266,
"percent_delta": 3.165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3191,
"delta": 0.0171,
"percent_delta": 0.0566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.604,
"after": 0.8672,
"delta": 0.2632,
"percent_delta": 0.4358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.6794,
"delta": 0.4994,
"percent_delta": 2.7744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.427,
"delta": 0.024,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.993,
"after": 1.6555,
"delta": 0.6625,
"percent_delta": 0.6672,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.719,
"after": 6.3013,
"delta": 2.5823,
"percent_delta": 0.6944,
"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": 41
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2629,
"predicted_3B": 0.0473,
"predicted_AB": 6.3013,
"predicted_AVG": 0.2269,
"predicted_BB": 0.3987,
"predicted_H": 1.4297,
"predicted_HBP": 0.053,
"predicted_HR": 0.1658,
"predicted_OBP": 0.2729,
"predicted_R": 0.865,
"predicted_RBI": 0.6777,
"predicted_SLG": 0.3626,
"predicted_SO": 1.6606
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2629,
"after": 0.2629,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0473,
"after": 0.0473,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.3013,
"after": 6.3013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2684,
"after": 0.2269,
"delta": -0.0415,
"percent_delta": -0.1546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3999,
"after": 0.3987,
"delta": -0.0012,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.431,
"after": 1.4297,
"delta": -0.0013,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.053,
"after": 0.053,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1666,
"after": 0.1658,
"delta": -0.0008,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3191,
"after": 0.2729,
"delta": -0.0462,
"percent_delta": -0.1448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8672,
"after": 0.865,
"delta": -0.0022,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6794,
"after": 0.6777,
"delta": -0.0017,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.3626,
"delta": -0.0644,
"percent_delta": -0.1508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6555,
"after": 1.6606,
"delta": 0.0051,
"percent_delta": 0.0031,
"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.427,
"after": 0.3626,
"delta": -0.0644,
"percent_delta": -0.1508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.30), rates preserved: AVG=0.227 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2629,
"after": 0.0,
"delta": -0.2629,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0473,
"after": 0.0,
"delta": -0.0473,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.3013,
"after": 6.0,
"delta": -0.3013,
"percent_delta": -0.0478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3987,
"after": 0.0,
"delta": -0.3987,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4297,
"after": 1.0,
"delta": -0.4297,
"percent_delta": -0.3006,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1658,
"after": 0.0,
"delta": -0.1658,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6777,
"after": 1.0,
"delta": 0.3223,
"percent_delta": 0.4756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6606,
"after": 2.0,
"delta": 0.3394,
"percent_delta": 0.2044,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.6606,
"after": 2.0,
"delta": 0.3394,
"percent_delta": 0.2044,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4297,
"after": 1.0,
"delta": -0.4297,
"percent_delta": -0.3006,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.865,
"after": 1.0,
"delta": 0.135,
"percent_delta": 0.1561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.865,
"after": 1.0,
"delta": 0.135,
"percent_delta": 0.1561,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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": 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.2269,
"after": 0.167,
"delta": -0.0599,
"percent_delta": -0.264,
"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.2729,
"after": 0.167,
"delta": -0.1059,
"percent_delta": -0.3881,
"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.3626,
"after": 0.167,
"delta": -0.1956,
"percent_delta": -0.5394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3626,
"after": 0.167,
"delta": -0.1956,
"percent_delta": -0.5394,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 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.2269,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2729,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3626,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2269,
"delta": 0.0599,
"percent_delta": 0.3586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.2729,
"delta": 0.1059,
"percent_delta": 0.6341,
"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.167,
"after": 0.3626,
"delta": 0.1956,
"percent_delta": 1.1711,
"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.167,
"after": 0.3626,
"delta": 0.1956,
"percent_delta": 1.1711,
"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.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.719,
"after": 4.0,
"delta": 0.281,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2269,
"delta": -0.0201,
"percent_delta": -0.0814,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.252,
"after": 0.0,
"delta": -0.252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2729,
"delta": -0.0291,
"percent_delta": -0.0964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.604,
"after": 0.0,
"delta": -0.604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3626,
"delta": -0.0404,
"percent_delta": -0.1002,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.993,
"after": 1.0,
"delta": 0.007,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.719,
"after": 4.0,
"delta": 0.281,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.604,
"after": 0.0,
"delta": -0.604,
"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.122 | - |
| predicted_3B | 0.036 | - |
| predicted_AB | 3.719 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.252 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.604 | - |
| predicted_RBI | 0.180 | - |
| predicted_SLG | 0.403 | - |
| predicted_SO | 0.993 | - |
Final model 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.263 | 0.141 |
| predicted_3B | 0.047 | 0.011 |
| predicted_AB | 6.301 | 2.582 |
| predicted_AVG | 0.268 | 0.021 |
| predicted_BB | 0.400 | 0.148 |
| predicted_H | 1.431 | 1.101 |
| predicted_HBP | 0.053 | - |
| predicted_HR | 0.167 | 0.127 |
| predicted_OBP | 0.319 | 0.017 |
| predicted_R | 0.867 | 0.263 |
| predicted_RBI | 0.679 | 0.499 |
| predicted_SLG | 0.427 | 0.024 |
| predicted_SO | 1.655 | 0.662 |
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.263 | 0.000 |
| predicted_3B | 0.047 | 0.000 |
| predicted_AB | 6.301 | 0.000 |
| predicted_AVG | 0.227 | -0.042 |
| predicted_BB | 0.399 | -0.001 |
| predicted_H | 1.430 | -0.001 |
| predicted_HBP | 0.053 | 0.000 |
| predicted_HR | 0.166 | -0.001 |
| predicted_OBP | 0.273 | -0.046 |
| predicted_R | 0.865 | -0.002 |
| predicted_RBI | 0.678 | -0.002 |
| predicted_SLG | 0.363 | -0.064 |
| predicted_SO | 1.661 | 0.005 |
AB rounded to 6 (raw=6.30), rates preserved: AVG=0.227 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.263 |
| predicted_3B | 0.000 | -0.047 |
| predicted_AB | 6.000 | -0.301 |
| predicted_AVG | 0.167 | -0.060 |
| predicted_BB | 0.000 | -0.399 |
| predicted_H | 1.000 | -0.430 |
| predicted_HR | 0.000 | -0.166 |
| predicted_OBP | 0.167 | -0.106 |
| predicted_R | 1.000 | 0.135 |
| predicted_RBI | 1.000 | 0.322 |
| predicted_SLG | 0.167 | -0.196 |
| predicted_SO | 2.000 | 0.339 |
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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -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 | 7.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 5.000 | 0.3684 | 0.4000 | 0.4211 | 0.3684 | 0.0000 | 0.1579 | 0.0526 | 0.2632 |
| last_10 | 0.20 | 7 | - | 39.000 | 17.000 | 5.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 9.000 | 0.4359 | 0.4500 | 0.5641 | 0.4359 | 0.0000 | 0.0769 | 0.0256 | 0.2308 |
| season | 0.60 | 41 | - | 517.000 | 133.000 | 17.000 | 5.000 | 26.000 | 72.000 | 84.000 | 35.000 | 138.000 | 0.2573 | 0.3094 | 0.4603 | 0.2572 | 0.0503 | 0.1393 | 0.0677 | 0.2669 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4460 |
| predicted_3B | 0.0620 |
| predicted_AB | 9.6550 |
| predicted_AVG | 0.2963 |
| predicted_BB | 0.5920 |
| predicted_H | 2.8610 |
| predicted_HBP | 0.0530 |
| predicted_HR | 0.3310 |
| predicted_OBP | 0.3413 |
| predicted_R | 1.2090 |
| predicted_RBI | 1.3280 |
| predicted_SLG | 0.4581 |
| predicted_SO | 2.5160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1220 | 0.4460 | 0.2629 | model_form_blend |
| predicted_3B | 0.0360 | 0.0620 | 0.0473 | model_form_blend |
| predicted_AB | 3.7190 | 9.6550 | 6.3013 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2963 | 0.2684 | model_form_blend |
| predicted_BB | 0.2520 | 0.5920 | 0.3999 | model_form_blend |
| predicted_H | 0.3300 | 2.8610 | 1.4310 | model_form_blend |
| predicted_HBP | - | 0.0530 | 0.0530 | form_only |
| predicted_HR | 0.0400 | 0.3310 | 0.1666 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3413 | 0.3191 | model_form_blend |
| predicted_R | 0.6040 | 1.2090 | 0.8672 | model_form_blend |
| predicted_RBI | 0.1800 | 1.3280 | 0.6794 | model_form_blend |
| predicted_SLG | 0.4030 | 0.4581 | 0.4270 | model_form_blend |
| predicted_SO | 0.9930 | 2.5160 | 1.6555 | 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 | 143 |
| Season rows before report date | 143 |
| Report year | 2026 |
| Profile rows used | 139 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.257 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 1 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 680869 |
| playerID | 680869 |
| playerName | Zack Gelof |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.328 |
| sl_xwoba | 0.3 |
| sl_xba | 0.235 |
| sl_xslg | 0.405 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 46.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.182 | 1.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | 0.819 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.510 | 4.000 | 6.000 | Hitting_AB | 3.492 | 4.000 | 0.508 | 0.000 |
| predicted_AVG | 0.236 | 0.250 | 0.167 | Hitting_AVG | 0.267 | 0.250 | -0.017 | 0.000 |
| predicted_BB | 0.339 | 0.000 | 1.000 | Hitting_BB | 0.337 | 0.000 | -0.337 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_H | 0.720 | 1.000 | 1.000 | Hitting_H | 0.933 | 1.000 | 0.067 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_OBP | 0.290 | 0.250 | 0.286 | Hitting_OBP | 0.336 | 0.250 | -0.086 | 0.000 |
| predicted_R | 0.318 | 1.000 | 0.000 | Hitting_R | 0.316 | 0.000 | 0.684 | 1.000 |
| predicted_RBI | 0.260 | 1.000 | 0.000 | Hitting_RBI | 0.301 | 0.000 | 0.699 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_SLG | 0.322 | 0.500 | 0.167 | Hitting_SLG | 0.346 | 0.250 | 0.154 | 0.250 |
| predicted_SO | 0.505 | 0.000 | 1.000 | Hitting_SO | 0.503 | 0.000 | -0.503 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.1820 -> 1.0000 (boost 0.8180, better) |
| Biggest Deboost | predicted_SO: 0.5050 -> 0.0000 (deboost -0.5050, 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 | 8 | 7 | 1 | 6 | 2 | predicted_AB: 3.5100 -> 6.1861 (boost 2.6761, better) | predicted_SLG: 0.3220 -> 0.3085 (deboost -0.0135, 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.3085 -> 0.2962 (deboost -0.0123, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_BB: 0.5339 -> 1.0000 (boost 0.4661, better) | predicted_RBI: 0.4152 -> 0.0000 (deboost -0.4152, worse) | AB rounded to 6 (raw=6.19), rates preserved: AVG=0.223 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4599 -> 0.0000 (deboost -0.4599, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.2962 -> 0.1670 (deboost -0.1292, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 3 | 3 | 4 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.1670 -> 0.2962 (boost 0.1292, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643446",
"player_name": "Jeff McNeil",
"position": "2B",
"team": "OAK",
"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.182,
"predicted_3B": 0.0,
"predicted_AB": 3.51,
"predicted_AVG": 0.236,
"predicted_BB": 0.339,
"predicted_H": 0.72,
"predicted_HR": 0.06,
"predicted_OBP": 0.29,
"predicted_R": 0.318,
"predicted_RBI": 0.26,
"predicted_SLG": 0.322,
"predicted_SO": 0.505
},
"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.2606,
"predicted_3B": 0.0004,
"predicted_AB": 6.1861,
"predicted_AVG": 0.2339,
"predicted_BB": 0.5356,
"predicted_H": 1.3787,
"predicted_HBP": 0.091,
"predicted_HR": 0.0648,
"predicted_OBP": 0.2904,
"predicted_R": 0.4611,
"predicted_RBI": 0.4162,
"predicted_SLG": 0.3085,
"predicted_SO": 0.8592
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.2606,
"delta": 0.0786,
"percent_delta": 0.4319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.51,
"after": 6.1861,
"delta": 2.6761,
"percent_delta": 0.7624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2339,
"delta": -0.0021,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.339,
"after": 0.5356,
"delta": 0.1966,
"percent_delta": 0.5799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 1.3787,
"delta": 0.6587,
"percent_delta": 0.9149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0648,
"delta": 0.0048,
"percent_delta": 0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2904,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.318,
"after": 0.4611,
"delta": 0.1431,
"percent_delta": 0.45,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.4162,
"delta": 0.1562,
"percent_delta": 0.6008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.3085,
"delta": -0.0135,
"percent_delta": -0.0419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.505,
"after": 0.8592,
"delta": 0.3542,
"percent_delta": 0.7014,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 7,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.51,
"after": 6.1861,
"delta": 2.6761,
"percent_delta": 0.7624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.3085,
"delta": -0.0135,
"percent_delta": -0.0419,
"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": 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.2606,
"predicted_3B": 0.0004,
"predicted_AB": 6.1861,
"predicted_AVG": 0.2227,
"predicted_BB": 0.5339,
"predicted_H": 1.3775,
"predicted_HBP": 0.091,
"predicted_HR": 0.0645,
"predicted_OBP": 0.2844,
"predicted_R": 0.4599,
"predicted_RBI": 0.4152,
"predicted_SLG": 0.2962,
"predicted_SO": 0.8619
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2606,
"after": 0.2606,
"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": 6.1861,
"after": 6.1861,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2339,
"after": 0.2227,
"delta": -0.0112,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5356,
"after": 0.5339,
"delta": -0.0017,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3787,
"after": 1.3775,
"delta": -0.0012,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.091,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0648,
"after": 0.0645,
"delta": -0.0003,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2904,
"after": 0.2844,
"delta": -0.006,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4611,
"after": 0.4599,
"delta": -0.0012,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4162,
"after": 0.4152,
"delta": -0.001,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3085,
"after": 0.2962,
"delta": -0.0123,
"percent_delta": -0.0399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8592,
"after": 0.8619,
"delta": 0.0027,
"percent_delta": 0.0031,
"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.3085,
"after": 0.2962,
"delta": -0.0123,
"percent_delta": -0.0399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.19), rates preserved: AVG=0.223 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2606,
"after": 0.0,
"delta": -0.2606,
"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": 6.1861,
"after": 6.0,
"delta": -0.1861,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5339,
"after": 1.0,
"delta": 0.4661,
"percent_delta": 0.873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3775,
"after": 1.0,
"delta": -0.3775,
"percent_delta": -0.274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0645,
"after": 0.0,
"delta": -0.0645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4152,
"after": 0.0,
"delta": -0.4152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8619,
"after": 1.0,
"delta": 0.1381,
"percent_delta": 0.1602,
"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_BB",
"before": 0.5339,
"after": 1.0,
"delta": 0.4661,
"percent_delta": 0.873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4152,
"after": 0.0,
"delta": -0.4152,
"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": 6.0,
"predicted_BB": 1.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": 6.0,
"after": 6.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.4599,
"after": 0.0,
"delta": -0.4599,
"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.4599,
"after": 0.0,
"delta": -0.4599,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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.2227,
"after": 0.167,
"delta": -0.0557,
"percent_delta": -0.2501,
"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.2844,
"after": 0.286,
"delta": 0.0016,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2962,
"after": 0.167,
"delta": -0.1292,
"percent_delta": -0.4362,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2962,
"after": 0.167,
"delta": -0.1292,
"percent_delta": -0.4362,
"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": 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 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": 4.0,
"predicted_AVG": 0.2227,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2844,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2962,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2227,
"delta": 0.0557,
"percent_delta": 0.3334,
"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.286,
"after": 0.2844,
"delta": -0.0016,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.2962,
"delta": 0.1292,
"percent_delta": 0.7737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.2962,
"delta": 0.1292,
"percent_delta": 0.7737,
"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.182,
"after": 1.0,
"delta": 0.818,
"percent_delta": 4.4945,
"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.51,
"after": 4.0,
"delta": 0.49,
"percent_delta": 0.1396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2227,
"delta": -0.0133,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2844,
"delta": -0.0056,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.318,
"after": 1.0,
"delta": 0.682,
"percent_delta": 2.1447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.2962,
"delta": -0.0258,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.505,
"after": 0.0,
"delta": -0.505,
"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_2B",
"before": 0.182,
"after": 1.0,
"delta": 0.818,
"percent_delta": 4.4945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.505,
"after": 0.0,
"delta": -0.505,
"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.182 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.510 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.339 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.318 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.322 | - |
| predicted_SO | 0.505 | - |
Final model 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.261 | 0.079 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.186 | 2.676 |
| predicted_AVG | 0.234 | -0.002 |
| predicted_BB | 0.536 | 0.197 |
| predicted_H | 1.379 | 0.659 |
| predicted_HBP | 0.091 | - |
| predicted_HR | 0.065 | 0.005 |
| predicted_OBP | 0.290 | 0.000 |
| predicted_R | 0.461 | 0.143 |
| predicted_RBI | 0.416 | 0.156 |
| predicted_SLG | 0.308 | -0.014 |
| predicted_SO | 0.859 | 0.354 |
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.261 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.186 | 0.000 |
| predicted_AVG | 0.223 | -0.011 |
| predicted_BB | 0.534 | -0.002 |
| predicted_H | 1.377 | -0.001 |
| predicted_HBP | 0.091 | 0.000 |
| predicted_HR | 0.065 | -0.000 |
| predicted_OBP | 0.284 | -0.006 |
| predicted_R | 0.460 | -0.001 |
| predicted_RBI | 0.415 | -0.001 |
| predicted_SLG | 0.296 | -0.012 |
| predicted_SO | 0.862 | 0.003 |
AB rounded to 6 (raw=6.19), rates preserved: AVG=0.223 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.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 | 6.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 | 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.261 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 6.000 | -0.186 |
| predicted_AVG | 0.167 | -0.056 |
| predicted_BB | 1.000 | 0.466 |
| predicted_H | 1.000 | -0.377 |
| predicted_HR | 0.000 | -0.065 |
| predicted_OBP | 0.286 | 0.002 |
| predicted_R | 0.000 | -0.460 |
| predicted_RBI | 0.000 | -0.415 |
| predicted_SLG | 0.167 | -0.129 |
| predicted_SO | 1.000 | 0.138 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.1500 | 0.1905 | 0.1500 | 0.1500 | 0.0000 | 0.0000 | 0.0500 | 0.1000 |
| last_10 | 0.20 | 6 | - | 36.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 0.0833 | 0.1081 | 0.0833 | 0.0833 | 0.0000 | 0.0000 | 0.0278 | 0.1389 |
| season | 0.60 | 56 | - | 674.000 | 180.000 | 35.000 | 0.000 | 6.000 | 58.000 | 61.000 | 65.000 | 97.000 | 0.2671 | 0.3355 | 0.3457 | 0.2671 | 0.0089 | 0.0861 | 0.0964 | 0.1439 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3610 |
| predicted_3B | 0.0010 |
| predicted_AB | 9.6080 |
| predicted_AVG | 0.2312 |
| predicted_BB | 0.7870 |
| predicted_H | 2.2210 |
| predicted_HBP | 0.0910 |
| predicted_HR | 0.0710 |
| predicted_OBP | 0.2910 |
| predicted_R | 0.6440 |
| predicted_RBI | 0.6160 |
| predicted_SLG | 0.2912 |
| predicted_SO | 1.3120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.3610 | 0.2606 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5100 | 9.6080 | 6.1861 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2312 | 0.2339 | model_form_blend |
| predicted_BB | 0.3390 | 0.7870 | 0.5356 | model_form_blend |
| predicted_H | 0.7200 | 2.2210 | 1.3787 | model_form_blend |
| predicted_HBP | - | 0.0910 | 0.0910 | form_only |
| predicted_HR | 0.0600 | 0.0710 | 0.0648 | model_form_blend |
| predicted_OBP | 0.2900 | 0.2910 | 0.2904 | model_form_blend |
| predicted_R | 0.3180 | 0.6440 | 0.4611 | model_form_blend |
| predicted_RBI | 0.2600 | 0.6160 | 0.4162 | model_form_blend |
| predicted_SLG | 0.3220 | 0.2912 | 0.3085 | model_form_blend |
| predicted_SO | 0.5050 | 1.3120 | 0.8592 | 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 | 193 |
| Season rows before report date | 193 |
| Report year | 2026 |
| Profile rows used | 192 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.267 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 643446 |
| playerID | 643446 |
| playerName | Jeff McNeil |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 13.3 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.295 |
| sl_xwoba | 0.311 |
| sl_xba | 0.276 |
| sl_xslg | 0.353 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 1.2 |
| sl_hard_hit_percent | 30.9 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 12.0 |
| sl_whiff_percent | 16.4 |
| sl_swing_percent | 54.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.889 | 3.000 | 3.000 | Hitting_AB | 1.857 | 4.000 | 1.143 | -1.000 |
| predicted_AVG | 0.282 | 0.333 | 0.333 | Hitting_AVG | 0.192 | 0.250 | 0.141 | 0.083 |
| predicted_BB | 0.000 | 1.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_H | 0.160 | 1.000 | 1.000 | Hitting_H | 0.357 | 1.000 | 0.643 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.282 | 0.500 | 0.333 | Hitting_OBP | 0.192 | 0.250 | 0.308 | 0.250 |
| predicted_R | 0.111 | 1.000 | 0.000 | Hitting_R | 0.071 | 1.000 | 0.929 | 0.000 |
| predicted_RBI | 0.110 | 0.000 | 0.000 | Hitting_RBI | 0.357 | 1.000 | -0.357 | -1.000 |
| predicted_SLG | 0.334 | 0.333 | 0.333 | Hitting_SLG | 0.192 | 0.250 | 0.141 | 0.083 |
| predicted_SO | 1.111 | 1.000 | 1.000 | Hitting_SO | 0.714 | 2.000 | 0.286 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SLG: 0.3340 -> 0.1543 (deboost -0.1797, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 4 | 3 | 4 | 3 | predicted_H: 0.1600 -> 0.3216 (boost 0.1616, better) | predicted_AVG: 0.2820 -> 0.2604 (deboost -0.0216, 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.3220 -> 0.1543 (deboost -0.1677, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 3 | 0 | 3 | 1 | 2 | - | predicted_H: 0.3213 -> 0.0000 (deboost -0.3213, worse) | AB rounded to 3 (raw=3.04), rates preserved: AVG=0.106 HR/AB=0.013 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.1795 -> 0.0000 (deboost -0.1795, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1056 -> 0.3330 (boost 0.2274, better) | - | 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1056 (deboost -0.2274, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "675961",
"player_name": "Alika Williams",
"position": "SS",
"team": "OAK",
"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.889,
"predicted_AVG": 0.282,
"predicted_BB": 0.0,
"predicted_H": 0.16,
"predicted_HR": 0.03,
"predicted_OBP": 0.282,
"predicted_R": 0.111,
"predicted_RBI": 0.11,
"predicted_SLG": 0.334,
"predicted_SO": 1.111
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0264,
"predicted_3B": 0.0021,
"predicted_AB": 3.0427,
"predicted_AVG": 0.2604,
"predicted_BB": 0.0414,
"predicted_H": 0.3216,
"predicted_HBP": 0.017,
"predicted_HR": 0.0394,
"predicted_OBP": 0.2704,
"predicted_R": 0.1799,
"predicted_RBI": 0.2226,
"predicted_SLG": 0.322,
"predicted_SO": 1.1418
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0264,
"delta": 0.0264,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0021,
"delta": 0.0021,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.889,
"after": 3.0427,
"delta": 0.1537,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2604,
"delta": -0.0216,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0414,
"delta": 0.0414,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.16,
"after": 0.3216,
"delta": 0.1616,
"percent_delta": 1.01,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0394,
"delta": 0.0094,
"percent_delta": 0.3133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2704,
"delta": -0.0116,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.111,
"after": 0.1799,
"delta": 0.0689,
"percent_delta": 0.6207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.2226,
"delta": 0.1126,
"percent_delta": 1.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.322,
"delta": -0.012,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.111,
"after": 1.1418,
"delta": 0.0308,
"percent_delta": 0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.16,
"after": 0.3216,
"delta": 0.1616,
"percent_delta": 1.01,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2604,
"delta": -0.0216,
"percent_delta": -0.0766,
"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.0264,
"predicted_3B": 0.0021,
"predicted_AB": 3.0427,
"predicted_AVG": 0.1056,
"predicted_BB": 0.0413,
"predicted_H": 0.3213,
"predicted_HBP": 0.017,
"predicted_HR": 0.0392,
"predicted_OBP": 0.1176,
"predicted_R": 0.1795,
"predicted_RBI": 0.222,
"predicted_SLG": 0.1543,
"predicted_SO": 1.1453
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0264,
"after": 0.0264,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0021,
"after": 0.0021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0427,
"after": 3.0427,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2604,
"after": 0.1056,
"delta": -0.1548,
"percent_delta": -0.5945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0414,
"after": 0.0413,
"delta": -0.0001,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3216,
"after": 0.3213,
"delta": -0.0003,
"percent_delta": -0.0009,
"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.0394,
"after": 0.0392,
"delta": -0.0002,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2704,
"after": 0.1176,
"delta": -0.1528,
"percent_delta": -0.5651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1799,
"after": 0.1795,
"delta": -0.0004,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2226,
"after": 0.222,
"delta": -0.0006,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.1543,
"delta": -0.1677,
"percent_delta": -0.5208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1418,
"after": 1.1453,
"delta": 0.0035,
"percent_delta": 0.0031,
"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.322,
"after": 0.1543,
"delta": -0.1677,
"percent_delta": -0.5208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.04), rates preserved: AVG=0.106 HR/AB=0.013",
"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.0264,
"after": 0.0,
"delta": -0.0264,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0021,
"after": 0.0,
"delta": -0.0021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0427,
"after": 3.0,
"delta": -0.0427,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0413,
"after": 0.0,
"delta": -0.0413,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3213,
"after": 0.0,
"delta": -0.3213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0392,
"after": 0.0,
"delta": -0.0392,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1453,
"after": 1.0,
"delta": -0.1453,
"percent_delta": -0.1269,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3213,
"after": 0.0,
"delta": -0.3213,
"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.1795,
"after": 0.0,
"delta": -0.1795,
"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.1795,
"after": 0.0,
"delta": -0.1795,
"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.1056,
"after": 0.333,
"delta": 0.2274,
"percent_delta": 2.1534,
"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.1176,
"after": 0.333,
"delta": 0.2154,
"percent_delta": 1.8316,
"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.1543,
"after": 0.333,
"delta": 0.1787,
"percent_delta": 1.1581,
"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.1056,
"after": 0.333,
"delta": 0.2274,
"percent_delta": 2.1534,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.1056,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1176,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1543,
"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.1056,
"delta": -0.2274,
"percent_delta": -0.6829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.1176,
"delta": -0.2154,
"percent_delta": -0.6469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.1543,
"delta": -0.1787,
"percent_delta": -0.5366,
"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.1056,
"delta": -0.2274,
"percent_delta": -0.6829,
"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.889,
"after": 3.0,
"delta": 0.111,
"percent_delta": 0.0384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.1056,
"delta": -0.1764,
"percent_delta": -0.6255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.1176,
"delta": -0.1644,
"percent_delta": -0.583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.111,
"after": 1.0,
"delta": 0.889,
"percent_delta": 8.009,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.1543,
"delta": -0.1797,
"percent_delta": -0.538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.111,
"after": 1.0,
"delta": -0.111,
"percent_delta": -0.0999,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.1543,
"delta": -0.1797,
"percent_delta": -0.538,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.889 | - |
| predicted_AVG | 0.282 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.160 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.111 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.334 | - |
| predicted_SO | 1.111 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.026 | 0.026 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.043 | 0.154 |
| predicted_AVG | 0.260 | -0.022 |
| predicted_BB | 0.041 | 0.041 |
| predicted_H | 0.322 | 0.162 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.039 | 0.009 |
| predicted_OBP | 0.270 | -0.012 |
| predicted_R | 0.180 | 0.069 |
| predicted_RBI | 0.223 | 0.113 |
| predicted_SLG | 0.322 | -0.012 |
| predicted_SO | 1.142 | 0.031 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.026 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.043 | 0.000 |
| predicted_AVG | 0.106 | -0.155 |
| predicted_BB | 0.041 | -0.000 |
| predicted_H | 0.321 | -0.000 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.039 | -0.000 |
| predicted_OBP | 0.118 | -0.153 |
| predicted_R | 0.179 | -0.000 |
| predicted_RBI | 0.222 | -0.001 |
| predicted_SLG | 0.154 | -0.168 |
| predicted_SO | 1.145 | 0.004 |
AB rounded to 3 (raw=3.04), rates preserved: AVG=0.106 HR/AB=0.013
| 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.043 |
| predicted_AVG | 0.333 | 0.227 |
| predicted_BB | 0.000 | -0.041 |
| predicted_H | 1.000 | 0.679 |
| predicted_HR | 0.000 | -0.039 |
| predicted_OBP | 0.333 | 0.215 |
| predicted_R | 0.000 | -0.179 |
| predicted_RBI | 0.000 | -0.222 |
| predicted_SLG | 0.333 | 0.179 |
| predicted_SO | 1.000 | -0.145 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 7.000 | 0.1538 | 0.1538 | 0.1538 | 0.1538 | 0.0000 | 0.1538 | 0.0000 | 0.5385 |
| last_10 | 0.20 | 6 | - | 26.000 | 5.000 | 0.000 | 0.000 | 0.000 | 5.000 | 1.000 | 0.000 | 10.000 | 0.1923 | 0.1923 | 0.1923 | 0.1923 | 0.0000 | 0.1923 | 0.0000 | 0.3846 |
| season | 0.60 | 6 | - | 26.000 | 5.000 | 0.000 | 0.000 | 0.000 | 5.000 | 1.000 | 0.000 | 10.000 | 0.1923 | 0.1923 | 0.1923 | 0.1923 | 0.0000 | 0.1923 | 0.0000 | 0.3846 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0900 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.4130 |
| predicted_AVG | 0.2084 |
| predicted_BB | 0.1410 |
| predicted_H | 0.7110 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.2424 |
| predicted_R | 0.3460 |
| predicted_RBI | 0.4940 |
| predicted_SLG | 0.2931 |
| predicted_SO | 1.2160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0900 | 0.0264 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0021 | model_form_blend |
| predicted_AB | 2.8890 | 3.4130 | 3.0427 | model_form_blend |
| predicted_AVG | 0.2820 | 0.2084 | 0.2604 | model_form_blend |
| predicted_BB | 0.0000 | 0.1410 | 0.0414 | model_form_blend |
| predicted_H | 0.1600 | 0.7110 | 0.3216 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0300 | 0.0620 | 0.0394 | model_form_blend |
| predicted_OBP | 0.2820 | 0.2424 | 0.2704 | model_form_blend |
| predicted_R | 0.1110 | 0.3460 | 0.1799 | model_form_blend |
| predicted_RBI | 0.1100 | 0.4940 | 0.2226 | model_form_blend |
| predicted_SLG | 0.3340 | 0.2931 | 0.3220 | model_form_blend |
| predicted_SO | 1.1110 | 1.2160 | 1.1418 | 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 | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 9 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.192 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 675961 |
| playerID | 675961 |
| playerName | Alika Williams |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 50.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.128 |
| sl_xwoba | 0.127 |
| sl_xba | 0.128 |
| sl_xslg | 0.162 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 42.9 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 25.0 |
| sl_whiff_percent | 40.0 |
| sl_swing_percent | 45.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.000 | 3.000 | 0.000 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.462 | 0.000 | 0.538 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 3.231 | 4.000 | -0.231 | -1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 4.446 | 6.000 | 0.754 | -0.800 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 4.000 | 4.000 | 3.000 | 3.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 | pitcher_quality_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669372",
"player_name": "J.T. Ginn",
"position": "Starter",
"team": "OAK",
"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": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_SO": 7.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": 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": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 2.0,
"predicted_SO": 7.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": 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.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.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": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 7.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 7.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 | 30.100 | 5.000 | 19.000 | 12.000 | 29.000 | 2.000 | 1.4835 | 1.0220 | 0.1648 | 0.6264 | 0.3956 | 0.9560 | 0.0659 |
| last_10 | 0.35 | 10 | 52.200 | 15.000 | 36.000 | 24.000 | 48.000 | 5.000 | 2.5633 | 1.1392 | 0.2848 | 0.6835 | 0.4557 | 0.9114 | 0.0949 |
| season | 0.20 | 13 | 59.200 | 19.000 | 42.000 | 26.000 | 52.000 | 6.000 | 2.8659 | 1.1397 | 0.3184 | 0.7039 | 0.4358 | 0.8715 | 0.1006 |
| Metric | Value |
|---|---|
| predicted_BB | 2.2660 |
| predicted_ER | 1.6950 |
| predicted_ERA | 2.7504 |
| predicted_H | 4.1240 |
| predicted_HR | 0.5440 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.1490 |
| predicted_WHIP | 1.1522 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.2660 | 2.1417 | model_form_blend |
| predicted_ER | 2.0000 | 1.6950 | 1.8375 | model_form_blend |
| predicted_ERA | - | 2.7504 | 2.7504 | form_only |
| predicted_H | 3.0000 | 4.1240 | 3.5987 | model_form_blend |
| predicted_HR | 0.0000 | 0.5440 | 0.2898 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 7.0000 | 5.1490 | 6.0141 | model_form_blend |
| predicted_WHIP | - | 1.1522 | 1.1522 | 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 | 13 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 7 |
| HR | 0 |
| BF | 22 |
| Pitches | 94 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.87 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 8 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 80 |
| Pitching_R | 1 |
| Pitching_SO | 4 |
| Pitching_Strikes | 51 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260530_NYY@OAK |
| game_type | full |
| mlbID | 669372 |
| playerID | 669372 |
| playerName | J.T. Ginn |
| pos | P |
| started | True |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-05-30 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.284 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 35.6 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 45.6 |
| sl_avg_best_speed | 75.798138861 |
| sl_avg_hyper_speed | 93.487757468 |
| 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.688 | 0.000 | 0.312 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.688 | 0.000 | 0.312 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.709 | 1.000 | 0.291 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.031 | 2.000 | -0.031 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663687",
"player_name": "Hogan Harris",
"position": "Middle Reliever",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 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 | 4.200 | 0.000 | 1.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.2143 | 0.2143 | 1.2857 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 2.000 | 5.000 | 5.000 | 11.000 | 0.000 | 2.1600 | 1.2000 | 0.2400 | 0.6000 | 0.6000 | 1.3200 | 0.0000 |
| season | 0.20 | 32 | 29.000 | 8.000 | 22.000 | 22.000 | 33.000 | 2.000 | 2.4828 | 1.5172 | 0.2759 | 0.7586 | 0.7586 | 1.1379 | 0.0690 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3900 |
| predicted_ER | 0.2810 |
| predicted_ERA | 2.6935 |
| predicted_H | 0.6470 |
| predicted_HR | 0.0670 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0460 |
| predicted_WHIP | 1.1058 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3900 | 0.7237 | model_form_blend |
| predicted_ER | 0.0000 | 0.2810 | 0.1273 | model_form_blend |
| predicted_ERA | - | 2.6935 | 2.6935 | form_only |
| predicted_H | 1.0000 | 0.6470 | 0.8401 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0304 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0460 | 1.0208 | model_form_blend |
| predicted_WHIP | - | 1.1058 | 1.1058 | 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 | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.48 |
| 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 | 17 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 663687 |
| playerID | 663687 |
| playerName | Hogan Harris |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 16.5 |
| sl_woba | 0.298 |
| sl_xwoba | 0.29 |
| sl_sweet_spot_percent | 23.7 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 26.3 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 41.9 |
| sl_avg_best_speed | 74.631282632 |
| sl_avg_hyper_speed | 92.292374267 |
| 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.296 | 0.000 | -0.296 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.037 | 0.000 | -1.037 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.826 | 0.200 | 0.274 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.926 | 0.000 | -0.926 | 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": "643410",
"player_name": "Mark Leiter Jr.",
"position": "Middle Reliever",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 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": 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 | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 0.000 | 2.000 | 2.000 | 2.000 | 0.000 | 0.0000 | 0.8571 | 0.0000 | 0.4286 | 0.4286 | 0.4286 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 2.000 | 7.000 | 2.000 | 9.000 | 0.000 | 1.6875 | 0.8438 | 0.1875 | 0.6562 | 0.1875 | 0.8438 | 0.0000 |
| season | 0.20 | 27 | 25.100 | 15.000 | 28.000 | 8.000 | 25.000 | 2.000 | 5.3289 | 1.4211 | 0.5921 | 1.1053 | 0.3158 | 0.9868 | 0.0790 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3440 |
| predicted_ER | 0.3330 |
| predicted_ERA | 2.9995 |
| predicted_H | 0.8000 |
| predicted_HR | 0.0760 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8130 |
| predicted_WHIP | 1.1440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3440 | 0.1509 | model_form_blend |
| predicted_ER | 0.0000 | 0.3330 | 0.1461 | model_form_blend |
| predicted_ERA | - | 2.9995 | 2.9995 | form_only |
| predicted_H | 0.0000 | 0.8000 | 0.3510 | model_form_blend |
| predicted_HR | 0.0000 | 0.0760 | 0.0333 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8130 | 0.3567 | model_form_blend |
| predicted_WHIP | - | 1.1440 | 1.1440 | 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 | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 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 | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.33 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 4 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 643410 |
| playerID | 643410 |
| playerName | Mark Leiter Jr. |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.321 |
| sl_xwoba | 0.332 |
| sl_sweet_spot_percent | 42.1 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 31.6 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 46.5 |
| sl_avg_best_speed | 76.186766579 |
| sl_avg_hyper_speed | 92.880441842 |
| 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.536 | 1.000 | -0.536 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.321 | 0.000 | -0.321 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.464 | 1.000 | -0.464 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.814 | 0.200 | 0.186 | 0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.821 | 1.000 | -0.821 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "605130",
"player_name": "Scott Barlow",
"position": "Middle Reliever",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 1.000 | 2.000 | 6.000 | 2.000 | 1.000 | 2.4545 | 2.1818 | 0.2727 | 0.5454 | 1.6364 | 0.5454 | 0.2727 |
| last_10 | 0.35 | 10 | 8.100 | 2.000 | 6.000 | 6.000 | 6.000 | 1.000 | 2.1600 | 1.4400 | 0.2400 | 0.7200 | 0.7200 | 0.7200 | 0.1200 |
| season | 0.20 | 27 | 27.000 | 5.000 | 11.000 | 13.000 | 23.000 | 2.000 | 1.6667 | 0.8889 | 0.1852 | 0.4074 | 0.4815 | 0.8518 | 0.0741 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6360 |
| predicted_ER | 0.3100 |
| predicted_ERA | 3.2341 |
| predicted_H | 0.6570 |
| predicted_HR | 0.1370 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6900 |
| predicted_WHIP | 1.4986 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6360 | 0.2833 | model_form_blend |
| predicted_ER | 0.0000 | 0.3100 | 0.1381 | model_form_blend |
| predicted_ERA | - | 3.2341 | 3.2341 | form_only |
| predicted_H | 0.0000 | 0.6570 | 0.2927 | model_form_blend |
| predicted_HR | 0.0000 | 0.1370 | 0.0610 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6900 | 0.3074 | model_form_blend |
| predicted_WHIP | - | 1.4986 | 1.4986 | 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 | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.00 |
| 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 | 0.2 |
| Pitching_Pitches | 17 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260602_OAK@CHC |
| game_type | full |
| mlbID | 605130 |
| playerID | 605130 |
| playerName | Scott Barlow |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-02 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 13.9 |
| sl_woba | 0.271 |
| sl_xwoba | 0.304 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 31.0 |
| sl_whiff_percent | 35.7 |
| sl_swing_percent | 42.4 |
| sl_avg_best_speed | 77.445831667 |
| sl_avg_hyper_speed | 92.756638592 |
| Field | Value |
|---|---|
| Pitcher | Shota Imanaga |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0641 |
| ESPN Rank | 381 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1501 |
| Avg Velo | 87.0202 |
| Avg Spin | 1981.9146 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 7 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 4.3714 |
| Season WHIP | 1.0714 |
| Role Avg IP | 5.8330 |
| Recent Avg IP | 5.7330 |
| Last Start IP | 5.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 70,
"wins": 35,
"losses": 35,
"win_pct": 0.5,
"runs_scored": 342.0,
"runs_allowed": 317.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3571,
"avg_runs_scored": 4.8857,
"avg_runs_allowed": 4.5286,
"offense_index": 1.0947,
"defense_index": 0.9856,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.7,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.026
},
"opponent": {
"team": "OAK",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 289.0,
"runs_allowed": 319.0,
"run_differential": -30.0,
"run_differential_per_game": -0.4545,
"avg_runs_scored": 4.3788,
"avg_runs_allowed": 4.8333,
"offense_index": 0.9811,
"defense_index": 0.9234,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 5.6,
"run_differential": -24.0
},
"available": true,
"quality_score": -0.1039
},
"edges": {
"quality_edge": 0.0779,
"offense_edge": 0.0947,
"opponent_offense_edge": -0.0189,
"defense_strength": -0.0144,
"opponent_defense_weakness": 0.0766,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0034,
"run_prevention": 0.9945,
"strikeout": 1.0038
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "684007",
"profile": {
"available": true,
"pitcher_id": "684007",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 261.0,
"k_percent": 24.3,
"bb_percent": 6.3,
"woba": 0.306,
"xwoba": 0.306,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 40.7,
"avg_best_speed": 78.8221,
"avg_hyper_speed": 94.1964,
"whiff_percent": 30.0,
"swing_percent": 50.3
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.0826,
"command_and_miss": 0.4707,
"regression_edge": 0.0,
"xwoba_edge": 0.2571,
"barrel_edge": -0.8,
"hard_hit_edge": -0.3286,
"whiff_edge": 0.6,
"bb_edge": 0.725,
"pitch_design_score": -0.1501
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "684007",
"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.02019971026674,
"release_spin_rate": 1981.91457318582,
"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.02019971026674,
"release_spin_rate": 1981.91457318582,
"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.0202,
"release_spin_rate": 1981.9146,
"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.1501,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.072,
"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.0641,
"sample_weight": 1.0,
"run_prevention_factor": 0.9946,
"strikeout_factor": 1.0343,
"walk_factor": 0.942,
"homer_factor": 1.0694,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "684007",
"espn_id": 5134630,
"player_name": "Shota Imanaga",
"team": "CHC",
"role": "pitcher",
"espn_rank": 381,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 381,
"gp_value": 12.0,
"gp_rank": 254,
"gs_value": 12.0,
"gs_rank": 23,
"qs_value": 6.0,
"qs_rank": 24,
"era_value": 4.3714,
"era_rank": 56.0,
"w_value": 4.0,
"w_rank": 46,
"l_value": 6.0,
"l_rank": 8,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 70.0,
"ip_rank": 25,
"h_value": 57.0,
"h_rank": 68,
"er_value": 34.0,
"er_rank": 23,
"hr_value": 13.0,
"hr_rank": 9,
"bb_value": 18.0,
"bb_rank": 99,
"k_value": 69.0,
"k_rank": 34,
"k_per_9_value": 8.8714285,
"k_per_9_rank": 36,
"whip_value": 1.0714,
"whip_rank": 17.0,
"war_value": 0.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 0.9946,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 0.9946,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.942,
"adjusted": 2
},
"predicted_HR": {
"original": 2.0,
"factor": 1.0694,
"adjusted": 2
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0343,
"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": 60.0,
"ER": 29,
"H": 48,
"BB": 15,
"SO": 58,
"HR": 12,
"ERA": 4.35,
"WHIP": 1.05,
"K9": 8.7,
"HR9": 1.8,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "684007",
"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.02019971026674,
"release_spin_rate": 1981.91457318582,
"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.02019971026674,
"release_spin_rate": 1981.91457318582,
"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.0202,
"release_spin_rate": 1981.9146,
"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.1501,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.072,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"role": "pitcher",
"player_id": "684007",
"report_date": "20260604_O",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.2,
"ER": 23.0,
"R": 23.0,
"H": 32.0,
"BB": 8.0,
"SO": 26.0,
"HR": 10.0,
"BF": 125.0,
"Pitches": 443.0
},
"per_game": {
"IP": 5.2,
"ER": 4.6,
"R": 4.6,
"H": 6.4,
"BB": 1.6,
"SO": 5.2,
"HR": 2.0,
"BF": 25.0,
"Pitches": 88.6
},
"rates": {
"ERA": 7.2209,
"WHIP": 1.3953,
"ER_per_IP": 0.80233,
"H_per_IP": 1.11628,
"BB_per_IP": 0.27907,
"SO_per_IP": 0.90698,
"HR_per_IP": 0.34884
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 60.0,
"ER": 29.0,
"R": 30.0,
"H": 48.0,
"BB": 15.0,
"SO": 58.0,
"HR": 12.0,
"BF": 243.0,
"Pitches": 914.0
},
"per_game": {
"IP": 6.0,
"ER": 2.9,
"R": 3.0,
"H": 4.8,
"BB": 1.5,
"SO": 5.8,
"HR": 1.2,
"BF": 24.3,
"Pitches": 91.4
},
"rates": {
"ERA": 4.35,
"WHIP": 1.05,
"ER_per_IP": 0.48333,
"H_per_IP": 0.8,
"BB_per_IP": 0.25,
"SO_per_IP": 0.96667,
"HR_per_IP": 0.2
}
},
"season": {
"games": 12,
"totals": {
"IP": 70.0,
"ER": 34.0,
"R": 35.0,
"H": 57.0,
"BB": 18.0,
"SO": 69.0,
"HR": 13.0,
"BF": 284.0,
"Pitches": 1088.0
},
"per_game": {
"IP": 6.0,
"ER": 2.8333,
"R": 2.9167,
"H": 4.75,
"BB": 1.5,
"SO": 5.75,
"HR": 1.0833,
"BF": 23.6667,
"Pitches": 90.6667
},
"rates": {
"ERA": 4.3714,
"WHIP": 1.0714,
"ER_per_IP": 0.48571,
"H_per_IP": 0.81429,
"BB_per_IP": 0.25714,
"SO_per_IP": 0.98571,
"HR_per_IP": 0.18571
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 3.389,
"predicted_H": 5.497,
"predicted_BB": 1.708,
"predicted_SO": 5.465,
"predicted_HR": 1.314,
"predicted_ERA": 5.2628,
"predicted_WHIP": 1.2429
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7059,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 3.389,
"final": 3.6788,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.497,
"final": 6.2098,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.708,
"final": 1.3722,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.465,
"final": 4.7702,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 1.314,
"final": 0.6908,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.2628,
"final": 5.2628,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2429,
"final": 1.2429,
"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 | Caleb Thielbar |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0272 |
| ESPN Rank | 413 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0931 |
| Avg Velo | 88.0381 |
| Avg Spin | 2392.8065 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.3750 |
| Season WHIP | 1.3500 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 70,
"wins": 35,
"losses": 35,
"win_pct": 0.5,
"runs_scored": 342.0,
"runs_allowed": 317.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3571,
"avg_runs_scored": 4.8857,
"avg_runs_allowed": 4.5286,
"offense_index": 1.0947,
"defense_index": 0.9856,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.7,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.026
},
"opponent": {
"team": "OAK",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 289.0,
"runs_allowed": 319.0,
"run_differential": -30.0,
"run_differential_per_game": -0.4545,
"avg_runs_scored": 4.3788,
"avg_runs_allowed": 4.8333,
"offense_index": 0.9811,
"defense_index": 0.9234,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 5.6,
"run_differential": -24.0
},
"available": true,
"quality_score": -0.1039
},
"edges": {
"quality_edge": 0.0779,
"offense_edge": 0.0947,
"opponent_offense_edge": -0.0189,
"defense_strength": -0.0144,
"opponent_defense_weakness": 0.0766,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0034,
"run_prevention": 0.9945,
"strikeout": 1.0038
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "573204",
"profile": {
"available": true,
"pitcher_id": "573204",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 52.0,
"k_percent": 25.4,
"bb_percent": 11.9,
"woba": 0.331,
"xwoba": 0.314,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.1686,
"avg_hyper_speed": 94.8601,
"whiff_percent": 24.6,
"swing_percent": 52.1
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.1776,
"command_and_miss": -0.0086,
"regression_edge": 0.4857,
"xwoba_edge": 0.0286,
"barrel_edge": -0.8667,
"hard_hit_edge": 0.0857,
"whiff_edge": -0.1714,
"bb_edge": -0.675,
"pitch_design_score": -0.0931
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "573204",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 88.0381017132449,
"release_spin_rate": 2392.8064756255285,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 88.0381017132449,
"release_spin_rate": 2392.8064756255285,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.0381,
"release_spin_rate": 2392.8065,
"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.0931,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6649,
"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.0272,
"sample_weight": 0.45,
"run_prevention_factor": 1.0023,
"strikeout_factor": 1.0044,
"walk_factor": 1.0243,
"homer_factor": 1.0293,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573204",
"espn_id": 32440,
"player_name": "Caleb Thielbar",
"team": "CHC",
"role": "pitcher",
"espn_rank": 413,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 413,
"gp_value": 16.0,
"gp_rank": 191,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.05,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 13.1,
"ip_rank": 419,
"h_value": 12.0,
"h_rank": 410,
"er_value": 6.0,
"er_rank": 404,
"hr_value": 3.0,
"hr_rank": 207,
"bb_value": 8.0,
"bb_rank": 312,
"k_value": 15.0,
"k_rank": 371,
"k_per_9_value": 10.125,
"k_per_9_rank": 23,
"whip_value": 1.5,
"whip_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.001,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.001,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0109,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0132,
"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.0,
"ER": 3,
"H": 8,
"BB": 4,
"SO": 9,
"HR": 1,
"ERA": 3.375,
"WHIP": 1.5,
"K9": 10.125,
"HR9": 1.125,
"games_pitched": 9,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "573204",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 88.0381017132449,
"release_spin_rate": 2392.8064756255285,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 88.0381017132449,
"release_spin_rate": 2392.8064756255285,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.0381,
"release_spin_rate": 2392.8065,
"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.0931,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6649,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 2.632,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3448,
"prior_weight": 0.6552
},
"role": "pitcher",
"player_id": "573204",
"report_date": "20260604_O",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 3.0,
"SO": 4.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.2,
"BB": 0.6,
"SO": 0.8,
"HR": 0.2,
"BF": 4.4,
"Pitches": 19.0
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.9286,
"ER_per_IP": 0.64286,
"H_per_IP": 1.28571,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 4.0,
"H": 8.0,
"BB": 5.0,
"SO": 12.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 168.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.8,
"BB": 0.5,
"SO": 1.2,
"HR": 0.1,
"BF": 4.0,
"Pitches": 16.8
},
"rates": {
"ERA": 3.0,
"WHIP": 1.4444,
"ER_per_IP": 0.33333,
"H_per_IP": 0.88889,
"BB_per_IP": 0.55556,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 15,
"totals": {
"IP": 13.1,
"ER": 5.0,
"R": 6.0,
"H": 11.0,
"BB": 7.0,
"SO": 15.0,
"HR": 2.0,
"BF": 58.0,
"Pitches": 248.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3333,
"R": 0.4,
"H": 0.7333,
"BB": 0.4667,
"SO": 1.0,
"HR": 0.1333,
"BF": 3.8667,
"Pitches": 16.5333
},
"rates": {
"ERA": 3.375,
"WHIP": 1.35,
"ER_per_IP": 0.375,
"H_per_IP": 0.825,
"BB_per_IP": 0.525,
"SO_per_IP": 1.125,
"HR_per_IP": 0.15
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.482,
"predicted_H": 0.99,
"predicted_BB": 0.443,
"predicted_SO": 0.988,
"predicted_HR": 0.147,
"predicted_ERA": 4.3378,
"predicted_WHIP": 1.4333
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6268,
"form_weight": 0.3732,
"form_reliability": 0.3448,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.632,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3448,
"prior_weight": 0.6552
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.482,
"final": 0.1799,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.99,
"final": 0.3694,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.443,
"final": 0.1653,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.988,
"final": 1.6223,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.147,
"final": 0.0549,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3378,
"final": 4.3378,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4333,
"final": 1.4333,
"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 | Daniel Palencia |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1552 |
| ESPN Rank | 200 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 97.1685 |
| Avg Spin | 2210.5891 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.9756 |
| Season WHIP | 1.2439 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 70,
"wins": 35,
"losses": 35,
"win_pct": 0.5,
"runs_scored": 342.0,
"runs_allowed": 317.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3571,
"avg_runs_scored": 4.8857,
"avg_runs_allowed": 4.5286,
"offense_index": 1.0947,
"defense_index": 0.9856,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.7,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.026
},
"opponent": {
"team": "OAK",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 289.0,
"runs_allowed": 319.0,
"run_differential": -30.0,
"run_differential_per_game": -0.4545,
"avg_runs_scored": 4.3788,
"avg_runs_allowed": 4.8333,
"offense_index": 0.9811,
"defense_index": 0.9234,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 5.6,
"run_differential": -24.0
},
"available": true,
"quality_score": -0.1039
},
"edges": {
"quality_edge": 0.0779,
"offense_edge": 0.0947,
"opponent_offense_edge": -0.0189,
"defense_strength": -0.0144,
"opponent_defense_weakness": 0.0766,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0034,
"run_prevention": 0.9945,
"strikeout": 1.0038
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694037",
"profile": {
"available": true,
"pitcher_id": "694037",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 40.0,
"k_percent": 25.0,
"bb_percent": 7.1,
"woba": 0.307,
"xwoba": 0.296,
"sweet_spot_percent": 52.6,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 26.3,
"avg_best_speed": 79.226,
"avg_hyper_speed": 92.8372,
"whiff_percent": 34.5,
"swing_percent": 52.3
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.1944,
"command_and_miss": 0.7007,
"regression_edge": 0.3143,
"xwoba_edge": 0.5429,
"barrel_edge": -0.1556,
"hard_hit_edge": 1.7286,
"whiff_edge": 1.2429,
"bb_edge": 0.525,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694037",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 97.16845510698452,
"release_spin_rate": 2210.58908289423,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 97.16845510698452,
"release_spin_rate": 2210.58908289423,
"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": 97.1685,
"release_spin_rate": 2210.5891,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1552,
"sample_weight": 0.45,
"run_prevention_factor": 0.9868,
"strikeout_factor": 1.0288,
"walk_factor": 0.9811,
"homer_factor": 0.9672,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694037",
"espn_id": 4875225,
"player_name": "Daniel Palencia",
"team": "CHC",
"role": "pitcher",
"espn_rank": 200,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 200,
"gp_value": 15.0,
"gp_rank": 202,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 1.9756,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 3.0,
"sv_rank": 40,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 13.2,
"ip_rank": 416,
"h_value": 13.0,
"h_rank": 395,
"er_value": 3.0,
"er_rank": 523,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 4.0,
"bb_rank": 462,
"k_value": 14.0,
"k_rank": 387,
"k_per_9_value": 9.219512,
"k_per_9_rank": 25,
"whip_value": 1.2439,
"whip_rank": null,
"war_value": 0.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9852,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.013,
"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": 3,
"H": 10,
"BB": 2,
"SO": 9,
"HR": 2,
"ERA": 3.1153846153846154,
"WHIP": 1.3846153846153848,
"K9": 9.346153846153847,
"HR9": 2.076923076923077,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "694037",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 97.16845510698452,
"release_spin_rate": 2210.58908289423,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 97.16845510698452,
"release_spin_rate": 2210.58908289423,
"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": 97.1685,
"release_spin_rate": 2210.5891,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 2.697,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3504,
"prior_weight": 0.6496
},
"role": "pitcher",
"player_id": "694037",
"report_date": "20260604_O",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.6
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.2857,
"ER_per_IP": 0.21429,
"H_per_IP": 1.07143,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 3.0,
"R": 3.0,
"H": 10.0,
"BB": 2.0,
"SO": 9.0,
"HR": 2.0,
"BF": 37.0,
"Pitches": 145.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.0,
"BB": 0.2,
"SO": 0.9,
"HR": 0.2,
"BF": 3.7,
"Pitches": 14.5
},
"rates": {
"ERA": 3.1154,
"WHIP": 1.3846,
"ER_per_IP": 0.34615,
"H_per_IP": 1.15385,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.23077
}
},
"season": {
"games": 15,
"totals": {
"IP": 13.2,
"ER": 3.0,
"R": 3.0,
"H": 13.0,
"BB": 4.0,
"SO": 14.0,
"HR": 2.0,
"BF": 56.0,
"Pitches": 216.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8667,
"BB": 0.2667,
"SO": 0.9333,
"HR": 0.1333,
"BF": 3.7333,
"Pitches": 14.4
},
"rates": {
"ERA": 1.9756,
"WHIP": 1.2439,
"ER_per_IP": 0.21951,
"H_per_IP": 0.95122,
"BB_per_IP": 0.29268,
"SO_per_IP": 1.02439,
"HR_per_IP": 0.14634
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.405,
"predicted_H": 0.998,
"predicted_BB": 0.321,
"predicted_SO": 0.979,
"predicted_HR": 0.161,
"predicted_ERA": 3.6456,
"predicted_WHIP": 1.319
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6245,
"form_weight": 0.3755,
"form_reliability": 0.3504,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.697,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3504,
"prior_weight": 0.6496
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.405,
"final": 0.1521,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.998,
"final": 0.9992,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.321,
"final": 0.1205,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.979,
"final": 0.3677,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.161,
"final": 0.0605,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6456,
"final": 3.6456,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.319,
"final": 1.319,
"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 | Jacob Webb |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0533 |
| ESPN Rank | 284 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0261 |
| Avg Velo | 89.2337 |
| Avg Spin | 2395.7821 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.4545 |
| Season WHIP | 1.3247 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 70,
"wins": 35,
"losses": 35,
"win_pct": 0.5,
"runs_scored": 342.0,
"runs_allowed": 317.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3571,
"avg_runs_scored": 4.8857,
"avg_runs_allowed": 4.5286,
"offense_index": 1.0947,
"defense_index": 0.9856,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.7,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.026
},
"opponent": {
"team": "OAK",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 289.0,
"runs_allowed": 319.0,
"run_differential": -30.0,
"run_differential_per_game": -0.4545,
"avg_runs_scored": 4.3788,
"avg_runs_allowed": 4.8333,
"offense_index": 0.9811,
"defense_index": 0.9234,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 5.6,
"run_differential": -24.0
},
"available": true,
"quality_score": -0.1039
},
"edges": {
"quality_edge": 0.0779,
"offense_edge": 0.0947,
"opponent_offense_edge": -0.0189,
"defense_strength": -0.0144,
"opponent_defense_weakness": 0.0766,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0034,
"run_prevention": 0.9945,
"strikeout": 1.0038
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657097",
"profile": {
"available": true,
"pitcher_id": "657097",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 101.0,
"k_percent": 29.1,
"bb_percent": 8.2,
"woba": 0.3,
"xwoba": 0.326,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 46.4,
"avg_best_speed": 79.8349,
"avg_hyper_speed": 95.223,
"whiff_percent": 32.6,
"swing_percent": 52.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4532,
"command_and_miss": 0.8143,
"regression_edge": -0.7429,
"xwoba_edge": -0.3143,
"barrel_edge": -0.6889,
"hard_hit_edge": -1.1429,
"whiff_edge": 0.9714,
"bb_edge": 0.25,
"pitch_design_score": -0.0261
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657097",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 89.23370860093821,
"release_spin_rate": 2395.782062758799,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 89.23370860093821,
"release_spin_rate": 2395.782062758799,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2337,
"release_spin_rate": 2395.7821,
"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.0261,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1866,
"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.0533,
"sample_weight": 0.45,
"run_prevention_factor": 1.0045,
"strikeout_factor": 1.0345,
"walk_factor": 0.991,
"homer_factor": 1.0496,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657097",
"espn_id": 40384,
"player_name": "Jacob Webb",
"team": "CHC",
"role": "pitcher",
"espn_rank": 284,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 284,
"gp_value": 26.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.4545,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 4.0,
"hld_rank": 99,
"ip_value": 25.2,
"ip_rank": 249,
"h_value": 25.0,
"h_rank": 214,
"er_value": 7.0,
"er_rank": 363,
"hr_value": 3.0,
"hr_rank": 207,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 32.0,
"k_rank": 174,
"k_per_9_value": 11.220778,
"k_per_9_rank": 18,
"whip_value": 1.3246,
"whip_rank": null,
"war_value": 0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0223,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0155,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 1,
"H": 9,
"BB": 2,
"SO": 15,
"HR": 0,
"ERA": 0.870967741935484,
"WHIP": 1.0645161290322582,
"K9": 13.06451612903226,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "657097",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 89.23370860093821,
"release_spin_rate": 2395.782062758799,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 89.23370860093821,
"release_spin_rate": 2395.782062758799,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2337,
"release_spin_rate": 2395.7821,
"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.0261,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1866,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5033,
"prior_weight": 0.4967
},
"role": "pitcher",
"player_id": "657097",
"report_date": "20260604_O",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 1.0,
"SO": 9.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 90.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 1.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 18.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 1.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 1.0,
"R": 1.0,
"H": 9.0,
"BB": 2.0,
"SO": 15.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 185.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.9,
"BB": 0.2,
"SO": 1.5,
"HR": 0.0,
"BF": 4.2,
"Pitches": 18.5
},
"rates": {
"ERA": 0.871,
"WHIP": 1.0645,
"ER_per_IP": 0.09677,
"H_per_IP": 0.87097,
"BB_per_IP": 0.19355,
"SO_per_IP": 1.45161,
"HR_per_IP": 0.0
}
},
"season": {
"games": 26,
"totals": {
"IP": 25.2,
"ER": 7.0,
"R": 10.0,
"H": 25.0,
"BB": 9.0,
"SO": 32.0,
"HR": 3.0,
"BF": 110.0,
"Pitches": 465.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2692,
"R": 0.3846,
"H": 0.9615,
"BB": 0.3462,
"SO": 1.2308,
"HR": 0.1154,
"BF": 4.2308,
"Pitches": 17.8846
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.3247,
"ER_per_IP": 0.27273,
"H_per_IP": 0.97403,
"BB_per_IP": 0.35065,
"SO_per_IP": 1.24675,
"HR_per_IP": 0.11688
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.284,
"predicted_H": 0.862,
"predicted_BB": 0.297,
"predicted_SO": 1.256,
"predicted_HR": 0.08,
"predicted_ERA": 2.5575,
"predicted_WHIP": 1.1591
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5599,
"form_weight": 0.4401,
"form_reliability": 0.5033,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5033,
"prior_weight": 0.4967
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.284,
"final": 0.125,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.862,
"final": 0.3794,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.297,
"final": 0.1307,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.256,
"final": 1.1127,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.08,
"final": 0.0352,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5575,
"final": 2.5575,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1591,
"final": 1.1591,
"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.135 | 0.000 | 0.000 | Hitting_2B | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.370 | 3.000 | 9.000 | Hitting_AB | 4.131 | 4.000 | -1.131 | -1.000 |
| predicted_AVG | 0.231 | 0.000 | 0.222 | Hitting_AVG | 0.261 | 0.250 | -0.261 | -0.250 |
| predicted_BB | 0.510 | 1.000 | 1.000 | Hitting_BB | 0.510 | 1.000 | 0.490 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 1.010 | 0.000 | 2.000 | Hitting_H | 1.077 | 1.000 | -1.077 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_OBP | 0.325 | 0.250 | 0.300 | Hitting_OBP | 0.349 | 0.400 | -0.099 | -0.150 |
| predicted_R | 0.498 | 0.000 | 1.000 | Hitting_R | 0.498 | 0.000 | -0.498 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 1.000 | Hitting_RBI | 0.320 | 0.000 | -0.320 | 0.000 |
| predicted_SLG | 0.378 | 0.000 | 0.222 | Hitting_SLG | 0.353 | 0.250 | -0.353 | -0.250 |
| predicted_SO | 0.792 | 1.000 | 2.000 | Hitting_SO | 0.792 | 0.000 | 0.208 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.5100 -> 1.0000 (boost 0.4900, better) |
| Biggest Deboost | predicted_AB: 4.3700 -> 3.0000 (deboost -1.3700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 9 | 1 | 8 | 2 | predicted_AB: 4.3700 -> 8.5493 (boost 4.1793, better) | predicted_SLG: 0.3780 -> 0.3655 (deboost -0.0125, 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 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2365 -> 0.2438 (boost 0.0073, better) | predicted_SLG: 0.3655 -> 0.3563 (deboost -0.0092, 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_SO: 1.5445 -> 2.0000 (boost 0.4555, worse) | predicted_HBP: 0.3220 -> 0.0000 (deboost -0.3220, worse) | AB rounded to 9 (raw=8.55), rates preserved: AVG=0.244 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0546 -> 1.0000 (deboost -0.0546, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3563 -> 0.2220 (deboost -0.1343, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 9.0000 -> 3.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2220 -> 0.3563 (boost 0.1343, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608324",
"player_name": "Alex Bregman",
"position": "3B",
"team": "CHC",
"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.135,
"predicted_3B": 0.019,
"predicted_AB": 4.37,
"predicted_AVG": 0.231,
"predicted_BB": 0.51,
"predicted_H": 1.01,
"predicted_HR": 0.12,
"predicted_OBP": 0.325,
"predicted_R": 0.498,
"predicted_RBI": 0.4,
"predicted_SLG": 0.378,
"predicted_SO": 0.792
},
"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.2218,
"predicted_3B": 0.031,
"predicted_AB": 8.5493,
"predicted_AVG": 0.2365,
"predicted_BB": 0.976,
"predicted_H": 2.052,
"predicted_HBP": 0.322,
"predicted_HR": 0.221,
"predicted_OBP": 0.3286,
"predicted_R": 1.0283,
"predicted_RBI": 0.7588,
"predicted_SLG": 0.3655,
"predicted_SO": 1.554
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.2218,
"delta": 0.0868,
"percent_delta": 0.643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.031,
"delta": 0.012,
"percent_delta": 0.6316,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.37,
"after": 8.5493,
"delta": 4.1793,
"percent_delta": 0.9564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2365,
"delta": 0.0055,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.51,
"after": 0.976,
"delta": 0.466,
"percent_delta": 0.9137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 2.052,
"delta": 1.042,
"percent_delta": 1.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.221,
"delta": 0.101,
"percent_delta": 0.8417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3286,
"delta": 0.0036,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.498,
"after": 1.0283,
"delta": 0.5303,
"percent_delta": 1.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.7588,
"delta": 0.3588,
"percent_delta": 0.897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3655,
"delta": -0.0125,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 1.554,
"delta": 0.762,
"percent_delta": 0.9621,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 9,
"deboosted_metrics": 1,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.37,
"after": 8.5493,
"delta": 4.1793,
"percent_delta": 0.9564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3655,
"delta": -0.0125,
"percent_delta": -0.0331,
"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": 60
}
},
{
"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.2218,
"predicted_3B": 0.031,
"predicted_AB": 8.5493,
"predicted_AVG": 0.2438,
"predicted_BB": 0.982,
"predicted_H": 2.0842,
"predicted_HBP": 0.322,
"predicted_HR": 0.2261,
"predicted_OBP": 0.3217,
"predicted_R": 1.0546,
"predicted_RBI": 0.7782,
"predicted_SLG": 0.3563,
"predicted_SO": 1.5445
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2218,
"after": 0.2218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.5493,
"after": 8.5493,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2365,
"after": 0.2438,
"delta": 0.0073,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.976,
"after": 0.982,
"delta": 0.006,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.052,
"after": 2.0842,
"delta": 0.0322,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.322,
"after": 0.322,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.221,
"after": 0.2261,
"delta": 0.0051,
"percent_delta": 0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3286,
"after": 0.3217,
"delta": -0.0069,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0283,
"after": 1.0546,
"delta": 0.0263,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7588,
"after": 0.7782,
"delta": 0.0194,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3655,
"after": 0.3563,
"delta": -0.0092,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.554,
"after": 1.5445,
"delta": -0.0095,
"percent_delta": -0.0061,
"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.2365,
"after": 0.2438,
"delta": 0.0073,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3655,
"after": 0.3563,
"delta": -0.0092,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.55), rates preserved: AVG=0.244 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2218,
"after": 0.0,
"delta": -0.2218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.5493,
"after": 9.0,
"delta": 0.4507,
"percent_delta": 0.0527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.982,
"after": 1.0,
"delta": 0.018,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0842,
"after": 2.0,
"delta": -0.0842,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.322,
"after": 0.0,
"delta": -0.322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2261,
"after": 0.0,
"delta": -0.2261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7782,
"after": 1.0,
"delta": 0.2218,
"percent_delta": 0.285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5445,
"after": 2.0,
"delta": 0.4555,
"percent_delta": 0.2949,
"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_SO",
"before": 1.5445,
"after": 2.0,
"delta": 0.4555,
"percent_delta": 0.2949,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.322,
"after": 0.0,
"delta": -0.322,
"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": 9.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.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": 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": 1.0546,
"after": 1.0,
"delta": -0.0546,
"percent_delta": -0.0518,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0546,
"after": 1.0,
"delta": -0.0546,
"percent_delta": -0.0518,
"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": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.222,
"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": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2438,
"after": 0.222,
"delta": -0.0218,
"percent_delta": -0.0894,
"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": 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.3217,
"after": 0.3,
"delta": -0.0217,
"percent_delta": -0.0675,
"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.3563,
"after": 0.222,
"delta": -0.1343,
"percent_delta": -0.3769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3563,
"after": 0.222,
"delta": -0.1343,
"percent_delta": -0.3769,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 3.0,
"delta": -6.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 9.0,
"after": 3.0,
"delta": -6.0,
"percent_delta": -0.6667,
"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.2438,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3217,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3563,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2438,
"delta": 0.0218,
"percent_delta": 0.0981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.3217,
"delta": 0.0217,
"percent_delta": 0.0723,
"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.222,
"after": 0.3563,
"delta": 0.1343,
"percent_delta": 0.605,
"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.222,
"after": 0.3563,
"delta": 0.1343,
"percent_delta": 0.605,
"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.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.37,
"after": 3.0,
"delta": -1.37,
"percent_delta": -0.3135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2438,
"delta": 0.0128,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.51,
"after": 1.0,
"delta": 0.49,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3217,
"delta": -0.0033,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.498,
"after": 0.0,
"delta": -0.498,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3563,
"delta": -0.0217,
"percent_delta": -0.0574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 1.0,
"delta": 0.208,
"percent_delta": 0.2626,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.51,
"after": 1.0,
"delta": 0.49,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.37,
"after": 3.0,
"delta": -1.37,
"percent_delta": -0.3135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.135 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.370 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.510 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.498 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.378 | - |
| predicted_SO | 0.792 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | 0.087 |
| predicted_3B | 0.031 | 0.012 |
| predicted_AB | 8.549 | 4.179 |
| predicted_AVG | 0.236 | 0.005 |
| predicted_BB | 0.976 | 0.466 |
| predicted_H | 2.052 | 1.042 |
| predicted_HBP | 0.322 | - |
| predicted_HR | 0.221 | 0.101 |
| predicted_OBP | 0.329 | 0.004 |
| predicted_R | 1.028 | 0.530 |
| predicted_RBI | 0.759 | 0.359 |
| predicted_SLG | 0.365 | -0.013 |
| predicted_SO | 1.554 | 0.762 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 8.549 | 0.000 |
| predicted_AVG | 0.244 | 0.007 |
| predicted_BB | 0.982 | 0.006 |
| predicted_H | 2.084 | 0.032 |
| predicted_HBP | 0.322 | 0.000 |
| predicted_HR | 0.226 | 0.005 |
| predicted_OBP | 0.322 | -0.007 |
| predicted_R | 1.055 | 0.026 |
| predicted_RBI | 0.778 | 0.019 |
| predicted_SLG | 0.356 | -0.009 |
| predicted_SO | 1.544 | -0.010 |
AB rounded to 9 (raw=8.55), rates preserved: AVG=0.244 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 1.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 | 2.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.222 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 9.000 | 0.451 |
| predicted_AVG | 0.222 | -0.022 |
| predicted_BB | 1.000 | 0.018 |
| predicted_H | 2.000 | -0.084 |
| predicted_HR | 0.000 | -0.226 |
| predicted_OBP | 0.300 | -0.022 |
| predicted_R | 1.000 | -0.055 |
| predicted_RBI | 1.000 | 0.222 |
| predicted_SLG | 0.222 | -0.134 |
| predicted_SO | 2.000 | 0.456 |
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 | -6.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -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 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 3.000 | 0.2000 | 0.3043 | 0.3500 | 0.2000 | 0.0500 | 0.1000 | 0.1000 | 0.1500 |
| last_10 | 0.20 | 6 | - | 45.000 | 9.000 | 0.000 | 0.000 | 1.000 | 7.000 | 12.000 | 2.000 | 8.000 | 0.2000 | 0.2500 | 0.2667 | 0.2000 | 0.0222 | 0.1556 | 0.0444 | 0.1778 |
| season | 0.60 | 60 | - | 1070.000 | 279.000 | 35.000 | 5.000 | 18.000 | 83.000 | 129.000 | 132.000 | 205.000 | 0.2607 | 0.3491 | 0.3533 | 0.2607 | 0.0168 | 0.0776 | 0.1234 | 0.1916 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3310 |
| predicted_3B | 0.0460 |
| predicted_AB | 13.8040 |
| predicted_AVG | 0.2435 |
| predicted_BB | 1.5620 |
| predicted_H | 3.3620 |
| predicted_HBP | 0.3220 |
| predicted_HR | 0.3480 |
| predicted_OBP | 0.3332 |
| predicted_R | 1.6950 |
| predicted_RBI | 1.2100 |
| predicted_SLG | 0.3498 |
| predicted_SO | 2.5120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.3310 | 0.2218 | model_form_blend |
| predicted_3B | 0.0190 | 0.0460 | 0.0310 | model_form_blend |
| predicted_AB | 4.3700 | 13.8040 | 8.5493 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2435 | 0.2365 | model_form_blend |
| predicted_BB | 0.5100 | 1.5620 | 0.9760 | model_form_blend |
| predicted_H | 1.0100 | 3.3620 | 2.0520 | model_form_blend |
| predicted_HBP | - | 0.3220 | 0.3220 | form_only |
| predicted_HR | 0.1200 | 0.3480 | 0.2210 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3332 | 0.3286 | model_form_blend |
| predicted_R | 0.4980 | 1.6950 | 1.0283 | model_form_blend |
| predicted_RBI | 0.4000 | 1.2100 | 0.7588 | model_form_blend |
| predicted_SLG | 0.3780 | 0.3498 | 0.3655 | model_form_blend |
| predicted_SO | 0.7920 | 2.5120 | 1.5540 | 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 | 259 |
| Season rows before report date | 259 |
| Report year | 2026 |
| Profile rows used | 259 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.261 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 1 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | DH |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 608324 |
| playerID | 608324 |
| playerName | Alex Bregman |
| pos | 3B |
| started | True |
| startingPosition | DH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-03 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.313 |
| sl_xwoba | 0.322 |
| sl_xba | 0.258 |
| sl_xslg | 0.39 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 40.3 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 18.2 |
| 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.330 | 0.000 | 0.000 | Hitting_2B | 0.319 | 0.000 | -0.319 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.841 | 3.000 | 4.000 | Hitting_AB | 2.747 | 1.000 | 0.253 | 2.000 |
| predicted_AVG | 0.248 | 0.000 | 0.250 | Hitting_AVG | 0.296 | 0.000 | -0.296 | 0.000 |
| predicted_BB | 0.580 | 1.000 | 1.000 | Hitting_BB | 0.593 | 0.000 | 0.407 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.240 | 0.000 | 1.000 | Hitting_H | 0.813 | 0.000 | -0.813 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_OBP | 0.274 | 0.250 | 0.400 | Hitting_OBP | 0.418 | 0.000 | -0.168 | 0.250 |
| predicted_R | 0.534 | 0.000 | 1.000 | Hitting_R | 0.516 | 0.000 | -0.516 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 1.000 | Hitting_RBI | 0.484 | 0.000 | -0.484 | 0.000 |
| predicted_SLG | 0.434 | 0.000 | 0.250 | Hitting_SLG | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_SO | 0.761 | 1.000 | 1.000 | Hitting_SO | 0.736 | 0.000 | 0.264 | 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_BB: 0.5800 -> 1.0000 (boost 0.4200, better) |
| Biggest Deboost | predicted_R: 0.5340 -> 0.0000 (deboost -0.5340, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 2.8410 -> 4.0772 (boost 1.2362, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3281 -> 0.3404 (boost 0.0123, better) | predicted_AVG: 0.2657 -> 0.2107 (deboost -0.0550, 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 | 4 | 3 | predicted_RBI: 0.6229 -> 1.0000 (boost 0.3771, better) | predicted_2B: 0.4473 -> 0.0000 (deboost -0.4473, worse) | AB rounded to 4 (raw=4.08), rates preserved: AVG=0.211 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7744 -> 1.0000 (boost 0.2256, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3404 -> 0.4000 (boost 0.0596, better) | predicted_SLG: 0.4924 -> 0.2500 (deboost -0.2424, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4924 (boost 0.2424, better) | predicted_OBP: 0.4000 -> 0.3404 (deboost -0.0596, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624424",
"player_name": "Michael Conforto",
"position": "RF",
"team": "CHC",
"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.33,
"predicted_3B": 0.0,
"predicted_AB": 2.841,
"predicted_AVG": 0.248,
"predicted_BB": 0.58,
"predicted_H": 0.24,
"predicted_HR": 0.06,
"predicted_OBP": 0.274,
"predicted_R": 0.534,
"predicted_RBI": 0.15,
"predicted_SLG": 0.434,
"predicted_SO": 0.761
},
"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.4473,
"predicted_3B": 0.0008,
"predicted_AB": 4.0772,
"predicted_AVG": 0.2657,
"predicted_BB": 0.7973,
"predicted_H": 0.8456,
"predicted_HBP": 0.005,
"predicted_HR": 0.2281,
"predicted_OBP": 0.3281,
"predicted_R": 0.7551,
"predicted_RBI": 0.6074,
"predicted_SLG": 0.5187,
"predicted_SO": 1.1117
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.33,
"after": 0.4473,
"delta": 0.1173,
"percent_delta": 0.3555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.841,
"after": 4.0772,
"delta": 1.2362,
"percent_delta": 0.4351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2657,
"delta": 0.0177,
"percent_delta": 0.0714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.58,
"after": 0.7973,
"delta": 0.2173,
"percent_delta": 0.3747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.8456,
"delta": 0.6056,
"percent_delta": 2.5233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.2281,
"delta": 0.1681,
"percent_delta": 2.8017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.3281,
"delta": 0.0541,
"percent_delta": 0.1974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.534,
"after": 0.7551,
"delta": 0.2211,
"percent_delta": 0.414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.6074,
"delta": 0.4574,
"percent_delta": 3.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.5187,
"delta": 0.0847,
"percent_delta": 0.1952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.761,
"after": 1.1117,
"delta": 0.3507,
"percent_delta": 0.4608,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.841,
"after": 4.0772,
"delta": 1.2362,
"percent_delta": 0.4351,
"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": 4,
"last_10": 5,
"season": 36
}
},
{
"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.4473,
"predicted_3B": 0.0008,
"predicted_AB": 4.0772,
"predicted_AVG": 0.2107,
"predicted_BB": 0.8022,
"predicted_H": 0.8589,
"predicted_HBP": 0.005,
"predicted_HR": 0.2333,
"predicted_OBP": 0.3404,
"predicted_R": 0.7744,
"predicted_RBI": 0.6229,
"predicted_SLG": 0.4924,
"predicted_SO": 1.1049
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4473,
"after": 0.4473,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0772,
"after": 4.0772,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2657,
"after": 0.2107,
"delta": -0.055,
"percent_delta": -0.207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7973,
"after": 0.8022,
"delta": 0.0049,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8456,
"after": 0.8589,
"delta": 0.0133,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2281,
"after": 0.2333,
"delta": 0.0052,
"percent_delta": 0.0228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3281,
"after": 0.3404,
"delta": 0.0123,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7551,
"after": 0.7744,
"delta": 0.0193,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6074,
"after": 0.6229,
"delta": 0.0155,
"percent_delta": 0.0255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5187,
"after": 0.4924,
"delta": -0.0263,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1117,
"after": 1.1049,
"delta": -0.0068,
"percent_delta": -0.0061,
"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.3281,
"after": 0.3404,
"delta": 0.0123,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2657,
"after": 0.2107,
"delta": -0.055,
"percent_delta": -0.207,
"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.211 HR/AB=0.057",
"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.4473,
"after": 0.0,
"delta": -0.4473,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0772,
"after": 4.0,
"delta": -0.0772,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8022,
"after": 1.0,
"delta": 0.1978,
"percent_delta": 0.2466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8589,
"after": 1.0,
"delta": 0.1411,
"percent_delta": 0.1643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2333,
"after": 0.0,
"delta": -0.2333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6229,
"after": 1.0,
"delta": 0.3771,
"percent_delta": 0.6054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1049,
"after": 1.0,
"delta": -0.1049,
"percent_delta": -0.0949,
"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_RBI",
"before": 0.6229,
"after": 1.0,
"delta": 0.3771,
"percent_delta": 0.6054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4473,
"after": 0.0,
"delta": -0.4473,
"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": 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.7744,
"after": 1.0,
"delta": 0.2256,
"percent_delta": 0.2913,
"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.7744,
"after": 1.0,
"delta": 0.2256,
"percent_delta": 0.2913,
"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": 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.2107,
"after": 0.25,
"delta": 0.0393,
"percent_delta": 0.1865,
"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.3404,
"after": 0.4,
"delta": 0.0596,
"percent_delta": 0.1751,
"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.4924,
"after": 0.25,
"delta": -0.2424,
"percent_delta": -0.4923,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3404,
"after": 0.4,
"delta": 0.0596,
"percent_delta": 0.1751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4924,
"after": 0.25,
"delta": -0.2424,
"percent_delta": -0.4923,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2107,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3404,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4924,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2107,
"delta": -0.0393,
"percent_delta": -0.1574,
"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.4,
"after": 0.3404,
"delta": -0.0596,
"percent_delta": -0.1489,
"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.25,
"after": 0.4924,
"delta": 0.2424,
"percent_delta": 0.9697,
"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.25,
"after": 0.4924,
"delta": 0.2424,
"percent_delta": 0.9697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3404,
"delta": -0.0596,
"percent_delta": -0.1489,
"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.33,
"after": 0.0,
"delta": -0.33,
"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.841,
"after": 3.0,
"delta": 0.159,
"percent_delta": 0.056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2107,
"delta": -0.0373,
"percent_delta": -0.1504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"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.274,
"after": 0.3404,
"delta": 0.0664,
"percent_delta": 0.2423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.534,
"after": 0.0,
"delta": -0.534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4924,
"delta": 0.0584,
"percent_delta": 0.1346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.761,
"after": 1.0,
"delta": 0.239,
"percent_delta": 0.3141,
"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_BB",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.534,
"after": 0.0,
"delta": -0.534,
"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.330 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.841 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.580 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.534 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.434 | - |
| predicted_SO | 0.761 | - |
Final model 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.447 | 0.117 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.077 | 1.236 |
| predicted_AVG | 0.266 | 0.018 |
| predicted_BB | 0.797 | 0.217 |
| predicted_H | 0.846 | 0.606 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.228 | 0.168 |
| predicted_OBP | 0.328 | 0.054 |
| predicted_R | 0.755 | 0.221 |
| predicted_RBI | 0.607 | 0.457 |
| predicted_SLG | 0.519 | 0.085 |
| predicted_SO | 1.112 | 0.351 |
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.447 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.077 | 0.000 |
| predicted_AVG | 0.211 | -0.055 |
| predicted_BB | 0.802 | 0.005 |
| predicted_H | 0.859 | 0.013 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.233 | 0.005 |
| predicted_OBP | 0.340 | 0.012 |
| predicted_R | 0.774 | 0.019 |
| predicted_RBI | 0.623 | 0.015 |
| predicted_SLG | 0.492 | -0.026 |
| predicted_SO | 1.105 | -0.007 |
AB rounded to 4 (raw=4.08), rates preserved: AVG=0.211 HR/AB=0.057
| 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 | - |
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.447 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.077 |
| predicted_AVG | 0.250 | 0.039 |
| predicted_BB | 1.000 | 0.198 |
| predicted_H | 1.000 | 0.141 |
| predicted_HR | 0.000 | -0.233 |
| predicted_OBP | 0.400 | 0.060 |
| predicted_R | 1.000 | 0.226 |
| predicted_RBI | 1.000 | 0.377 |
| predicted_SLG | 0.250 | -0.242 |
| predicted_SO | 1.000 | -0.105 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 9.000 | 3.000 | 1.000 | 0.000 | 2.000 | 4.000 | 2.000 | 2.000 | 3.000 | 0.3333 | 0.4545 | 1.1111 | 0.3333 | 0.2222 | 0.4444 | 0.2222 | 0.3333 |
| last_10 | 0.20 | 5 | - | 29.000 | 3.000 | 1.000 | 0.000 | 2.000 | 4.000 | 2.000 | 2.000 | 8.000 | 0.1034 | 0.1613 | 0.3448 | 0.1035 | 0.0690 | 0.1379 | 0.0690 | 0.2759 |
| season | 0.60 | 36 | - | 250.000 | 74.000 | 29.000 | 0.000 | 12.000 | 42.000 | 47.000 | 51.000 | 67.000 | 0.2960 | 0.4153 | 0.5560 | 0.2960 | 0.0480 | 0.1680 | 0.2040 | 0.2680 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6070 |
| predicted_3B | 0.0020 |
| predicted_AB | 5.7600 |
| predicted_AVG | 0.2899 |
| predicted_BB | 1.0930 |
| predicted_H | 1.6700 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.4570 |
| predicted_OBP | 0.4017 |
| predicted_R | 1.0560 |
| predicted_RBI | 1.2300 |
| predicted_SLG | 0.6340 |
| predicted_SO | 1.5890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3300 | 0.6070 | 0.4473 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8410 | 5.7600 | 4.0772 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2899 | 0.2657 | model_form_blend |
| predicted_BB | 0.5800 | 1.0930 | 0.7973 | model_form_blend |
| predicted_H | 0.2400 | 1.6700 | 0.8456 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0600 | 0.4570 | 0.2281 | model_form_blend |
| predicted_OBP | 0.2740 | 0.4017 | 0.3281 | model_form_blend |
| predicted_R | 0.5340 | 1.0560 | 0.7551 | model_form_blend |
| predicted_RBI | 0.1500 | 1.2300 | 0.6074 | model_form_blend |
| predicted_SLG | 0.4340 | 0.6340 | 0.5187 | model_form_blend |
| predicted_SO | 0.7610 | 1.5890 | 1.1117 | 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 | 91 |
| Season rows before report date | 91 |
| 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 | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.296 |
| 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-DH |
| gameID | 20260602_OAK@CHC |
| game_type | ph |
| mlbID | 624424 |
| note | Flied out for Alcántara in the 8th. |
| playerID | 624424 |
| playerName | Michael Conforto |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-02 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 14.9 |
| sl_woba | 0.391 |
| sl_xwoba | 0.389 |
| sl_xba | 0.269 |
| sl_xslg | 0.528 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 16.4 |
| sl_hard_hit_percent | 54.5 |
| sl_exit_velocity_avg | 94.8 |
| sl_launch_angle_avg | 19.6 |
| sl_whiff_percent | 30.7 |
| 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.118 | 0.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 4.240 | 4.000 | 7.000 | Hitting_AB | 3.685 | 5.000 | 0.315 | -1.000 |
| predicted_AVG | 0.243 | 0.000 | 0.286 | Hitting_AVG | 0.244 | 0.200 | -0.244 | -0.200 |
| predicted_BB | 0.408 | 0.000 | 1.000 | Hitting_BB | 0.408 | 0.000 | -0.408 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_H | 1.030 | 0.000 | 2.000 | Hitting_H | 0.899 | 1.000 | -0.899 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.118 | 1.000 | -0.118 | -1.000 |
| predicted_OBP | 0.341 | 0.000 | 0.375 | Hitting_OBP | 0.337 | 0.200 | -0.337 | -0.200 |
| predicted_R | 0.576 | 0.000 | 1.000 | Hitting_R | 0.576 | 1.000 | -0.576 | -1.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.466 | 2.000 | -0.466 | -2.000 |
| predicted_SLG | 0.453 | 0.000 | 0.286 | Hitting_SLG | 0.390 | 0.800 | -0.390 | -0.800 |
| predicted_SO | 1.055 | 2.000 | 2.000 | Hitting_SO | 1.055 | 2.000 | 0.945 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.0550 -> 2.0000 (boost 0.9450, worse) |
| Biggest Deboost | predicted_H: 1.0300 -> 0.0000 (deboost -1.0300, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.2400 -> 7.4364 (boost 3.1964, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2602 -> 0.2738 (boost 0.0136, better) | predicted_OBP: 0.3484 -> 0.3329 (deboost -0.0155, 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_BB: 0.6593 -> 1.0000 (boost 0.3407, better) | predicted_AB: 7.4364 -> 7.0000 (deboost -0.4364, worse) | AB rounded to 7 (raw=7.44), rates preserved: AVG=0.274 HR/AB=0.045 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1717 -> 1.0000 (deboost -0.1717, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3329 -> 0.3750 (boost 0.0421, better) | predicted_SLG: 0.4642 -> 0.2860 (deboost -0.1782, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4642 (boost 0.1782, better) | predicted_OBP: 0.3750 -> 0.3329 (deboost -0.0421, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"team": "CHC",
"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.118,
"predicted_3B": 0.034,
"predicted_AB": 4.24,
"predicted_AVG": 0.243,
"predicted_BB": 0.408,
"predicted_H": 1.03,
"predicted_HR": 0.18,
"predicted_OBP": 0.341,
"predicted_R": 0.576,
"predicted_RBI": 0.54,
"predicted_SLG": 0.453,
"predicted_SO": 1.055
},
"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.2982,
"predicted_3B": 0.0517,
"predicted_AB": 7.4364,
"predicted_AVG": 0.2602,
"predicted_BB": 0.6553,
"predicted_H": 2.0045,
"predicted_HBP": 0.385,
"predicted_HR": 0.3306,
"predicted_OBP": 0.3484,
"predicted_R": 1.1425,
"predicted_RBI": 0.9913,
"predicted_SLG": 0.4636,
"predicted_SO": 1.9641
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.2982,
"delta": 0.1802,
"percent_delta": 1.5271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0517,
"delta": 0.0177,
"percent_delta": 0.5206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.24,
"after": 7.4364,
"delta": 3.1964,
"percent_delta": 0.7539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2602,
"delta": 0.0172,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.408,
"after": 0.6553,
"delta": 0.2473,
"percent_delta": 0.6061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.0045,
"delta": 0.9745,
"percent_delta": 0.9461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.3306,
"delta": 0.1506,
"percent_delta": 0.8367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3484,
"delta": 0.0074,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 1.1425,
"delta": 0.5665,
"percent_delta": 0.9835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.9913,
"delta": 0.4513,
"percent_delta": 0.8357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4636,
"delta": 0.0106,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.055,
"after": 1.9641,
"delta": 0.9091,
"percent_delta": 0.8617,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.24,
"after": 7.4364,
"delta": 3.1964,
"percent_delta": 0.7539,
"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": 6,
"season": 61
}
},
{
"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.2982,
"predicted_3B": 0.0517,
"predicted_AB": 7.4364,
"predicted_AVG": 0.2738,
"predicted_BB": 0.6593,
"predicted_H": 2.036,
"predicted_HBP": 0.385,
"predicted_HR": 0.3382,
"predicted_OBP": 0.3329,
"predicted_R": 1.1717,
"predicted_RBI": 1.0167,
"predicted_SLG": 0.4642,
"predicted_SO": 1.9521
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2982,
"after": 0.2982,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0517,
"after": 0.0517,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.4364,
"after": 7.4364,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2602,
"after": 0.2738,
"delta": 0.0136,
"percent_delta": 0.0523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6553,
"after": 0.6593,
"delta": 0.004,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0045,
"after": 2.036,
"delta": 0.0315,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.385,
"after": 0.385,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3306,
"after": 0.3382,
"delta": 0.0076,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3484,
"after": 0.3329,
"delta": -0.0155,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1425,
"after": 1.1717,
"delta": 0.0292,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9913,
"after": 1.0167,
"delta": 0.0254,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4636,
"after": 0.4642,
"delta": 0.0006,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.9641,
"after": 1.9521,
"delta": -0.012,
"percent_delta": -0.0061,
"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.2602,
"after": 0.2738,
"delta": 0.0136,
"percent_delta": 0.0523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3484,
"after": 0.3329,
"delta": -0.0155,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.44), rates preserved: AVG=0.274 HR/AB=0.045",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2982,
"after": 0.0,
"delta": -0.2982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0517,
"after": 0.0,
"delta": -0.0517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.4364,
"after": 7.0,
"delta": -0.4364,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6593,
"after": 1.0,
"delta": 0.3407,
"percent_delta": 0.5168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.036,
"after": 2.0,
"delta": -0.036,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3382,
"after": 0.0,
"delta": -0.3382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0167,
"after": 1.0,
"delta": -0.0167,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.9521,
"after": 2.0,
"delta": 0.0479,
"percent_delta": 0.0245,
"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_BB",
"before": 0.6593,
"after": 1.0,
"delta": 0.3407,
"percent_delta": 0.5168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.4364,
"after": 7.0,
"delta": -0.4364,
"percent_delta": -0.0587,
"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": 7.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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": 1.1717,
"after": 1.0,
"delta": -0.1717,
"percent_delta": -0.1465,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.1717,
"after": 1.0,
"delta": -0.1717,
"percent_delta": -0.1465,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2738,
"after": 0.286,
"delta": 0.0122,
"percent_delta": 0.0446,
"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": 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.3329,
"after": 0.375,
"delta": 0.0421,
"percent_delta": 0.1265,
"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.4642,
"after": 0.286,
"delta": -0.1782,
"percent_delta": -0.3839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3329,
"after": 0.375,
"delta": 0.0421,
"percent_delta": 0.1265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4642,
"after": 0.286,
"delta": -0.1782,
"percent_delta": -0.3839,
"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": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2738,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3329,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4642,
"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.286,
"after": 0.2738,
"delta": -0.0122,
"percent_delta": -0.0427,
"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.375,
"after": 0.3329,
"delta": -0.0421,
"percent_delta": -0.1122,
"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.286,
"after": 0.4642,
"delta": 0.1782,
"percent_delta": 0.6231,
"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.286,
"after": 0.4642,
"delta": 0.1782,
"percent_delta": 0.6231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3329,
"delta": -0.0421,
"percent_delta": -0.1122,
"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.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.24,
"after": 4.0,
"delta": -0.24,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2738,
"delta": 0.0308,
"percent_delta": 0.1267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.408,
"after": 0.0,
"delta": -0.408,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3329,
"delta": -0.0081,
"percent_delta": -0.0238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 0.0,
"delta": -0.576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4642,
"delta": 0.0112,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.055,
"after": 2.0,
"delta": 0.945,
"percent_delta": 0.8957,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.055,
"after": 2.0,
"delta": 0.945,
"percent_delta": 0.8957,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"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.118 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 4.240 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.408 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.576 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.453 | - |
| predicted_SO | 1.055 | - |
Final model 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.298 | 0.180 |
| predicted_3B | 0.052 | 0.018 |
| predicted_AB | 7.436 | 3.196 |
| predicted_AVG | 0.260 | 0.017 |
| predicted_BB | 0.655 | 0.247 |
| predicted_H | 2.005 | 0.975 |
| predicted_HBP | 0.385 | - |
| predicted_HR | 0.331 | 0.151 |
| predicted_OBP | 0.348 | 0.007 |
| predicted_R | 1.143 | 0.567 |
| predicted_RBI | 0.991 | 0.451 |
| predicted_SLG | 0.464 | 0.011 |
| predicted_SO | 1.964 | 0.909 |
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.298 | 0.000 |
| predicted_3B | 0.052 | 0.000 |
| predicted_AB | 7.436 | 0.000 |
| predicted_AVG | 0.274 | 0.014 |
| predicted_BB | 0.659 | 0.004 |
| predicted_H | 2.036 | 0.031 |
| predicted_HBP | 0.385 | 0.000 |
| predicted_HR | 0.338 | 0.008 |
| predicted_OBP | 0.333 | -0.016 |
| predicted_R | 1.172 | 0.029 |
| predicted_RBI | 1.017 | 0.025 |
| predicted_SLG | 0.464 | 0.001 |
| predicted_SO | 1.952 | -0.012 |
AB rounded to 7 (raw=7.44), rates preserved: AVG=0.274 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 2.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.298 |
| predicted_3B | 0.000 | -0.052 |
| predicted_AB | 7.000 | -0.436 |
| predicted_AVG | 0.286 | 0.012 |
| predicted_BB | 1.000 | 0.341 |
| predicted_H | 2.000 | -0.036 |
| predicted_HR | 0.000 | -0.338 |
| predicted_OBP | 0.375 | 0.042 |
| predicted_R | 1.000 | -0.172 |
| predicted_RBI | 1.000 | -0.017 |
| predicted_SLG | 0.286 | -0.178 |
| predicted_SO | 2.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 | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.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 | - | 23.000 | 9.000 | 2.000 | 0.000 | 2.000 | 4.000 | 4.000 | 0.000 | 5.000 | 0.3913 | 0.4167 | 0.7391 | 0.3913 | 0.0870 | 0.1739 | 0.0000 | 0.2174 |
| last_10 | 0.20 | 6 | - | 43.000 | 14.000 | 2.000 | 0.000 | 2.000 | 4.000 | 9.000 | 5.000 | 15.000 | 0.3256 | 0.4082 | 0.5116 | 0.3256 | 0.0465 | 0.0930 | 0.1163 | 0.3488 |
| season | 0.60 | 61 | - | 877.000 | 214.000 | 28.000 | 8.000 | 28.000 | 111.000 | 137.000 | 97.000 | 251.000 | 0.2440 | 0.3366 | 0.3900 | 0.2440 | 0.0319 | 0.1266 | 0.1106 | 0.2862 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5260 |
| predicted_3B | 0.0740 |
| predicted_AB | 11.4790 |
| predicted_AVG | 0.2820 |
| predicted_BB | 0.9680 |
| predicted_H | 3.2370 |
| predicted_HBP | 0.3850 |
| predicted_HR | 0.5210 |
| predicted_OBP | 0.3578 |
| predicted_R | 1.8590 |
| predicted_RBI | 1.5620 |
| predicted_SLG | 0.4769 |
| predicted_SO | 3.1140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.5260 | 0.2982 | model_form_blend |
| predicted_3B | 0.0340 | 0.0740 | 0.0517 | model_form_blend |
| predicted_AB | 4.2400 | 11.4790 | 7.4364 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2820 | 0.2602 | model_form_blend |
| predicted_BB | 0.4080 | 0.9680 | 0.6553 | model_form_blend |
| predicted_H | 1.0300 | 3.2370 | 2.0045 | model_form_blend |
| predicted_HBP | - | 0.3850 | 0.3850 | form_only |
| predicted_HR | 0.1800 | 0.5210 | 0.3306 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3578 | 0.3484 | model_form_blend |
| predicted_R | 0.5760 | 1.8590 | 1.1425 | model_form_blend |
| predicted_RBI | 0.5400 | 1.5620 | 0.9913 | model_form_blend |
| predicted_SLG | 0.4530 | 0.4769 | 0.4636 | model_form_blend |
| predicted_SO | 1.0550 | 3.1140 | 1.9641 | 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 | 238 |
| Season rows before report date | 238 |
| Report year | 2026 |
| Profile rows used | 238 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.244 |
| 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 | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 691718 |
| playerID | 691718 |
| playerName | Pete Crow-Armstrong |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.323 |
| sl_xwoba | 0.346 |
| sl_xba | 0.25 |
| sl_xslg | 0.459 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 50.6 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 19.8 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 52.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.202 | 0.000 | 0.000 | Hitting_2B | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.024 | 1.000 | -0.024 | -1.000 |
| predicted_AB | 3.990 | 4.000 | 8.000 | Hitting_AB | 3.690 | 4.000 | 0.310 | 0.000 |
| predicted_AVG | 0.249 | 0.250 | 0.250 | Hitting_AVG | 0.239 | 0.250 | 0.011 | 0.000 |
| predicted_BB | 0.782 | 0.000 | 1.000 | Hitting_BB | 0.782 | 0.000 | -0.782 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.990 | 1.000 | 2.000 | Hitting_H | 0.881 | 1.000 | 0.119 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.361 | 0.250 | 0.333 | Hitting_OBP | 0.382 | 0.250 | -0.132 | 0.000 |
| predicted_R | 0.504 | 1.000 | 1.000 | Hitting_R | 0.504 | 0.000 | 0.496 | 1.000 |
| predicted_RBI | 0.660 | 1.000 | 1.000 | Hitting_RBI | 0.627 | 1.000 | 0.373 | 0.000 |
| predicted_SLG | 0.424 | 0.250 | 0.250 | Hitting_SLG | 0.403 | 0.750 | -0.153 | -0.500 |
| predicted_SO | 1.004 | 2.000 | 2.000 | Hitting_SO | 1.004 | 3.000 | 0.996 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 8 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 3 |
| Better Metrics | 4 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_SO: 1.0040 -> 2.0000 (boost 0.9960, worse) |
| Biggest Deboost | predicted_BB: 0.7820 -> 0.0000 (deboost -0.7820, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.9900 -> 7.5749 (boost 3.5849, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2610 -> 0.2720 (boost 0.0110, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 1 | 7 | predicted_AB: 7.5749 -> 8.0000 (boost 0.4251, better) | predicted_RBI: 1.3996 -> 1.0000 (deboost -0.3996, worse) | AB rounded to 8 (raw=7.57), rates preserved: AVG=0.272 HR/AB=0.027 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4229 -> 0.2500 (deboost -0.1729, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4229 (boost 0.1729, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683737",
"player_name": "Michael Busch",
"position": "1B",
"team": "CHC",
"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.202,
"predicted_3B": 0.024,
"predicted_AB": 3.99,
"predicted_AVG": 0.249,
"predicted_BB": 0.782,
"predicted_H": 0.99,
"predicted_HR": 0.13,
"predicted_OBP": 0.361,
"predicted_R": 0.504,
"predicted_RBI": 0.66,
"predicted_SLG": 0.424,
"predicted_SO": 1.004
},
"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.3237,
"predicted_3B": 0.1072,
"predicted_AB": 7.5749,
"predicted_AVG": 0.261,
"predicted_BB": 1.3065,
"predicted_H": 2.0284,
"predicted_HBP": 0.22,
"predicted_HR": 0.1973,
"predicted_OBP": 0.3714,
"predicted_R": 0.9471,
"predicted_RBI": 1.3647,
"predicted_SLG": 0.4224,
"predicted_SO": 2.0198
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 0.3237,
"delta": 0.1217,
"percent_delta": 0.6025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.1072,
"delta": 0.0832,
"percent_delta": 3.4667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 7.5749,
"delta": 3.5849,
"percent_delta": 0.8985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.261,
"delta": 0.012,
"percent_delta": 0.0482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.782,
"after": 1.3065,
"delta": 0.5245,
"percent_delta": 0.6707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 2.0284,
"delta": 1.0384,
"percent_delta": 1.0489,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1973,
"delta": 0.0673,
"percent_delta": 0.5177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3714,
"delta": 0.0104,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.504,
"after": 0.9471,
"delta": 0.4431,
"percent_delta": 0.8792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.3647,
"delta": 0.7047,
"percent_delta": 1.0677,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4224,
"delta": -0.0016,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.004,
"after": 2.0198,
"delta": 1.0158,
"percent_delta": 1.0118,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 7.5749,
"delta": 3.5849,
"percent_delta": 0.8985,
"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": 6,
"season": 60
}
},
{
"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.3237,
"predicted_3B": 0.1072,
"predicted_AB": 7.5749,
"predicted_AVG": 0.272,
"predicted_BB": 1.3145,
"predicted_H": 2.0602,
"predicted_HBP": 0.22,
"predicted_HR": 0.2018,
"predicted_OBP": 0.3796,
"predicted_R": 0.9713,
"predicted_RBI": 1.3996,
"predicted_SLG": 0.4229,
"predicted_SO": 2.0075
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3237,
"after": 0.3237,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1072,
"after": 0.1072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.5749,
"after": 7.5749,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.272,
"delta": 0.011,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3065,
"after": 1.3145,
"delta": 0.008,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0284,
"after": 2.0602,
"delta": 0.0318,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.22,
"after": 0.22,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1973,
"after": 0.2018,
"delta": 0.0045,
"percent_delta": 0.0228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3714,
"after": 0.3796,
"delta": 0.0082,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9471,
"after": 0.9713,
"delta": 0.0242,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3647,
"after": 1.3996,
"delta": 0.0349,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4224,
"after": 0.4229,
"delta": 0.0005,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0198,
"after": 2.0075,
"delta": -0.0123,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.272,
"delta": 0.011,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.57), rates preserved: AVG=0.272 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3237,
"after": 0.0,
"delta": -0.3237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1072,
"after": 0.0,
"delta": -0.1072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.5749,
"after": 8.0,
"delta": 0.4251,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3145,
"after": 1.0,
"delta": -0.3145,
"percent_delta": -0.2393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0602,
"after": 2.0,
"delta": -0.0602,
"percent_delta": -0.0292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2018,
"after": 0.0,
"delta": -0.2018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3996,
"after": 1.0,
"delta": -0.3996,
"percent_delta": -0.2855,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0075,
"after": 2.0,
"delta": -0.0075,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 7.5749,
"after": 8.0,
"delta": 0.4251,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.3996,
"after": 1.0,
"delta": -0.3996,
"percent_delta": -0.2855,
"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": 8.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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.9713,
"after": 1.0,
"delta": 0.0287,
"percent_delta": 0.0295,
"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_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.25,
"delta": -0.022,
"percent_delta": -0.0809,
"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": 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.3796,
"after": 0.333,
"delta": -0.0466,
"percent_delta": -0.1228,
"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.4229,
"after": 0.25,
"delta": -0.1729,
"percent_delta": -0.4088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4229,
"after": 0.25,
"delta": -0.1729,
"percent_delta": -0.4088,
"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": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 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_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"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": 4.0,
"predicted_AVG": 0.272,
"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.3796,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4229,
"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.272,
"delta": 0.022,
"percent_delta": 0.0879,
"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.333,
"after": 0.3796,
"delta": 0.0466,
"percent_delta": 0.14,
"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.4229,
"delta": 0.1729,
"percent_delta": 0.6918,
"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.25,
"after": 0.4229,
"delta": 0.1729,
"percent_delta": 0.6918,
"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.202,
"after": 0.0,
"delta": -0.202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 4.0,
"delta": 0.01,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.272,
"delta": 0.023,
"percent_delta": 0.0924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.782,
"after": 0.0,
"delta": -0.782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0,
"delta": 0.01,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3796,
"delta": 0.0186,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.504,
"after": 1.0,
"delta": 0.496,
"percent_delta": 0.9841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4229,
"delta": -0.0011,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.004,
"after": 2.0,
"delta": 0.996,
"percent_delta": 0.992,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 5,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.004,
"after": 2.0,
"delta": 0.996,
"percent_delta": 0.992,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.782,
"after": 0.0,
"delta": -0.782,
"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.202 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.782 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.361 | - |
| predicted_R | 0.504 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.424 | - |
| predicted_SO | 1.004 | - |
Final model 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.324 | 0.122 |
| predicted_3B | 0.107 | 0.083 |
| predicted_AB | 7.575 | 3.585 |
| predicted_AVG | 0.261 | 0.012 |
| predicted_BB | 1.306 | 0.524 |
| predicted_H | 2.028 | 1.038 |
| predicted_HBP | 0.220 | - |
| predicted_HR | 0.197 | 0.067 |
| predicted_OBP | 0.371 | 0.010 |
| predicted_R | 0.947 | 0.443 |
| predicted_RBI | 1.365 | 0.705 |
| predicted_SLG | 0.422 | -0.002 |
| predicted_SO | 2.020 | 1.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.324 | 0.000 |
| predicted_3B | 0.107 | 0.000 |
| predicted_AB | 7.575 | 0.000 |
| predicted_AVG | 0.272 | 0.011 |
| predicted_BB | 1.315 | 0.008 |
| predicted_H | 2.060 | 0.032 |
| predicted_HBP | 0.220 | 0.000 |
| predicted_HR | 0.202 | 0.005 |
| predicted_OBP | 0.380 | 0.008 |
| predicted_R | 0.971 | 0.024 |
| predicted_RBI | 1.400 | 0.035 |
| predicted_SLG | 0.423 | 0.001 |
| predicted_SO | 2.007 | -0.012 |
AB rounded to 8 (raw=7.57), rates preserved: AVG=0.272 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 2.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.324 |
| predicted_3B | 0.000 | -0.107 |
| predicted_AB | 8.000 | 0.425 |
| predicted_AVG | 0.250 | -0.022 |
| predicted_BB | 1.000 | -0.315 |
| predicted_H | 2.000 | -0.060 |
| predicted_HR | 0.000 | -0.202 |
| predicted_OBP | 0.333 | -0.047 |
| predicted_R | 1.000 | 0.029 |
| predicted_RBI | 1.000 | -0.400 |
| predicted_SLG | 0.250 | -0.173 |
| predicted_SO | 2.000 | -0.007 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 8.000 | 0.000 | 1.000 | 0.000 | 5.000 | 1.000 | 0.000 | 5.000 | 0.4000 | 0.4000 | 0.5000 | 0.4000 | 0.0000 | 0.2500 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 6 | - | 35.000 | 8.000 | 0.000 | 1.000 | 0.000 | 5.000 | 11.000 | 10.000 | 15.000 | 0.2286 | 0.3913 | 0.2857 | 0.2286 | 0.0000 | 0.1429 | 0.2857 | 0.4286 |
| season | 0.60 | 60 | - | 930.000 | 222.000 | 51.000 | 6.000 | 30.000 | 158.000 | 127.000 | 197.000 | 253.000 | 0.2387 | 0.3816 | 0.4032 | 0.2387 | 0.0323 | 0.1699 | 0.2118 | 0.2720 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4770 |
| predicted_3B | 0.2120 |
| predicted_AB | 12.0890 |
| predicted_AVG | 0.2760 |
| predicted_BB | 1.9670 |
| predicted_H | 3.3360 |
| predicted_HBP | 0.2200 |
| predicted_HR | 0.2820 |
| predicted_OBP | 0.3846 |
| predicted_R | 1.5050 |
| predicted_RBI | 2.2520 |
| predicted_SLG | 0.4203 |
| predicted_SO | 3.2990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2020 | 0.4770 | 0.3237 | model_form_blend |
| predicted_3B | 0.0240 | 0.2120 | 0.1072 | model_form_blend |
| predicted_AB | 3.9900 | 12.0890 | 7.5749 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2760 | 0.2610 | model_form_blend |
| predicted_BB | 0.7820 | 1.9670 | 1.3065 | model_form_blend |
| predicted_H | 0.9900 | 3.3360 | 2.0284 | model_form_blend |
| predicted_HBP | - | 0.2200 | 0.2200 | form_only |
| predicted_HR | 0.1300 | 0.2820 | 0.1973 | model_form_blend |
| predicted_OBP | 0.3610 | 0.3846 | 0.3714 | model_form_blend |
| predicted_R | 0.5040 | 1.5050 | 0.9471 | model_form_blend |
| predicted_RBI | 0.6600 | 2.2520 | 1.3647 | model_form_blend |
| predicted_SLG | 0.4240 | 0.4203 | 0.4224 | model_form_blend |
| predicted_SO | 1.0040 | 3.2990 | 2.0198 | 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 | 252 |
| Season rows before report date | 252 |
| Report year | 2026 |
| Profile rows used | 252 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.239 |
| 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 | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 3 |
| 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 | 1B |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 683737 |
| playerID | 683737 |
| playerName | Michael Busch |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.3 |
| sl_bb_percent | 14.9 |
| sl_woba | 0.344 |
| sl_xwoba | 0.347 |
| sl_xba | 0.239 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 42.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.169 | 0.000 | 1.000 | Hitting_2B | 0.169 | 2.000 | -0.169 | -2.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.980 | 4.000 | 8.000 | Hitting_AB | 3.918 | 4.000 | 0.082 | 0.000 |
| predicted_AVG | 0.235 | 0.000 | 0.250 | Hitting_AVG | 0.241 | 0.500 | -0.241 | -0.500 |
| predicted_BB | 0.687 | 0.000 | 1.000 | Hitting_BB | 0.687 | 0.000 | -0.687 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.930 | 0.000 | 2.000 | Hitting_H | 0.942 | 2.000 | -0.942 | -2.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_OBP | 0.333 | 0.000 | 0.333 | Hitting_OBP | 0.360 | 0.500 | -0.360 | -0.500 |
| predicted_R | 0.761 | 0.000 | 2.000 | Hitting_R | 0.761 | 1.000 | -0.761 | -1.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.621 | 0.000 | -0.621 | 0.000 |
| predicted_SLG | 0.478 | 0.000 | 0.375 | Hitting_SLG | 0.494 | 1.000 | -0.494 | -1.000 |
| predicted_SO | 1.337 | 1.000 | 3.000 | Hitting_SO | 1.337 | 0.000 | -0.337 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SLG: 0.4780 -> 0.5233 (boost 0.0453, better) |
| Biggest Deboost | predicted_H: 0.9300 -> 0.0000 (deboost -0.9300, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.9800 -> 7.9693 (boost 3.9893, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5095 -> 0.5233 (boost 0.0138, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_2B: 0.5641 -> 1.0000 (boost 0.4359, better) | predicted_HR: 0.4930 -> 0.0000 (deboost -0.4930, worse) | AB rounded to 8 (raw=7.97), rates preserved: AVG=0.260 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.5060 -> 2.0000 (boost 0.4940, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5233 -> 0.3750 (deboost -0.1483, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 0 | 7 | 1 | 6 | - | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3750 -> 0.5233 (boost 0.1483, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664023",
"player_name": "Ian Happ",
"position": "LF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.016,
"predicted_AB": 3.98,
"predicted_AVG": 0.235,
"predicted_BB": 0.687,
"predicted_H": 0.93,
"predicted_HR": 0.19,
"predicted_OBP": 0.333,
"predicted_R": 0.761,
"predicted_RBI": 0.58,
"predicted_SLG": 0.478,
"predicted_SO": 1.337
},
"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.5641,
"predicted_3B": 0.0262,
"predicted_AB": 7.9693,
"predicted_AVG": 0.2483,
"predicted_BB": 1.0962,
"predicted_H": 2.0427,
"predicted_HBP": 0.272,
"predicted_HR": 0.482,
"predicted_OBP": 0.3441,
"predicted_R": 1.4684,
"predicted_RBI": 1.2547,
"predicted_SLG": 0.5095,
"predicted_SO": 2.6094
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.5641,
"delta": 0.3951,
"percent_delta": 2.3379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0262,
"delta": 0.0102,
"percent_delta": 0.6375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.98,
"after": 7.9693,
"delta": 3.9893,
"percent_delta": 1.0023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2483,
"delta": 0.0133,
"percent_delta": 0.0566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.687,
"after": 1.0962,
"delta": 0.4092,
"percent_delta": 0.5956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 2.0427,
"delta": 1.1127,
"percent_delta": 1.1965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.482,
"delta": 0.292,
"percent_delta": 1.5368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3441,
"delta": 0.0111,
"percent_delta": 0.0333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.761,
"after": 1.4684,
"delta": 0.7074,
"percent_delta": 0.9296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.2547,
"delta": 0.6747,
"percent_delta": 1.1633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.5095,
"delta": 0.0315,
"percent_delta": 0.0659,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.337,
"after": 2.6094,
"delta": 1.2724,
"percent_delta": 0.9517,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.98,
"after": 7.9693,
"delta": 3.9893,
"percent_delta": 1.0023,
"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": 6,
"season": 57
}
},
{
"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.5641,
"predicted_3B": 0.0262,
"predicted_AB": 7.9693,
"predicted_AVG": 0.2603,
"predicted_BB": 1.1029,
"predicted_H": 2.0748,
"predicted_HBP": 0.272,
"predicted_HR": 0.493,
"predicted_OBP": 0.3503,
"predicted_R": 1.506,
"predicted_RBI": 1.2868,
"predicted_SLG": 0.5233,
"predicted_SO": 2.5935
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5641,
"after": 0.5641,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0262,
"after": 0.0262,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.9693,
"after": 7.9693,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2483,
"after": 0.2603,
"delta": 0.012,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0962,
"after": 1.1029,
"delta": 0.0067,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0427,
"after": 2.0748,
"delta": 0.0321,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.272,
"after": 0.272,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.482,
"after": 0.493,
"delta": 0.011,
"percent_delta": 0.0228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3441,
"after": 0.3503,
"delta": 0.0062,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4684,
"after": 1.506,
"delta": 0.0376,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2547,
"after": 1.2868,
"delta": 0.0321,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5095,
"after": 0.5233,
"delta": 0.0138,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6094,
"after": 2.5935,
"delta": -0.0159,
"percent_delta": -0.0061,
"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.5095,
"after": 0.5233,
"delta": 0.0138,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.97), rates preserved: AVG=0.260 HR/AB=0.062",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5641,
"after": 1.0,
"delta": 0.4359,
"percent_delta": 0.7727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0262,
"after": 0.0,
"delta": -0.0262,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.9693,
"after": 8.0,
"delta": 0.0307,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.1029,
"after": 1.0,
"delta": -0.1029,
"percent_delta": -0.0933,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0748,
"after": 2.0,
"delta": -0.0748,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.272,
"after": 0.0,
"delta": -0.272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.493,
"after": 0.0,
"delta": -0.493,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2868,
"after": 1.0,
"delta": -0.2868,
"percent_delta": -0.2229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5935,
"after": 3.0,
"delta": 0.4065,
"percent_delta": 0.1567,
"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_2B",
"before": 0.5641,
"after": 1.0,
"delta": 0.4359,
"percent_delta": 0.7727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.493,
"after": 0.0,
"delta": -0.493,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"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": 8.0,
"after": 8.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": 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": 1.506,
"after": 2.0,
"delta": 0.494,
"percent_delta": 0.328,
"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": 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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.506,
"after": 2.0,
"delta": 0.494,
"percent_delta": 0.328,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.375,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2603,
"after": 0.25,
"delta": -0.0103,
"percent_delta": -0.0396,
"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": 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.3503,
"after": 0.333,
"delta": -0.0173,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"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": 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.5233,
"after": 0.375,
"delta": -0.1483,
"percent_delta": -0.2834,
"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": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5233,
"after": 0.375,
"delta": -0.1483,
"percent_delta": -0.2834,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 0.0,
"delta": -2.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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"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": 4.0,
"predicted_AVG": 0.2603,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3503,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5233,
"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.2603,
"delta": 0.0103,
"percent_delta": 0.0414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3503,
"delta": 0.0173,
"percent_delta": 0.0518,
"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.375,
"after": 0.5233,
"delta": 0.1483,
"percent_delta": 0.3955,
"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.375,
"after": 0.5233,
"delta": 0.1483,
"percent_delta": 0.3955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.98,
"after": 4.0,
"delta": 0.02,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2603,
"delta": 0.0253,
"percent_delta": 0.1077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.687,
"after": 0.0,
"delta": -0.687,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3503,
"delta": 0.0173,
"percent_delta": 0.052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.761,
"after": 0.0,
"delta": -0.761,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.5233,
"delta": 0.0453,
"percent_delta": 0.0948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.337,
"after": 1.0,
"delta": -0.337,
"percent_delta": -0.2521,
"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_SLG",
"before": 0.478,
"after": 0.5233,
"delta": 0.0453,
"percent_delta": 0.0948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"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.169 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.980 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.687 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.761 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.478 | - |
| predicted_SO | 1.337 | - |
Final model 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.564 | 0.395 |
| predicted_3B | 0.026 | 0.010 |
| predicted_AB | 7.969 | 3.989 |
| predicted_AVG | 0.248 | 0.013 |
| predicted_BB | 1.096 | 0.409 |
| predicted_H | 2.043 | 1.113 |
| predicted_HBP | 0.272 | - |
| predicted_HR | 0.482 | 0.292 |
| predicted_OBP | 0.344 | 0.011 |
| predicted_R | 1.468 | 0.707 |
| predicted_RBI | 1.255 | 0.675 |
| predicted_SLG | 0.509 | 0.031 |
| predicted_SO | 2.609 | 1.272 |
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.564 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 7.969 | 0.000 |
| predicted_AVG | 0.260 | 0.012 |
| predicted_BB | 1.103 | 0.007 |
| predicted_H | 2.075 | 0.032 |
| predicted_HBP | 0.272 | 0.000 |
| predicted_HR | 0.493 | 0.011 |
| predicted_OBP | 0.350 | 0.006 |
| predicted_R | 1.506 | 0.038 |
| predicted_RBI | 1.287 | 0.032 |
| predicted_SLG | 0.523 | 0.014 |
| predicted_SO | 2.594 | -0.016 |
AB rounded to 8 (raw=7.97), rates preserved: AVG=0.260 HR/AB=0.062
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 3.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 2.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 3.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 | 1.000 | 0.436 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 8.000 | 0.031 |
| predicted_AVG | 0.250 | -0.010 |
| predicted_BB | 1.000 | -0.103 |
| predicted_H | 2.000 | -0.075 |
| predicted_HR | 0.000 | -0.493 |
| predicted_OBP | 0.333 | -0.017 |
| predicted_R | 2.000 | 0.494 |
| predicted_RBI | 1.000 | -0.287 |
| predicted_SLG | 0.375 | -0.148 |
| predicted_SO | 3.000 | 0.406 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -2.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.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 | - | 20.000 | 6.000 | 4.000 | 0.000 | 1.000 | 3.000 | 3.000 | 0.000 | 6.000 | 0.3000 | 0.3333 | 0.6500 | 0.3000 | 0.0500 | 0.1500 | 0.0000 | 0.3000 |
| last_10 | 0.20 | 6 | - | 45.000 | 21.000 | 4.000 | 0.000 | 6.000 | 13.000 | 8.000 | 0.000 | 11.000 | 0.4667 | 0.4783 | 0.9556 | 0.4667 | 0.1333 | 0.2889 | 0.0000 | 0.2444 |
| season | 0.60 | 57 | - | 952.000 | 229.000 | 41.000 | 4.000 | 64.000 | 151.000 | 185.000 | 167.000 | 325.000 | 0.2405 | 0.3602 | 0.4937 | 0.2406 | 0.0672 | 0.1586 | 0.1754 | 0.3414 |
| Metric | Value |
|---|---|
| predicted_2B | 1.0620 |
| predicted_3B | 0.0390 |
| predicted_AB | 12.9970 |
| predicted_AVG | 0.2650 |
| predicted_BB | 1.6120 |
| predicted_H | 3.4450 |
| predicted_HBP | 0.2720 |
| predicted_HR | 0.8500 |
| predicted_OBP | 0.3582 |
| predicted_R | 2.3600 |
| predicted_RBI | 2.1050 |
| predicted_SLG | 0.5492 |
| predicted_SO | 4.2130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 1.0620 | 0.5641 | model_form_blend |
| predicted_3B | 0.0160 | 0.0390 | 0.0262 | model_form_blend |
| predicted_AB | 3.9800 | 12.9970 | 7.9693 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2650 | 0.2483 | model_form_blend |
| predicted_BB | 0.6870 | 1.6120 | 1.0962 | model_form_blend |
| predicted_H | 0.9300 | 3.4450 | 2.0427 | model_form_blend |
| predicted_HBP | - | 0.2720 | 0.2720 | form_only |
| predicted_HR | 0.1900 | 0.8500 | 0.4820 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3582 | 0.3441 | model_form_blend |
| predicted_R | 0.7610 | 2.3600 | 1.4684 | model_form_blend |
| predicted_RBI | 0.5800 | 2.1050 | 1.2547 | model_form_blend |
| predicted_SLG | 0.4780 | 0.5492 | 0.5095 | model_form_blend |
| predicted_SO | 1.3370 | 4.2130 | 2.6094 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 243 |
| Season rows before report date | 243 |
| Report year | 2026 |
| Profile rows used | 243 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| 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 | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 664023 |
| playerID | 664023 |
| playerName | Ian Happ |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-03 |
| sl_k_percent | 31.5 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.359 |
| sl_xwoba | 0.343 |
| sl_xba | 0.213 |
| sl_xslg | 0.458 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 46.4 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 43.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.098 | 0.000 | 0.000 | Hitting_2B | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.098 | 4.000 | 5.000 | Hitting_AB | 3.076 | 1.000 | 0.924 | 3.000 |
| predicted_AVG | 0.235 | 0.000 | 0.200 | Hitting_AVG | 0.208 | 0.000 | -0.208 | 0.000 |
| predicted_BB | 0.364 | 0.000 | 0.000 | Hitting_BB | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.620 | 0.000 | 1.000 | Hitting_H | 0.639 | 0.000 | -0.639 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_OBP | 0.275 | 0.000 | 0.200 | Hitting_OBP | 0.287 | 0.000 | -0.287 | 0.000 |
| predicted_R | 0.392 | 0.000 | 1.000 | Hitting_R | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 1.000 | Hitting_RBI | 0.507 | 0.000 | -0.507 | 0.000 |
| predicted_SLG | 0.339 | 0.000 | 0.200 | Hitting_SLG | 0.395 | 0.000 | -0.395 | 0.000 |
| predicted_SO | 0.671 | 0.000 | 1.000 | Hitting_SO | 0.667 | 0.000 | -0.667 | 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: 3.0980 -> 4.0000 (boost 0.9020, better) |
| Biggest Deboost | predicted_SO: 0.6710 -> 0.0000 (deboost -0.6710, 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 | 10 | 7 | 3 | 6 | 4 | predicted_AB: 3.0980 -> 5.0500 (boost 1.9520, better) | predicted_AVG: 0.2350 -> 0.2105 (deboost -0.0245, 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_AVG: 0.2105 -> 0.1889 (deboost -0.0216, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 2 | 3 | predicted_RBI: 0.5995 -> 1.0000 (boost 0.4005, better) | predicted_BB: 0.4971 -> 0.0000 (deboost -0.4971, worse) | AB rounded to 5 (raw=5.05), rates preserved: AVG=0.189 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5545 -> 1.0000 (boost 0.4455, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1889 -> 0.2000 (boost 0.0111, better) | predicted_SLG: 0.3251 -> 0.2000 (deboost -0.1251, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2000 -> 0.3251 (boost 0.1251, better) | predicted_AVG: 0.2000 -> 0.1889 (deboost -0.0111, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"position": "C",
"team": "CHC",
"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.098,
"predicted_3B": 0.0,
"predicted_AB": 3.098,
"predicted_AVG": 0.235,
"predicted_BB": 0.364,
"predicted_H": 0.62,
"predicted_HR": 0.09,
"predicted_OBP": 0.275,
"predicted_R": 0.392,
"predicted_RBI": 0.32,
"predicted_SLG": 0.339,
"predicted_SO": 0.671
},
"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.1383,
"predicted_3B": 0.0009,
"predicted_AB": 5.05,
"predicted_AVG": 0.2105,
"predicted_BB": 0.4941,
"predicted_H": 0.9391,
"predicted_HBP": 0.004,
"predicted_HR": 0.1785,
"predicted_OBP": 0.2584,
"predicted_R": 0.5407,
"predicted_RBI": 0.5845,
"predicted_SLG": 0.3307,
"predicted_SO": 1.2013
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.098,
"after": 0.1383,
"delta": 0.0403,
"percent_delta": 0.4112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.098,
"after": 5.05,
"delta": 1.952,
"percent_delta": 0.6301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2105,
"delta": -0.0245,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.4941,
"delta": 0.1301,
"percent_delta": 0.3574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.9391,
"delta": 0.3191,
"percent_delta": 0.5147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1785,
"delta": 0.0885,
"percent_delta": 0.9833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2584,
"delta": -0.0166,
"percent_delta": -0.0604,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.392,
"after": 0.5407,
"delta": 0.1487,
"percent_delta": 0.3793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.5845,
"delta": 0.2645,
"percent_delta": 0.8266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3307,
"delta": -0.0083,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.671,
"after": 1.2013,
"delta": 0.5303,
"percent_delta": 0.7903,
"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_AB",
"before": 3.098,
"after": 5.05,
"delta": 1.952,
"percent_delta": 0.6301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2105,
"delta": -0.0245,
"percent_delta": -0.1043,
"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": 5,
"season": 48
}
},
{
"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.1383,
"predicted_3B": 0.0009,
"predicted_AB": 5.05,
"predicted_AVG": 0.1889,
"predicted_BB": 0.4971,
"predicted_H": 0.9538,
"predicted_HBP": 0.004,
"predicted_HR": 0.1826,
"predicted_OBP": 0.2616,
"predicted_R": 0.5545,
"predicted_RBI": 0.5995,
"predicted_SLG": 0.3251,
"predicted_SO": 1.194
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1383,
"after": 0.1383,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.05,
"after": 5.05,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2105,
"after": 0.1889,
"delta": -0.0216,
"percent_delta": -0.1026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4941,
"after": 0.4971,
"delta": 0.003,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9391,
"after": 0.9538,
"delta": 0.0147,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1785,
"after": 0.1826,
"delta": 0.0041,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2584,
"after": 0.2616,
"delta": 0.0032,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5407,
"after": 0.5545,
"delta": 0.0138,
"percent_delta": 0.0255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5845,
"after": 0.5995,
"delta": 0.015,
"percent_delta": 0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3307,
"after": 0.3251,
"delta": -0.0056,
"percent_delta": -0.0169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2013,
"after": 1.194,
"delta": -0.0073,
"percent_delta": -0.0061,
"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_AVG",
"before": 0.2105,
"after": 0.1889,
"delta": -0.0216,
"percent_delta": -0.1026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.05), rates preserved: AVG=0.189 HR/AB=0.036",
"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.1383,
"after": 0.0,
"delta": -0.1383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.05,
"after": 5.0,
"delta": -0.05,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4971,
"after": 0.0,
"delta": -0.4971,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9538,
"after": 1.0,
"delta": 0.0462,
"percent_delta": 0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1826,
"after": 0.0,
"delta": -0.1826,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5995,
"after": 1.0,
"delta": 0.4005,
"percent_delta": 0.6681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.194,
"after": 1.0,
"delta": -0.194,
"percent_delta": -0.1625,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5995,
"after": 1.0,
"delta": 0.4005,
"percent_delta": 0.6681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4971,
"after": 0.0,
"delta": -0.4971,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5545,
"after": 1.0,
"delta": 0.4455,
"percent_delta": 0.8034,
"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.5545,
"after": 1.0,
"delta": 0.4455,
"percent_delta": 0.8034,
"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": 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.1889,
"after": 0.2,
"delta": 0.0111,
"percent_delta": 0.0588,
"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.2616,
"after": 0.2,
"delta": -0.0616,
"percent_delta": -0.2355,
"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.3251,
"after": 0.2,
"delta": -0.1251,
"percent_delta": -0.3848,
"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.1889,
"after": 0.2,
"delta": 0.0111,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3251,
"after": 0.2,
"delta": -0.1251,
"percent_delta": -0.3848,
"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": 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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1889,
"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.2616,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3251,
"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.2,
"after": 0.1889,
"delta": -0.0111,
"percent_delta": -0.0556,
"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.2,
"after": 0.2616,
"delta": 0.0616,
"percent_delta": 0.3078,
"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.2,
"after": 0.3251,
"delta": 0.1251,
"percent_delta": 0.6255,
"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.2,
"after": 0.3251,
"delta": 0.1251,
"percent_delta": 0.6255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1889,
"delta": -0.0111,
"percent_delta": -0.0556,
"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.098,
"after": 0.0,
"delta": -0.098,
"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.098,
"after": 4.0,
"delta": 0.902,
"percent_delta": 0.2912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.1889,
"delta": -0.0461,
"percent_delta": -0.1962,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.0,
"delta": -0.364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2616,
"delta": -0.0134,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.392,
"after": 0.0,
"delta": -0.392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3251,
"delta": -0.0139,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.671,
"after": 0.0,
"delta": -0.671,
"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": 3.098,
"after": 4.0,
"delta": 0.902,
"percent_delta": 0.2912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.671,
"after": 0.0,
"delta": -0.671,
"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.098 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.098 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.364 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.392 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.339 | - |
| predicted_SO | 0.671 | - |
Final model 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.138 | 0.040 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.050 | 1.952 |
| predicted_AVG | 0.210 | -0.024 |
| predicted_BB | 0.494 | 0.130 |
| predicted_H | 0.939 | 0.319 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.178 | 0.088 |
| predicted_OBP | 0.258 | -0.017 |
| predicted_R | 0.541 | 0.149 |
| predicted_RBI | 0.585 | 0.265 |
| predicted_SLG | 0.331 | -0.008 |
| predicted_SO | 1.201 | 0.530 |
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.138 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.050 | 0.000 |
| predicted_AVG | 0.189 | -0.022 |
| predicted_BB | 0.497 | 0.003 |
| predicted_H | 0.954 | 0.015 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.183 | 0.004 |
| predicted_OBP | 0.262 | 0.003 |
| predicted_R | 0.554 | 0.014 |
| predicted_RBI | 0.600 | 0.015 |
| predicted_SLG | 0.325 | -0.006 |
| predicted_SO | 1.194 | -0.007 |
AB rounded to 5 (raw=5.05), rates preserved: AVG=0.189 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.138 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.050 |
| predicted_AVG | 0.200 | 0.011 |
| predicted_BB | 0.000 | -0.497 |
| predicted_H | 1.000 | 0.046 |
| predicted_HR | 0.000 | -0.183 |
| predicted_OBP | 0.200 | -0.062 |
| predicted_R | 1.000 | 0.446 |
| predicted_RBI | 1.000 | 0.400 |
| predicted_SLG | 0.200 | -0.125 |
| predicted_SO | 1.000 | -0.194 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -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 | 4 | - | 12.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.0833 | 0.0833 | 0.0833 | 0.0833 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 5 | - | 30.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 13.000 | 0.0333 | 0.0333 | 0.0333 | 0.0333 | 0.0000 | 0.0000 | 0.0000 | 0.4333 |
| season | 0.60 | 48 | - | 443.000 | 92.000 | 14.000 | 0.000 | 23.000 | 72.000 | 56.000 | 52.000 | 96.000 | 0.2077 | 0.2851 | 0.3950 | 0.2077 | 0.0519 | 0.1625 | 0.1174 | 0.2167 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1910 |
| predicted_3B | 0.0020 |
| predicted_AB | 7.6000 |
| predicted_AVG | 0.1784 |
| predicted_BB | 0.6640 |
| predicted_H | 1.3560 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.2940 |
| predicted_OBP | 0.2367 |
| predicted_R | 0.7350 |
| predicted_RBI | 0.9300 |
| predicted_SLG | 0.3198 |
| predicted_SO | 1.8940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0980 | 0.1910 | 0.1383 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.0980 | 7.6000 | 5.0500 | model_form_blend |
| predicted_AVG | 0.2350 | 0.1784 | 0.2105 | model_form_blend |
| predicted_BB | 0.3640 | 0.6640 | 0.4941 | model_form_blend |
| predicted_H | 0.6200 | 1.3560 | 0.9391 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0900 | 0.2940 | 0.1785 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2367 | 0.2584 | model_form_blend |
| predicted_R | 0.3920 | 0.7350 | 0.5407 | model_form_blend |
| predicted_RBI | 0.3200 | 0.9300 | 0.5845 | model_form_blend |
| predicted_SLG | 0.3390 | 0.3198 | 0.3307 | model_form_blend |
| predicted_SO | 0.6710 | 1.8940 | 1.2013 | 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 | 144 |
| Season rows before report date | 144 |
| Report year | 2026 |
| Profile rows used | 143 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| 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 | 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 | 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 | PH |
| gameID | 20260602_OAK@CHC |
| game_type | ph |
| mlbID | 694208 |
| note | Popped out for Swanson in the 8th. |
| playerID | 694208 |
| playerName | Moisés Ballesteros |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-02 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.314 |
| sl_xwoba | 0.318 |
| sl_xba | 0.238 |
| sl_xslg | 0.403 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 10.7 |
| sl_hard_hit_percent | 46.6 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 50.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.232 | 0.000 | 0.000 | Hitting_2B | 0.232 | 1.000 | -0.232 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.212 | 4.000 | 9.000 | Hitting_AB | 4.212 | 5.000 | -0.212 | -1.000 |
| predicted_AVG | 0.236 | 0.250 | 0.222 | Hitting_AVG | 0.258 | 0.200 | -0.008 | 0.050 |
| predicted_BB | 0.529 | 0.000 | 1.000 | Hitting_BB | 0.529 | 0.000 | -0.529 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.980 | 1.000 | 2.000 | Hitting_H | 1.085 | 1.000 | -0.085 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_OBP | 0.321 | 0.250 | 0.300 | Hitting_OBP | 0.342 | 0.200 | -0.092 | 0.050 |
| predicted_R | 0.483 | 0.000 | 1.000 | Hitting_R | 0.483 | 1.000 | -0.483 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.625 | 0.000 | -0.625 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_SLG | 0.357 | 0.250 | 0.222 | Hitting_SLG | 0.370 | 0.400 | -0.120 | -0.150 |
| predicted_SO | 0.328 | 1.000 | 1.000 | Hitting_SO | 0.328 | 0.000 | 0.672 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.3280 -> 1.0000 (boost 0.6720, worse) |
| Biggest Deboost | predicted_BB: 0.5290 -> 0.0000 (deboost -0.5290, 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 | 11 | 10 | 1 | 9 | 2 | predicted_AB: 4.2120 -> 8.5975 (boost 4.3855, better) | predicted_SLG: 0.3570 -> 0.3519 (deboost -0.0051, 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 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2426 -> 0.2499 (boost 0.0073, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.5515 -> 1.0000 (boost 0.4485, worse) | predicted_2B: 0.4518 -> 0.0000 (deboost -0.4518, worse) | AB rounded to 9 (raw=8.60), rates preserved: AVG=0.250 HR/AB=0.015 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3482 -> 0.2220 (deboost -0.1262, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2220 -> 0.3482 (boost 0.1262, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663538",
"player_name": "Nico Hoerner",
"position": "2B",
"team": "CHC",
"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.232,
"predicted_3B": 0.0,
"predicted_AB": 4.212,
"predicted_AVG": 0.236,
"predicted_BB": 0.529,
"predicted_H": 0.98,
"predicted_HR": 0.07,
"predicted_OBP": 0.321,
"predicted_R": 0.483,
"predicted_RBI": 0.45,
"predicted_SLG": 0.357,
"predicted_SO": 0.328
},
"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.4518,
"predicted_3B": 0.0004,
"predicted_AB": 8.5975,
"predicted_AVG": 0.2426,
"predicted_BB": 1.0803,
"predicted_H": 2.1149,
"predicted_HBP": 0.102,
"predicted_HR": 0.1281,
"predicted_OBP": 0.3276,
"predicted_R": 0.9386,
"predicted_RBI": 0.9929,
"predicted_SLG": 0.3519,
"predicted_SO": 0.5549
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.232,
"after": 0.4518,
"delta": 0.2198,
"percent_delta": 0.9474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.212,
"after": 8.5975,
"delta": 4.3855,
"percent_delta": 1.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2426,
"delta": 0.0066,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.529,
"after": 1.0803,
"delta": 0.5513,
"percent_delta": 1.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 2.1149,
"delta": 1.1349,
"percent_delta": 1.1581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1281,
"delta": 0.0581,
"percent_delta": 0.83,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3276,
"delta": 0.0066,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.483,
"after": 0.9386,
"delta": 0.4556,
"percent_delta": 0.9433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.9929,
"delta": 0.5429,
"percent_delta": 1.2064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3519,
"delta": -0.0051,
"percent_delta": -0.0143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.328,
"after": 0.5549,
"delta": 0.2269,
"percent_delta": 0.6918,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 10,
"deboosted_metrics": 1,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.212,
"after": 8.5975,
"delta": 4.3855,
"percent_delta": 1.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3519,
"delta": -0.0051,
"percent_delta": -0.0143,
"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": 60
}
},
{
"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.4518,
"predicted_3B": 0.0004,
"predicted_AB": 8.5975,
"predicted_AVG": 0.2499,
"predicted_BB": 1.0869,
"predicted_H": 2.1481,
"predicted_HBP": 0.102,
"predicted_HR": 0.131,
"predicted_OBP": 0.334,
"predicted_R": 0.9626,
"predicted_RBI": 1.0183,
"predicted_SLG": 0.3482,
"predicted_SO": 0.5515
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4518,
"after": 0.4518,
"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": 8.5975,
"after": 8.5975,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2426,
"after": 0.2499,
"delta": 0.0073,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0803,
"after": 1.0869,
"delta": 0.0066,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1149,
"after": 2.1481,
"delta": 0.0332,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.102,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1281,
"after": 0.131,
"delta": 0.0029,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3276,
"after": 0.334,
"delta": 0.0064,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9386,
"after": 0.9626,
"delta": 0.024,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9929,
"after": 1.0183,
"delta": 0.0254,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3519,
"after": 0.3482,
"delta": -0.0037,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5549,
"after": 0.5515,
"delta": -0.0034,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2426,
"after": 0.2499,
"delta": 0.0073,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.60), rates preserved: AVG=0.250 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.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.4518,
"after": 0.0,
"delta": -0.4518,
"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": 8.5975,
"after": 9.0,
"delta": 0.4025,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0869,
"after": 1.0,
"delta": -0.0869,
"percent_delta": -0.08,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1481,
"after": 2.0,
"delta": -0.1481,
"percent_delta": -0.0689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.131,
"after": 0.0,
"delta": -0.131,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0183,
"after": 1.0,
"delta": -0.0183,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5515,
"after": 1.0,
"delta": 0.4485,
"percent_delta": 0.8132,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5515,
"after": 1.0,
"delta": 0.4485,
"percent_delta": 0.8132,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4518,
"after": 0.0,
"delta": -0.4518,
"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": 9.0,
"predicted_BB": 1.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": 9.0,
"after": 9.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": 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.9626,
"after": 1.0,
"delta": 0.0374,
"percent_delta": 0.0389,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.222,
"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": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2499,
"after": 0.222,
"delta": -0.0279,
"percent_delta": -0.1116,
"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": 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.334,
"after": 0.3,
"delta": -0.034,
"percent_delta": -0.1018,
"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.3482,
"after": 0.222,
"delta": -0.1262,
"percent_delta": -0.3624,
"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.3482,
"after": 0.222,
"delta": -0.1262,
"percent_delta": -0.3624,
"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": 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": 9.0,
"after": 4.0,
"delta": -5.0,
"percent_delta": -0.5556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 9.0,
"after": 4.0,
"delta": -5.0,
"percent_delta": -0.5556,
"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": 4.0,
"predicted_AVG": 0.2499,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.334,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3482,
"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.222,
"after": 0.2499,
"delta": 0.0279,
"percent_delta": 0.1255,
"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.3,
"after": 0.334,
"delta": 0.034,
"percent_delta": 0.1135,
"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.222,
"after": 0.3482,
"delta": 0.1262,
"percent_delta": 0.5685,
"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.222,
"after": 0.3482,
"delta": 0.1262,
"percent_delta": 0.5685,
"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.232,
"after": 0.0,
"delta": -0.232,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.212,
"after": 4.0,
"delta": -0.212,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2499,
"delta": 0.0139,
"percent_delta": 0.0589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.0,
"delta": 0.02,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.334,
"delta": 0.013,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.483,
"after": 0.0,
"delta": -0.483,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3482,
"delta": -0.0088,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.328,
"after": 1.0,
"delta": 0.672,
"percent_delta": 2.0488,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.328,
"after": 1.0,
"delta": 0.672,
"percent_delta": 2.0488,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"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.232 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.212 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.529 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.483 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.357 | - |
| predicted_SO | 0.328 | - |
Final model 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.452 | 0.220 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.598 | 4.386 |
| predicted_AVG | 0.243 | 0.007 |
| predicted_BB | 1.080 | 0.551 |
| predicted_H | 2.115 | 1.135 |
| predicted_HBP | 0.102 | - |
| predicted_HR | 0.128 | 0.058 |
| predicted_OBP | 0.328 | 0.007 |
| predicted_R | 0.939 | 0.456 |
| predicted_RBI | 0.993 | 0.543 |
| predicted_SLG | 0.352 | -0.005 |
| predicted_SO | 0.555 | 0.227 |
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.452 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.598 | 0.000 |
| predicted_AVG | 0.250 | 0.007 |
| predicted_BB | 1.087 | 0.007 |
| predicted_H | 2.148 | 0.033 |
| predicted_HBP | 0.102 | 0.000 |
| predicted_HR | 0.131 | 0.003 |
| predicted_OBP | 0.334 | 0.006 |
| predicted_R | 0.963 | 0.024 |
| predicted_RBI | 1.018 | 0.025 |
| predicted_SLG | 0.348 | -0.004 |
| predicted_SO | 0.551 | -0.003 |
AB rounded to 9 (raw=8.60), rates preserved: AVG=0.250 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 1.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.452 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 9.000 | 0.402 |
| predicted_AVG | 0.222 | -0.028 |
| predicted_BB | 1.000 | -0.087 |
| predicted_H | 2.000 | -0.148 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.300 | -0.034 |
| predicted_R | 1.000 | 0.037 |
| predicted_RBI | 1.000 | -0.018 |
| predicted_SLG | 0.222 | -0.126 |
| predicted_SO | 1.000 | 0.449 |
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 | -5.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 0.2381 | 0.3333 | 0.2857 | 0.2381 | 0.0000 | 0.0476 | 0.1429 | 0.0000 |
| last_10 | 0.20 | 6 | - | 46.000 | 10.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 0.2174 | 0.2653 | 0.2391 | 0.2174 | 0.0000 | 0.0217 | 0.0652 | 0.0000 |
| season | 0.60 | 60 | - | 1091.000 | 281.000 | 60.000 | 0.000 | 21.000 | 162.000 | 125.000 | 137.000 | 85.000 | 0.2576 | 0.3424 | 0.3703 | 0.2576 | 0.0192 | 0.1485 | 0.1256 | 0.0779 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7280 |
| predicted_3B | 0.0010 |
| predicted_AB | 14.1080 |
| predicted_AVG | 0.2510 |
| predicted_BB | 1.7730 |
| predicted_H | 3.5410 |
| predicted_HBP | 0.1020 |
| predicted_HR | 0.2010 |
| predicted_OBP | 0.3360 |
| predicted_R | 1.5110 |
| predicted_RBI | 1.6750 |
| predicted_SLG | 0.3454 |
| predicted_SO | 0.8400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2320 | 0.7280 | 0.4518 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2120 | 14.1080 | 8.5975 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2510 | 0.2426 | model_form_blend |
| predicted_BB | 0.5290 | 1.7730 | 1.0803 | model_form_blend |
| predicted_H | 0.9800 | 3.5410 | 2.1149 | model_form_blend |
| predicted_HBP | - | 0.1020 | 0.1020 | form_only |
| predicted_HR | 0.0700 | 0.2010 | 0.1281 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3360 | 0.3276 | model_form_blend |
| predicted_R | 0.4830 | 1.5110 | 0.9386 | model_form_blend |
| predicted_RBI | 0.4500 | 1.6750 | 0.9929 | model_form_blend |
| predicted_SLG | 0.3570 | 0.3454 | 0.3519 | model_form_blend |
| predicted_SO | 0.3280 | 0.8400 | 0.5549 | 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 | 259 |
| Season rows before report date | 259 |
| Report year | 2026 |
| Profile rows used | 259 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.258 |
| 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 663538 |
| playerID | 663538 |
| playerName | Nico Hoerner |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-03 |
| sl_k_percent | 7.1 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.316 |
| sl_xwoba | 0.337 |
| sl_xba | 0.294 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 1.3 |
| sl_hard_hit_percent | 28.5 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 10.4 |
| sl_swing_percent | 42.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.444 | 1.000 | 0.000 | Hitting_2B | 0.364 | 0.000 | 0.636 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.889 | 3.000 | 3.000 | Hitting_AB | 2.364 | 4.000 | 0.636 | -1.000 |
| predicted_AVG | 0.266 | 0.333 | 0.333 | Hitting_AVG | 0.269 | 0.000 | 0.064 | 0.333 |
| predicted_BB | 0.444 | 0.000 | 0.000 | Hitting_BB | 0.364 | 0.000 | -0.364 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.180 | 1.000 | 1.000 | Hitting_H | 0.636 | 0.000 | 0.364 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.274 | 0.333 | 0.333 | Hitting_OBP | 0.367 | 0.000 | -0.033 | 0.333 |
| predicted_R | 0.444 | 0.000 | 0.000 | Hitting_R | 0.364 | 0.000 | -0.364 | 0.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.364 | 0.000 | -0.364 | 0.000 |
| predicted_SLG | 0.369 | 0.667 | 0.333 | Hitting_SLG | 0.423 | 0.000 | 0.244 | 0.667 |
| predicted_SO | 0.000 | 0.000 | 1.000 | Hitting_SO | 0.000 | 0.000 | 0.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.1800 -> 1.0000 (boost 0.8200, better) |
| Biggest Deboost | predicted_BB: 0.4440 -> 0.0000 (deboost -0.4440, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 4 | 1 | predicted_AB: 2.8890 -> 3.4531 (boost 0.5641, 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.2619 -> 0.1439 (deboost -0.1180, 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.1579 -> 1.0000 (boost 0.8421, worse) | predicted_H: 0.4969 -> 0.0000 (deboost -0.4969, worse) | AB rounded to 3 (raw=3.45), rates preserved: AVG=0.144 HR/AB=0.013 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4750 -> 0.0000 (deboost -0.4750, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1439 -> 0.3330 (boost 0.1891, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1439 (deboost -0.1891, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699393",
"player_name": "Pedro Ramirez",
"position": "DH",
"team": "CHC",
"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.444,
"predicted_3B": 0.0,
"predicted_AB": 2.889,
"predicted_AVG": 0.266,
"predicted_BB": 0.444,
"predicted_H": 0.18,
"predicted_HR": 0.03,
"predicted_OBP": 0.274,
"predicted_R": 0.444,
"predicted_RBI": 0.12,
"predicted_SLG": 0.369,
"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": "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.406,
"predicted_3B": 0.0027,
"predicted_AB": 3.4531,
"predicted_AVG": 0.2619,
"predicted_BB": 0.4264,
"predicted_H": 0.4892,
"predicted_HBP": 0.022,
"predicted_HR": 0.0452,
"predicted_OBP": 0.2858,
"predicted_R": 0.4631,
"predicted_RBI": 0.2397,
"predicted_SLG": 0.3706,
"predicted_SO": 0.1589
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.444,
"after": 0.406,
"delta": -0.038,
"percent_delta": -0.0856,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0027,
"delta": 0.0027,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.889,
"after": 3.4531,
"delta": 0.5641,
"percent_delta": 0.1953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2619,
"delta": -0.0041,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.4264,
"delta": -0.0176,
"percent_delta": -0.0396,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 0.4892,
"delta": 0.3092,
"percent_delta": 1.7178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0452,
"delta": 0.0152,
"percent_delta": 0.5067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2858,
"delta": 0.0118,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 0.4631,
"delta": 0.0191,
"percent_delta": 0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.2397,
"delta": 0.1197,
"percent_delta": 0.9975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3706,
"delta": 0.0016,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.1589,
"delta": 0.1589,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.889,
"after": 3.4531,
"delta": 0.5641,
"percent_delta": 0.1953,
"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": 3,
"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.406,
"predicted_3B": 0.0027,
"predicted_AB": 3.4531,
"predicted_AVG": 0.1439,
"predicted_BB": 0.429,
"predicted_H": 0.4969,
"predicted_HBP": 0.022,
"predicted_HR": 0.0462,
"predicted_OBP": 0.2385,
"predicted_R": 0.475,
"predicted_RBI": 0.2458,
"predicted_SLG": 0.3032,
"predicted_SO": 0.1579
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.406,
"after": 0.406,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0027,
"after": 0.0027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4531,
"after": 3.4531,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2619,
"after": 0.1439,
"delta": -0.118,
"percent_delta": -0.4506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4264,
"after": 0.429,
"delta": 0.0026,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4892,
"after": 0.4969,
"delta": 0.0077,
"percent_delta": 0.0157,
"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.0452,
"after": 0.0462,
"delta": 0.001,
"percent_delta": 0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2858,
"after": 0.2385,
"delta": -0.0473,
"percent_delta": -0.1655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4631,
"after": 0.475,
"delta": 0.0119,
"percent_delta": 0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2397,
"after": 0.2458,
"delta": 0.0061,
"percent_delta": 0.0254,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3706,
"after": 0.3032,
"delta": -0.0674,
"percent_delta": -0.1819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.1589,
"after": 0.1579,
"delta": -0.001,
"percent_delta": -0.0063,
"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.2619,
"after": 0.1439,
"delta": -0.118,
"percent_delta": -0.4506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.45), rates preserved: AVG=0.144 HR/AB=0.013",
"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.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0027,
"after": 0.0,
"delta": -0.0027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4531,
"after": 3.0,
"delta": -0.4531,
"percent_delta": -0.1312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4969,
"after": 0.0,
"delta": -0.4969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0462,
"after": 0.0,
"delta": -0.0462,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2458,
"after": 0.0,
"delta": -0.2458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.1579,
"after": 1.0,
"delta": 0.8421,
"percent_delta": 5.3331,
"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.1579,
"after": 1.0,
"delta": 0.8421,
"percent_delta": 5.3331,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4969,
"after": 0.0,
"delta": -0.4969,
"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.475,
"after": 0.0,
"delta": -0.475,
"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.475,
"after": 0.0,
"delta": -0.475,
"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.1439,
"after": 0.333,
"delta": 0.1891,
"percent_delta": 1.3141,
"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.2385,
"after": 0.333,
"delta": 0.0945,
"percent_delta": 0.3962,
"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.3032,
"after": 0.333,
"delta": 0.0298,
"percent_delta": 0.0983,
"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.1439,
"after": 0.333,
"delta": 0.1891,
"percent_delta": 1.3141,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"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": {
"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": 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": 3.0,
"predicted_AVG": 0.1439,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2385,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3032,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1439,
"delta": -0.1891,
"percent_delta": -0.5679,
"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.2385,
"delta": -0.0945,
"percent_delta": -0.2838,
"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.3032,
"delta": -0.0298,
"percent_delta": -0.0895,
"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.1439,
"delta": -0.1891,
"percent_delta": -0.5679,
"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.444,
"after": 1.0,
"delta": 0.556,
"percent_delta": 1.2523,
"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.889,
"after": 3.0,
"delta": 0.111,
"percent_delta": 0.0384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.1439,
"delta": -0.1221,
"percent_delta": -0.459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2385,
"delta": -0.0355,
"percent_delta": -0.1296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3032,
"delta": -0.0658,
"percent_delta": -0.1783,
"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": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"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.444 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.889 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.444 | - |
| predicted_H | 0.180 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.444 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 0.000 | - |
Final model 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.406 | -0.038 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 3.453 | 0.564 |
| predicted_AVG | 0.262 | -0.004 |
| predicted_BB | 0.426 | -0.018 |
| predicted_H | 0.489 | 0.309 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.045 | 0.015 |
| predicted_OBP | 0.286 | 0.012 |
| predicted_R | 0.463 | 0.019 |
| predicted_RBI | 0.240 | 0.120 |
| predicted_SLG | 0.371 | 0.002 |
| predicted_SO | 0.159 | 0.159 |
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.406 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 3.453 | 0.000 |
| predicted_AVG | 0.144 | -0.118 |
| predicted_BB | 0.429 | 0.003 |
| predicted_H | 0.497 | 0.008 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.046 | 0.001 |
| predicted_OBP | 0.238 | -0.047 |
| predicted_R | 0.475 | 0.012 |
| predicted_RBI | 0.246 | 0.006 |
| predicted_SLG | 0.303 | -0.067 |
| predicted_SO | 0.158 | -0.001 |
AB rounded to 3 (raw=3.45), rates preserved: AVG=0.144 HR/AB=0.013
| 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.406 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 3.000 | -0.453 |
| predicted_AVG | 0.333 | 0.189 |
| predicted_BB | 0.000 | -0.429 |
| predicted_H | 1.000 | 0.503 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.333 | 0.095 |
| predicted_R | 0.000 | -0.475 |
| predicted_RBI | 0.000 | -0.246 |
| predicted_SLG | 0.333 | 0.030 |
| predicted_SO | 1.000 | 0.842 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 16.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 0.2500 | 0.2941 | 0.3125 | 0.2500 | 0.0000 | 0.0625 | 0.0625 | 0.0000 |
| last_10 | 0.20 | 4 | - | 26.000 | 7.000 | 4.000 | 0.000 | 0.000 | 4.000 | 4.000 | 4.000 | 0.000 | 0.2692 | 0.3667 | 0.4231 | 0.2692 | 0.0000 | 0.1538 | 0.1538 | 0.0000 |
| season | 0.60 | 4 | - | 26.000 | 7.000 | 4.000 | 0.000 | 0.000 | 4.000 | 4.000 | 4.000 | 0.000 | 0.2692 | 0.3667 | 0.4231 | 0.2692 | 0.0000 | 0.1538 | 0.1538 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3190 |
| predicted_3B | 0.0090 |
| predicted_AB | 4.7460 |
| predicted_AVG | 0.2525 |
| predicted_BB | 0.3860 |
| predicted_H | 1.1980 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.3129 |
| predicted_R | 0.5070 |
| predicted_RBI | 0.5140 |
| predicted_SLG | 0.3742 |
| predicted_SO | 0.5230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.4440 | 0.3190 | 0.4060 | model_form_blend |
| predicted_3B | 0.0000 | 0.0090 | 0.0027 | model_form_blend |
| predicted_AB | 2.8890 | 4.7460 | 3.4531 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2525 | 0.2619 | model_form_blend |
| predicted_BB | 0.4440 | 0.3860 | 0.4264 | model_form_blend |
| predicted_H | 0.1800 | 1.1980 | 0.4892 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0300 | 0.0800 | 0.0452 | model_form_blend |
| predicted_OBP | 0.2740 | 0.3129 | 0.2858 | model_form_blend |
| predicted_R | 0.4440 | 0.5070 | 0.4631 | model_form_blend |
| predicted_RBI | 0.1200 | 0.5140 | 0.2397 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3742 | 0.3706 | model_form_blend |
| predicted_SO | 0.0000 | 0.5230 | 0.1589 | 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 | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 9 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 699393 |
| playerID | 699393 |
| playerName | Pedro Ramirez |
| pos | 2B |
| started | True |
| startingPosition | 3B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-03 |
| sl_k_percent | 0.0 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.239 |
| sl_xwoba | 0.306 |
| sl_xba | 0.295 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 45.5 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | -1.6 |
| sl_whiff_percent | 6.7 |
| sl_swing_percent | 44.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.092 | 0.000 | 0.000 | Hitting_2B | 0.092 | 1.000 | -0.092 | -1.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.463 | 2.000 | 6.000 | Hitting_AB | 3.463 | 4.000 | -1.463 | -2.000 |
| predicted_AVG | 0.218 | 0.500 | 0.167 | Hitting_AVG | 0.200 | 0.250 | 0.300 | 0.250 |
| predicted_BB | 0.541 | 1.000 | 1.000 | Hitting_BB | 0.541 | 0.000 | 0.459 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.650 | 1.000 | 1.000 | Hitting_H | 0.693 | 1.000 | 0.307 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_OBP | 0.299 | 0.667 | 0.286 | Hitting_OBP | 0.306 | 0.250 | 0.360 | 0.417 |
| predicted_R | 0.674 | 1.000 | 1.000 | Hitting_R | 0.674 | 0.000 | 0.326 | 1.000 |
| predicted_RBI | 0.320 | 1.000 | 1.000 | Hitting_RBI | 0.537 | 0.000 | 0.463 | 1.000 |
| predicted_SLG | 0.334 | 0.500 | 0.167 | Hitting_SLG | 0.368 | 0.500 | 0.132 | 0.000 |
| predicted_SO | 0.899 | 0.000 | 2.000 | Hitting_SO | 0.899 | 2.000 | -0.899 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.3200 -> 1.0000 (boost 0.6800, better) |
| Biggest Deboost | predicted_AB: 3.4630 -> 2.0000 (deboost -1.4630, 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 | 10 | 8 | 2 | 7 | 3 | predicted_AB: 3.4630 -> 6.2370 (boost 2.7740, better) | predicted_AVG: 0.2180 -> 0.2016 (deboost -0.0164, 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_AVG: 0.2016 -> 0.1858 (deboost -0.0158, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.6534 -> 1.0000 (boost 0.3466, better) | predicted_AB: 6.2370 -> 6.0000 (deboost -0.2370, worse) | AB rounded to 6 (raw=6.24), rates preserved: AVG=0.186 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1507 -> 1.0000 (deboost -0.1507, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3175 -> 0.1670 (deboost -0.1505, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_AB: 6.0000 -> 2.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3175 (boost 0.1505, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621020",
"player_name": "Dansby Swanson",
"position": "SS",
"team": "CHC",
"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.092,
"predicted_3B": 0.018,
"predicted_AB": 3.463,
"predicted_AVG": 0.218,
"predicted_BB": 0.541,
"predicted_H": 0.65,
"predicted_HR": 0.09,
"predicted_OBP": 0.299,
"predicted_R": 0.674,
"predicted_RBI": 0.32,
"predicted_SLG": 0.334,
"predicted_SO": 0.899
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2211,
"predicted_3B": 0.0255,
"predicted_AB": 6.237,
"predicted_AVG": 0.2016,
"predicted_BB": 1.0436,
"predicted_H": 1.1407,
"predicted_HBP": 0.037,
"predicted_HR": 0.179,
"predicted_OBP": 0.2997,
"predicted_R": 1.122,
"predicted_RBI": 0.6371,
"predicted_SLG": 0.3266,
"predicted_SO": 1.894
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.092,
"after": 0.2211,
"delta": 0.1291,
"percent_delta": 1.4033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0255,
"delta": 0.0075,
"percent_delta": 0.4167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.463,
"after": 6.237,
"delta": 2.774,
"percent_delta": 0.801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2016,
"delta": -0.0164,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.541,
"after": 1.0436,
"delta": 0.5026,
"percent_delta": 0.929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 1.1407,
"delta": 0.4907,
"percent_delta": 0.7549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.179,
"delta": 0.089,
"percent_delta": 0.9889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2997,
"delta": 0.0007,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.674,
"after": 1.122,
"delta": 0.448,
"percent_delta": 0.6647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.6371,
"delta": 0.3171,
"percent_delta": 0.9909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3266,
"delta": -0.0074,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 1.894,
"delta": 0.995,
"percent_delta": 1.1068,
"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": 3.463,
"after": 6.237,
"delta": 2.774,
"percent_delta": 0.801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2016,
"delta": -0.0164,
"percent_delta": -0.0752,
"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": 7,
"season": 58
}
},
{
"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.2211,
"predicted_3B": 0.0255,
"predicted_AB": 6.237,
"predicted_AVG": 0.1858,
"predicted_BB": 1.05,
"predicted_H": 1.1586,
"predicted_HBP": 0.037,
"predicted_HR": 0.1831,
"predicted_OBP": 0.3031,
"predicted_R": 1.1507,
"predicted_RBI": 0.6534,
"predicted_SLG": 0.3175,
"predicted_SO": 1.8824
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2211,
"after": 0.2211,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0255,
"after": 0.0255,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.237,
"after": 6.237,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2016,
"after": 0.1858,
"delta": -0.0158,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0436,
"after": 1.05,
"delta": 0.0064,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1407,
"after": 1.1586,
"delta": 0.0179,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.179,
"after": 0.1831,
"delta": 0.0041,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2997,
"after": 0.3031,
"delta": 0.0034,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.122,
"after": 1.1507,
"delta": 0.0287,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6371,
"after": 0.6534,
"delta": 0.0163,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3266,
"after": 0.3175,
"delta": -0.0091,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.894,
"after": 1.8824,
"delta": -0.0116,
"percent_delta": -0.0061,
"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_AVG",
"before": 0.2016,
"after": 0.1858,
"delta": -0.0158,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.24), rates preserved: AVG=0.186 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2211,
"after": 0.0,
"delta": -0.2211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0255,
"after": 0.0,
"delta": -0.0255,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.237,
"after": 6.0,
"delta": -0.237,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.05,
"after": 1.0,
"delta": -0.05,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1586,
"after": 1.0,
"delta": -0.1586,
"percent_delta": -0.1369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1831,
"after": 0.0,
"delta": -0.1831,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6534,
"after": 1.0,
"delta": 0.3466,
"percent_delta": 0.5305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8824,
"after": 2.0,
"delta": 0.1176,
"percent_delta": 0.0625,
"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_RBI",
"before": 0.6534,
"after": 1.0,
"delta": 0.3466,
"percent_delta": 0.5305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.237,
"after": 6.0,
"delta": -0.237,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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": 1.1507,
"after": 1.0,
"delta": -0.1507,
"percent_delta": -0.131,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.1507,
"after": 1.0,
"delta": -0.1507,
"percent_delta": -0.131,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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": 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.1858,
"after": 0.167,
"delta": -0.0188,
"percent_delta": -0.1012,
"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.3031,
"after": 0.286,
"delta": -0.0171,
"percent_delta": -0.0564,
"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.3175,
"after": 0.167,
"delta": -0.1505,
"percent_delta": -0.474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3175,
"after": 0.167,
"delta": -0.1505,
"percent_delta": -0.474,
"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": 2.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": 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": 2.0,
"delta": -4.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 2.0,
"delta": -4.0,
"percent_delta": -0.6667,
"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": 2.0,
"predicted_AVG": 0.1858,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3031,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3175,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.1858,
"delta": 0.0188,
"percent_delta": 0.1124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3031,
"delta": 0.0171,
"percent_delta": 0.0597,
"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.167,
"after": 0.3175,
"delta": 0.1505,
"percent_delta": 0.901,
"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.167,
"after": 0.3175,
"delta": 0.1505,
"percent_delta": 0.901,
"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.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.463,
"after": 2.0,
"delta": -1.463,
"percent_delta": -0.4225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.1858,
"delta": -0.0322,
"percent_delta": -0.1477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.541,
"after": 1.0,
"delta": 0.459,
"percent_delta": 0.8484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"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.299,
"after": 0.3031,
"delta": 0.0041,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.674,
"after": 1.0,
"delta": 0.326,
"percent_delta": 0.4837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 1.0,
"delta": 0.68,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3175,
"delta": -0.0165,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 0.0,
"delta": -0.899,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.32,
"after": 1.0,
"delta": 0.68,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.463,
"after": 2.0,
"delta": -1.463,
"percent_delta": -0.4225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.092 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 3.463 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.541 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.674 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.334 | - |
| predicted_SO | 0.899 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | 0.129 |
| predicted_3B | 0.025 | 0.007 |
| predicted_AB | 6.237 | 2.774 |
| predicted_AVG | 0.202 | -0.016 |
| predicted_BB | 1.044 | 0.503 |
| predicted_H | 1.141 | 0.491 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.179 | 0.089 |
| predicted_OBP | 0.300 | 0.001 |
| predicted_R | 1.122 | 0.448 |
| predicted_RBI | 0.637 | 0.317 |
| predicted_SLG | 0.327 | -0.007 |
| predicted_SO | 1.894 | 0.995 |
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.221 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 6.237 | 0.000 |
| predicted_AVG | 0.186 | -0.016 |
| predicted_BB | 1.050 | 0.006 |
| predicted_H | 1.159 | 0.018 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.183 | 0.004 |
| predicted_OBP | 0.303 | 0.003 |
| predicted_R | 1.151 | 0.029 |
| predicted_RBI | 0.653 | 0.016 |
| predicted_SLG | 0.318 | -0.009 |
| predicted_SO | 1.882 | -0.012 |
AB rounded to 6 (raw=6.24), rates preserved: AVG=0.186 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.221 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 6.000 | -0.237 |
| predicted_AVG | 0.167 | -0.019 |
| predicted_BB | 1.000 | -0.050 |
| predicted_H | 1.000 | -0.159 |
| predicted_HR | 0.000 | -0.183 |
| predicted_OBP | 0.286 | -0.017 |
| predicted_R | 1.000 | -0.151 |
| predicted_RBI | 1.000 | 0.347 |
| predicted_SLG | 0.167 | -0.150 |
| predicted_SO | 2.000 | 0.118 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 15.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 7.000 | 0.1333 | 0.2778 | 0.2000 | 0.1333 | 0.0000 | 0.0000 | 0.2000 | 0.4667 |
| last_10 | 0.20 | 7 | - | 31.000 | 4.000 | 2.000 | 0.000 | 0.000 | 0.000 | 4.000 | 8.000 | 15.000 | 0.1290 | 0.3077 | 0.1935 | 0.1290 | 0.0000 | 0.0000 | 0.2581 | 0.4839 |
| season | 0.60 | 58 | - | 755.000 | 151.000 | 20.000 | 4.000 | 33.000 | 117.000 | 147.000 | 118.000 | 196.000 | 0.2000 | 0.3064 | 0.3682 | 0.2000 | 0.0437 | 0.1550 | 0.1563 | 0.2596 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3850 |
| predicted_3B | 0.0350 |
| predicted_AB | 9.7610 |
| predicted_AVG | 0.1807 |
| predicted_BB | 1.6820 |
| predicted_H | 1.7640 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.2920 |
| predicted_OBP | 0.3005 |
| predicted_R | 1.6910 |
| predicted_RBI | 1.0400 |
| predicted_SLG | 0.3172 |
| predicted_SO | 3.1580 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0920 | 0.3850 | 0.2211 | model_form_blend |
| predicted_3B | 0.0180 | 0.0350 | 0.0255 | model_form_blend |
| predicted_AB | 3.4630 | 9.7610 | 6.2370 | model_form_blend |
| predicted_AVG | 0.2180 | 0.1807 | 0.2016 | model_form_blend |
| predicted_BB | 0.5410 | 1.6820 | 1.0436 | model_form_blend |
| predicted_H | 0.6500 | 1.7640 | 1.1407 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.0900 | 0.2920 | 0.1790 | model_form_blend |
| predicted_OBP | 0.2990 | 0.3005 | 0.2997 | model_form_blend |
| predicted_R | 0.6740 | 1.6910 | 1.1220 | model_form_blend |
| predicted_RBI | 0.3200 | 1.0400 | 0.6371 | model_form_blend |
| predicted_SLG | 0.3340 | 0.3172 | 0.3266 | model_form_blend |
| predicted_SO | 0.8990 | 3.1580 | 1.8940 | 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 | 218 |
| Season rows before report date | 218 |
| Report year | 2026 |
| Profile rows used | 218 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 621020 |
| playerID | 621020 |
| playerName | Dansby Swanson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-03 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.283 |
| sl_xwoba | 0.297 |
| sl_xba | 0.199 |
| sl_xslg | 0.355 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 42.5 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.500 | 1.000 | -0.500 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.833 | 5.000 | 0.167 | -2.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 4.750 | 5.000 | 2.250 | 2.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.775 | 5.100 | -0.575 | 0.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.750 | 2.000 | -0.750 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 2 |
| Better Metrics | 2 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 3 | 1 | 2 | 2 | 1 | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "684007",
"player_name": "Shota Imanaga",
"position": "Starter",
"team": "CHC",
"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": 4.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_SO": 5.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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 5.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"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 | 4.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 4.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 3.000 | -1.000 |
| predicted_H | 7.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 5.000 | 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 | 28.200 | 23.000 | 32.000 | 8.000 | 26.000 | 10.000 | 7.2209 | 1.3953 | 0.8023 | 1.1163 | 0.2791 | 0.9070 | 0.3488 |
| last_10 | 0.35 | 10 | 60.000 | 29.000 | 48.000 | 15.000 | 58.000 | 12.000 | 4.3500 | 1.0500 | 0.4833 | 0.8000 | 0.2500 | 0.9667 | 0.2000 |
| season | 0.20 | 12 | 70.000 | 34.000 | 57.000 | 18.000 | 69.000 | 13.000 | 4.3714 | 1.0714 | 0.4857 | 0.8143 | 0.2571 | 0.9857 | 0.1857 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7080 |
| predicted_ER | 3.3890 |
| predicted_ERA | 5.2628 |
| predicted_H | 5.4970 |
| predicted_HR | 1.3140 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.4650 |
| predicted_WHIP | 1.2429 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.7080 | 1.3722 | model_form_blend |
| predicted_ER | 4.0000 | 3.3890 | 3.6788 | model_form_blend |
| predicted_ERA | - | 5.2628 | 5.2628 | form_only |
| predicted_H | 7.0000 | 5.4970 | 6.2098 | model_form_blend |
| predicted_HR | 0.0000 | 1.3140 | 0.6908 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 4.0000 | 5.4650 | 4.7702 | model_form_blend |
| predicted_WHIP | - | 1.2429 | 1.2429 | 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 | 12 |
| Season rows before report date | 12 |
| Report year | 2026 |
| Profile rows used | 12 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 7 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 5 |
| HR | 0 |
| BF | 25 |
| Pitches | 96 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 5 |
| Pitching_ERA | 4.37 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 7 |
| Pitching_H | 5 |
| Pitching_HBP | 2 |
| Pitching_HR | 3 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.1 |
| Pitching_Pitches | 75 |
| Pitching_R | 5 |
| Pitching_SO | 2 |
| Pitching_Strikes | 46 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260529_CHC@STL |
| game_type | full |
| mlbID | 684007 |
| playerID | 684007 |
| playerName | Shota Imanaga |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-29 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.306 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 40.7 |
| sl_whiff_percent | 30.0 |
| sl_swing_percent | 50.3 |
| sl_avg_best_speed | 78.822072813 |
| sl_avg_hyper_speed | 94.196405729 |
| 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.500 | 0.000 | -0.500 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.375 | 2.000 | 0.625 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.750 | 3.000 | 0.250 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.688 | 0.200 | 0.413 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.938 | 0.000 | 0.062 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 4 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_run_redistribution | 3 | 3 | 0 | 1 | 2 | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent. |
| 3 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "573204",
"player_name": "Caleb Thielbar",
"position": "Middle Reliever",
"team": "CHC",
"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": "pitcher_quality_run_redistribution",
"description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 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": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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.1,
"after": 1.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 |
| predicted_H | 1.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 1.100 | 0.100 |
| predicted_SO | 2.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 3.000 | 6.000 | 3.000 | 4.000 | 1.000 | 5.7857 | 1.9286 | 0.6429 | 1.2857 | 0.6429 | 0.8571 | 0.2143 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 8.000 | 5.000 | 12.000 | 1.000 | 3.0000 | 1.4444 | 0.3333 | 0.8889 | 0.5556 | 1.3333 | 0.1111 |
| season | 0.20 | 15 | 13.100 | 5.000 | 11.000 | 7.000 | 15.000 | 2.000 | 3.3750 | 1.3500 | 0.3750 | 0.8250 | 0.5250 | 1.1250 | 0.1500 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4430 |
| predicted_ER | 0.4820 |
| predicted_ERA | 4.3378 |
| predicted_H | 0.9900 |
| predicted_HR | 0.1470 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9880 |
| predicted_WHIP | 1.4333 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4430 | 0.1653 | model_form_blend |
| predicted_ER | 0.0000 | 0.4820 | 0.1799 | model_form_blend |
| predicted_ERA | - | 4.3378 | 4.3378 | form_only |
| predicted_H | 0.0000 | 0.9900 | 0.3694 | model_form_blend |
| predicted_HR | 0.0000 | 0.1470 | 0.0549 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9880 | 1.6223 | model_form_blend |
| predicted_WHIP | - | 1.4333 | 1.4333 | 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 | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 15 |
| 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 | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.05 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 16 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 573204 |
| playerID | 573204 |
| playerName | Caleb Thielbar |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.331 |
| sl_xwoba | 0.314 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 37.8 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 52.1 |
| sl_avg_best_speed | 77.168641111 |
| sl_avg_hyper_speed | 94.860117714 |
| 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.267 | 0.000 | -0.267 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.867 | 0.000 | -0.867 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.833 | 1.000 | 0.167 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.933 | 1.000 | -0.933 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 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 | 1 | 0 | 1 | 1 | 0 | - | predicted_H: 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": "694037",
"player_name": "Daniel Palencia",
"position": "Middle Reliever",
"team": "CHC",
"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": 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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "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": 1.0,
"after": 0.0,
"delta": -1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "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 | 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 | 1.000 | 5.000 | 1.000 | 5.000 | 1.000 | 1.9286 | 1.2857 | 0.2143 | 1.0714 | 0.2143 | 1.0714 | 0.2143 |
| last_10 | 0.35 | 10 | 8.200 | 3.000 | 10.000 | 2.000 | 9.000 | 2.000 | 3.1154 | 1.3846 | 0.3462 | 1.1539 | 0.2308 | 1.0385 | 0.2308 |
| season | 0.20 | 15 | 13.200 | 3.000 | 13.000 | 4.000 | 14.000 | 2.000 | 1.9756 | 1.2439 | 0.2195 | 0.9512 | 0.2927 | 1.0244 | 0.1463 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3210 |
| predicted_ER | 0.4050 |
| predicted_ERA | 3.6456 |
| predicted_H | 0.9980 |
| predicted_HR | 0.1610 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9790 |
| predicted_WHIP | 1.3190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3210 | 0.1205 | model_form_blend |
| predicted_ER | 0.0000 | 0.4050 | 0.1521 | model_form_blend |
| predicted_ERA | - | 3.6456 | 3.6456 | form_only |
| predicted_H | 1.0000 | 0.9980 | 0.9992 | model_form_blend |
| predicted_HR | 0.0000 | 0.1610 | 0.0605 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9790 | 0.3677 | model_form_blend |
| predicted_WHIP | - | 1.3190 | 1.3190 | 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 | 15 |
| Season rows before report date | 15 |
| Report year | 2026 |
| Profile rows used | 15 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.98 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 694037 |
| playerID | 694037 |
| playerName | Daniel Palencia |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.307 |
| sl_xwoba | 0.296 |
| sl_sweet_spot_percent | 52.6 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 26.3 |
| sl_whiff_percent | 34.5 |
| sl_swing_percent | 52.3 |
| sl_avg_best_speed | 79.226032105 |
| sl_avg_hyper_speed | 92.837173158 |
| 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.346 | 0.000 | -0.346 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.269 | 0.000 | -0.269 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.962 | 1.000 | -0.962 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.888 | 1.000 | 0.112 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.231 | 1.000 | -0.231 | 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": "657097",
"player_name": "Jacob Webb",
"position": "Middle Reliever",
"team": "CHC",
"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 | 5.000 | 0.000 | 3.000 | 1.000 | 9.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.6000 | 0.2000 | 1.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 1.000 | 9.000 | 2.000 | 15.000 | 0.000 | 0.8710 | 1.0645 | 0.0968 | 0.8710 | 0.1935 | 1.4516 | 0.0000 |
| season | 0.20 | 26 | 25.200 | 7.000 | 25.000 | 9.000 | 32.000 | 3.000 | 2.4545 | 1.3247 | 0.2727 | 0.9740 | 0.3507 | 1.2468 | 0.1169 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2970 |
| predicted_ER | 0.2840 |
| predicted_ERA | 2.5575 |
| predicted_H | 0.8620 |
| predicted_HR | 0.0800 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2560 |
| predicted_WHIP | 1.1591 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2970 | 0.1307 | model_form_blend |
| predicted_ER | 0.0000 | 0.2840 | 0.1250 | model_form_blend |
| predicted_ERA | - | 2.5575 | 2.5575 | form_only |
| predicted_H | 0.0000 | 0.8620 | 0.3794 | model_form_blend |
| predicted_HR | 0.0000 | 0.0800 | 0.0352 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2560 | 1.1127 | model_form_blend |
| predicted_WHIP | - | 1.1591 | 1.1591 | 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 | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| 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 | 4 |
| Pitches | 18 |
| 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.45 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260603_OAK@CHC |
| game_type | full |
| mlbID | 657097 |
| playerID | 657097 |
| playerName | Jacob Webb |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-03 |
| sl_k_percent | 29.1 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.3 |
| sl_xwoba | 0.326 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 46.4 |
| sl_whiff_percent | 32.6 |
| sl_swing_percent | 52.0 |
| sl_avg_best_speed | 79.834947647 |
| sl_avg_hyper_speed | 95.222985821 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | PIT 2 - 6 HOU | HOU | 0.645 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | PIT 1 - 7 HOU | HOU | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| 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.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6445 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 2.880 | 9.224 | - | Base ML historical model prediction |
| 2 | variance_applied | 3 | 10 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 6 | 0.6445 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 6 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 6 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 1 | 7 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.47600000000000003,
"base_low_score_probability": 0.42424242424242425,
"low_score_signal_threshold": 0.5042424242424243,
"low_score_signal_strength": 0.05175757575757578,
"confidence": 0.661,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.122
},
"prediction": "normal_scoring",
"expected_total_runs": 8,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 8,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 107,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 107,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.5327,
"bayesian_hit_rate": 0.528,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.856,
"confidence_cap": 0.78,
"raw_pick_probability": 0.8595,
"calibrated_pick_probability": 0.6445,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "HOU",
"games": 62,
"wins": 27,
"losses": 35,
"win_pct": 0.43548387096774194,
"runs_scored": 277,
"runs_allowed": 314,
"run_differential": -37,
"run_differential_per_game": -0.5967741935483871,
"available": true
},
"away": {
"team": "PIT",
"games": 61,
"wins": 33,
"losses": 28,
"win_pct": 0.5409836065573771,
"runs_scored": 311,
"runs_allowed": 276,
"run_differential": 35,
"run_differential_per_game": 0.5737704918032787,
"available": true
},
"run_differential_edge_per_game": -1.1705,
"win_pct_edge": -0.1055,
"quality_edge": -1.3288,
"margin_adjustment": -0.5581,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.522,
"home_runs": 5.751,
"home_win_probability": 0.8595
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "HOU",
"guardrail_predicted_team": "HOU",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "HOU",
"output_opponent_team": "PIT",
"final_score_winner": "HOU",
"pre_simulation_winner": "HOU",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "PIT 2 - 6 HOU",
"winner": "HOU"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 7,
"score_text": "PIT 1 - 7 HOU",
"winner": "HOU"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "HOU",
"games": 62,
"wins": 27,
"losses": 35,
"win_pct": 0.43548387096774194,
"runs_scored": 277,
"runs_allowed": 314,
"run_differential": -37,
"run_differential_per_game": -0.5967741935483871,
"available": true
},
"away": {
"team": "PIT",
"games": 61,
"wins": 33,
"losses": 28,
"win_pct": 0.5409836065573771,
"runs_scored": 311,
"runs_allowed": 276,
"run_differential": 35,
"run_differential_per_game": 0.5737704918032787,
"available": true
}
}
}{
"applied": false,
"raw_margin": 4.229,
"final_margin": 4.229,
"margin_cap": 4.25,
"season_quality_edge": 1.3288,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.644526,
"final_confidence": 0.644526,
"confidence_cap": 0.66,
"score_gap": 4.229,
"calibration_sample_size": 107,
"calibration_empirical_hit_rate": 0.5327,
"calibration_bayesian_hit_rate": 0.528,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.3288,
"reasons": [
"unvalidated probabilities are capped for production display",
"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": 2,
"home_runs": 6,
"score_text": "PIT 2 - 6 HOU",
"winner": "HOU"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 7,
"score_text": "PIT 1 - 7 HOU",
"winner": "HOU"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 2,
"home_runs": 6,
"confidence": 0.644526,
"home_win_probability": 0.644526,
"away_win_probability": 0.35547399999999996,
"predicted_score_text": "PIT 2 - 6 HOU",
"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": "PIT",
"original_runs": 2,
"run_delta": 0.137,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 58.0,
"quality": 0.3100302535329646,
"contact": 0.36665288608730373,
"power": 0.2243710788852277,
"discipline": 0.19551067148939316,
"xwoba": 0.3422931034482759,
"recent_xwoba": 0.3422931034482759,
"barrel": 8.389655172413793,
"ab_hard_contact": -0.0783583894547397,
"ab_bat_speed": 69.96968574329159,
"ab_strikeout_rate": 0.23686532801085658,
"available_players": 9,
"top_players": [
{
"player_id": "665833",
"player_name": "Oneil Cruz",
"position": "CF",
"weight": 8.0,
"quality": 1.0183757506849636,
"contact": 0.9241343455354579,
"power": 1.8234385485673041,
"discipline": -0.865849005060962,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 17.0,
"ab_hard_contact": 1.3268662094413215,
"ab_bat_speed": 77.03590277777778,
"ab_strikeout_rate": 0.3768518518518519,
"available": 1.0
},
{
"player_id": "664040",
"player_name": "Brandon Lowe",
"position": "2B",
"weight": 8.0,
"quality": 0.6183024343492786,
"contact": 0.5520021225019494,
"power": 1.110876312025329,
"discipline": -0.1944019151138716,
"xwoba": 0.364,
"recent_xwoba": 0.364,
"barrel": 13.4,
"ab_hard_contact": 0.20647862145893445,
"ab_bat_speed": 70.76913666666667,
"ab_strikeout_rate": 0.25733333333333336,
"available": 1.0
},
{
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "LF",
"weight": 6.0,
"quality": -0.36798387021648093,
"contact": -0.6159973523367607,
"power": -1.3107043071349378,
"discipline": 0.03895906798904675,
"xwoba": 0.29,
"recent_xwoba": 0.29,
"barrel": 1.1,
"ab_hard_contact": -1.6068480474606774,
"ab_bat_speed": 63.870827060931894,
"ab_strikeout_rate": 0.23225806451612904,
"available": 1.0
},
{
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "RF",
"weight": 7.0,
"quality": 0.5980276090541181,
"contact": 0.7398086249509285,
"power": 0.4613037193467571,
"discipline": 0.8585385610766042,
"xwoba": 0.367,
"recent_xwoba": 0.367,
"barrel": 8.6,
"ab_hard_contact": 0.442455339316077,
"ab_bat_speed": 71.04840029761905,
"ab_strikeout_rate": 0.21160714285714285,
"available": 1.0
},
{
"player_id": "669707",
"player_name": "Jared Triolo",
"position": "SS",
"weight": 5.0,
"quality": -0.28218372269179265,
"contact": -0.8411254455499988,
"power": -1.217043315600934,
"discipline": -0.3776313523433089,
"xwoba": 0.27,
"recent_xwoba": 0.27,
"barrel": 1.6,
"ab_hard_contact": -0.562580597732985,
"ab_bat_speed": 69.12920454545454,
"ab_strikeout_rate": 0.23484848484848483,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "678906",
"player_name": "Kai-Wei Teng",
"quality": 0.11921700623709575,
"contact": 0.4098309446007028,
"command": 0.021809523809523612,
"movement": 0.15827719417624503,
"xwoba": 0.3,
"whiff": 25.4,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
},
"home": {
"team": "HOU",
"original_runs": 6,
"run_delta": 0.471,
"adjusted_runs": 6,
"lineup": {
"players_used": 9,
"total_weight": 56.0,
"quality": 0.16520906290571805,
"contact": -0.06190585812980541,
"power": 0.04606820884827797,
"discipline": -0.07731995481129816,
"xwoba": 0.32725,
"recent_xwoba": 0.32725,
"barrel": 8.817857142857145,
"ab_hard_contact": 0.1394129411223464,
"ab_bat_speed": 70.15863075972301,
"ab_strikeout_rate": 0.21386744445933115,
"available_players": 9,
"top_players": [
{
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"weight": 7.0,
"quality": 1.8395386127305364,
"contact": 2.0,
"power": 2.0,
"discipline": 1.0583296866177299,
"xwoba": 0.493,
"recent_xwoba": 0.493,
"barrel": 19.2,
"ab_hard_contact": 1.75130167788029,
"ab_bat_speed": 75.27407611832611,
"ab_strikeout_rate": 0.17303030303030303,
"available": 1.0
},
{
"player_id": "543877",
"player_name": "Christian Vázquez",
"position": "C",
"weight": 5.0,
"quality": -0.540072975892795,
"contact": -1.1054957866136967,
"power": -1.3240417447342037,
"discipline": 0.3320980848861282,
"xwoba": 0.256,
"recent_xwoba": 0.256,
"barrel": 2.0,
"ab_hard_contact": -0.9958825137317086,
"ab_bat_speed": 62.39205555555556,
"ab_strikeout_rate": 0.19047619047619047,
"available": 1.0
},
{
"player_id": "701358",
"player_name": "Cam Smith",
"position": "RF",
"weight": 6.0,
"quality": 0.4717957302329604,
"contact": 0.30267779600844297,
"power": 0.7924341727829046,
"discipline": -0.21273308394504054,
"xwoba": 0.34400000000000003,
"recent_xwoba": 0.344,
"barrel": 13.300000000000002,
"ab_hard_contact": 1.0989691699437822,
"ab_bat_speed": 75.12562626262627,
"ab_strikeout_rate": 0.2678787878787879,
"available": 1.0
},
{
"player_id": "694728",
"player_name": "Brice Matthews",
"position": "2B",
"weight": 6.0,
"quality": -0.5604021030791556,
"contact": -1.1899774677990675,
"power": -0.41391124888733977,
"discipline": -1.1044172679780617,
"xwoba": 0.259,
"recent_xwoba": 0.259,
"barrel": 7.2,
"ab_hard_contact": -1.213463072984908,
"ab_bat_speed": 68.77533239370449,
"ab_strikeout_rate": 0.3479915433403805,
"available": 1.0
},
{
"player_id": "572233",
"player_name": "Christian Walker",
"position": "1B",
"weight": 7.0,
"quality": 0.39484568022505373,
"contact": 0.30196072472417124,
"power": 0.8103836191633754,
"discipline": -0.17823380544576217,
"xwoba": 0.328,
"recent_xwoba": 0.328,
"barrel": 12.800000000000002,
"ab_hard_contact": 0.5726247642198765,
"ab_bat_speed": 72.68959158249159,
"ab_strikeout_rate": 0.1908080808080808,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "683003",
"player_name": "Jared Jones",
"quality": -0.0026049141181315513,
"contact": 2.0,
"command": -1.5027619047619045,
"movement": -1.6999999999999997,
"xwoba": 0.312,
"whiff": 25.8,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 6,
"predicted_score_text": "PIT 2 - 6 HOU",
"confidence": 0.644526,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "PIT 2 - 6 HOU",
"winner": "HOU"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 7,
"score_text": "PIT 1 - 7 HOU",
"winner": "HOU"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 PIT | True | 1.0330 | 1.0330 | 1 | 9 | 0 |
| Home HOU | True | 1.0144 | 1.0144 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Spencer Horwitz | 60 | 1.0065 | 0.0868 | negative_batter_regression | 0.3380 | 0.2390 | 0.3870 | 6.90 | 33.80 | 86.50 | 16 | 13.50 | 11.90 | 13.80 | -1.0857 |
| DH | Ryan O'Hearn | 170 | 1.0460 | 0.6132 | neutral | 0.3550 | 0.2760 | 0.4490 | 7.50 | 44.40 | 90.10 | 11.70 | 21.70 | 19.70 | 10.40 | -0.3429 |
| 3B | Nick Gonzales | 86 | 1.0305 | 0.4071 | neutral | 0.3430 | 0.3080 | 0.4130 | 2.90 | 40 | 86.20 | 6.30 | 23.30 | 16.80 | 6.60 | 0.0571 |
| RF | Bryan Reynolds | 51 | 1.0651 | 0.8681 | neutral | 0.3670 | 0.2580 | 0.4320 | 8.60 | 44.40 | 91 | 5 | 27.80 | 21.60 | 16.40 | -0.0857 |
| 2B | Brandon Lowe | 24 | 1.0791 | 1.0548 | neutral | 0.3640 | 0.2550 | 0.5030 | 13.40 | 45.90 | 89.90 | 16.70 | 34.80 | 24.70 | 10.90 | -0.3143 |
| CF | Oneil Cruz | 105 | 1.0964 | 1.2857 | neutral | 0.3580 | 0.2580 | 0.4990 | 17 | 59.10 | 95.90 | 7.30 | 37.20 | 34.70 | 9.20 | 0.0286 |
| LF | Jake Mangum | 163 | 0.9767 | -0.3112 | neutral | 0.2900 | 0.2580 | 0.3240 | 1.10 | 25.80 | 84.30 | 1.70 | 20.10 | 18.70 | 7.30 | -0.6857 |
| C | Endy Rodríguez | 189 | 1.0222 | 0.2963 | negative_batter_regression | 0.3760 | 0.2050 | 0.3880 | 13.60 | 40.90 | 90.10 | 26.10 | 22.90 | 20.50 | 27.30 | -1.5143 |
| SS | Jared Triolo | 459 | 0.9747 | -0.3379 | neutral | 0.2700 | 0.2360 | 0.2900 | 1.60 | 30.60 | 86.50 | 4.10 | 26.70 | 26 | 7.30 | 0.3143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Jeremy Peña | 76 | 1.0278 | 0.3712 | neutral | 0.3680 | 0.3210 | 0.4730 | 4.70 | 27.10 | 85 | 15.40 | 27.10 | 14.50 | 5.50 | 0.6857 |
| 3B | Isaac Paredes | 109 | 0.9922 | -0.1039 | neutral | 0.3140 | 0.2390 | 0.3640 | 6 | 28.60 | 86.90 | 24.50 | 16.50 | 16.20 | 9.40 | -0.3429 |
| DH | Yordan Alvarez | 9 | 1.1500 | 2 | positive_batter_regression | 0.4930 | 0.3460 | 0.7440 | 19.20 | 54.20 | 94.80 | 18.90 | 19.90 | 17.60 | 14.70 | 1.2000 |
| 1B | Christian Walker | 50 | 1.0366 | 0.4878 | neutral | 0.3280 | 0.2430 | 0.4430 | 12.80 | 45.80 | 90.50 | 14.70 | 29.50 | 20.60 | 8.20 | -0.7143 |
| LF | Taylor Trammell | 267 | 0.9520 | -0.6406 | negative_batter_regression | 0.2430 | 0.1980 | 0.2680 | 2.90 | 31.40 | 88.40 | 7.50 | 37.30 | 35.50 | 6.50 | -2 |
| CF | Jake Meyers | 215 | 0.9869 | -0.1740 | neutral | 0.2820 | 0.2210 | 0.3620 | 7.90 | 31.70 | 86.70 | 14.40 | 23.20 | 20.50 | 6.80 | -0.0571 |
| RF | Cam Smith | 77 | 1.0628 | 0.8377 | positive_batter_regression | 0.3440 | 0.2480 | 0.4540 | 13.30 | 43.80 | 88.70 | 11 | 31.20 | 26.40 | 10.20 | 1.1714 |
| 2B | Brice Matthews | 440 | 0.9669 | -0.4410 | neutral | 0.2590 | 0.1900 | 0.3320 | 7.20 | 40.20 | 88.60 | 10.90 | 37.60 | 32.90 | 6.80 | -0.0286 |
| C | Christian Vázquez | 120 | 0.9540 | -0.6139 | negative_batter_regression | 0.2560 | 0.2150 | 0.2930 | 2 | 23.50 | 86 | 14.30 | 18.30 | 15.70 | 8.20 | -1.5143 |
{
"home": {
"applied": true,
"offense_factor": 1.0144,
"raw_average_factor": 1.0144,
"team_espn_average_rank": 151.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "665161",
"player_name": "Jeremy Peña",
"offense_factor": 1.0278,
"quality_score": 0.3712,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665161",
"espn_id": 41273,
"player_name": "Jeremy Pena",
"team": "HOU",
"role": "batter",
"espn_rank": 76,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 76,
"gp_value": 25.0,
"gp_rank": 357,
"ab_value": 100.0,
"ab_rank": 287,
"r_value": 20.0,
"r_rank": 179,
"h_value": 29.0,
"h_rank": 236,
"avg_value": 0.29,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 10.0,
"rbi_rank": 289,
"tb_value": 43.0,
"tb_rank": 1429,
"bb_value": 6.0,
"bb_rank": 322,
"so_value": 16.0,
"so_rank": 362,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.3454545,
"obp_rank": "-",
"slg_value": 0.43,
"slg_rank": "-",
"ops_value": 0.7754545,
"ops_rank": null,
"war_value": 1.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 86.0,
"k_percent": 14.5,
"bb_percent": 5.5,
"woba": 0.344,
"xwoba": 0.368,
"xba": 0.321,
"xslg": 0.473,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 27.1,
"exit_velocity_avg": 85.0,
"launch_angle_avg": 15.4,
"whiff_percent": 27.1,
"swing_percent": 54.1
},
"components": {
"expected_quality": 0.8474,
"regression_edge": 0.6857,
"xwoba_edge": 1.7857,
"xba_edge": 2.4,
"xslg_edge": 1.3857,
"barrel_edge": -0.4889,
"hard_hit_edge": -1.6286,
"exit_velocity_edge": -1.52,
"sweet_spot_edge": 0.5333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "670623",
"player_name": "Isaac Paredes",
"offense_factor": 0.9922,
"quality_score": -0.1039,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670623",
"espn_id": 39706,
"player_name": "Isaac Paredes",
"team": "HOU",
"role": "batter",
"espn_rank": 109,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 109,
"gp_value": 57.0,
"gp_rank": 108,
"ab_value": 206.0,
"ab_rank": 102,
"r_value": 23.0,
"r_rank": 134,
"h_value": 49.0,
"h_rank": 105,
"avg_value": 0.237864,
"avg_rank": 116.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 27.0,
"rbi_rank": 91,
"tb_value": 80.0,
"tb_rank": 757,
"bb_value": 22.0,
"bb_rank": 79,
"so_value": 38.0,
"so_rank": 162,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3319148,
"obp_rank": "83",
"slg_value": 0.3883495,
"slg_rank": "112",
"ops_value": 0.7202643,
"ops_rank": 103.0,
"war_value": 1.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 209.0,
"k_percent": 16.2,
"bb_percent": 9.4,
"woba": 0.326,
"xwoba": 0.314,
"xba": 0.239,
"xslg": 0.364,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 28.6,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 24.5,
"whiff_percent": 16.5,
"swing_percent": 43.9
},
"components": {
"expected_quality": -0.0714,
"regression_edge": -0.3429,
"xwoba_edge": 0.2429,
"xba_edge": 0.0571,
"xslg_edge": -0.1714,
"barrel_edge": -0.2,
"hard_hit_edge": -1.4143,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"offense_factor": 1.15,
"quality_score": 2.0,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670541",
"espn_id": 36018,
"player_name": "Yordan Alvarez",
"team": "HOU",
"role": "batter",
"espn_rank": 9,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 9,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 225.0,
"ab_rank": 43,
"r_value": 41.0,
"r_rank": 13,
"h_value": 71.0,
"h_rank": 4,
"avg_value": 0.3155555,
"avg_rank": 5.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 21.0,
"hr_rank": 2,
"rbi_value": 44.0,
"rbi_rank": 6,
"tb_value": 146.0,
"tb_rank": 371,
"bb_value": 40.0,
"bb_rank": 10,
"so_value": 48.0,
"so_rank": 96,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.4264705,
"obp_rank": "2",
"slg_value": 0.6488888,
"slg_rank": "1",
"ops_value": 1.0753593,
"ops_rank": 1.0,
"war_value": 2.8,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 235.0,
"k_percent": 17.6,
"bb_percent": 14.7,
"woba": 0.451,
"xwoba": 0.493,
"xba": 0.346,
"xslg": 0.744,
"sweet_spot_percent": 46.4,
"barrel_batted_rate": 19.2,
"hard_hit_percent": 54.2,
"exit_velocity_avg": 94.8,
"launch_angle_avg": 18.9,
"whiff_percent": 19.9,
"swing_percent": 42.7
},
"components": {
"expected_quality": 2.4131,
"regression_edge": 1.2,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.2429,
"exit_velocity_edge": 2.4,
"sweet_spot_edge": 2.1833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "572233",
"player_name": "Christian Walker",
"offense_factor": 1.0366,
"quality_score": 0.4878,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "572233",
"espn_id": 32758,
"player_name": "Christian Walker",
"team": "HOU",
"role": "batter",
"espn_rank": 50,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 50,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 231.0,
"ab_rank": 26,
"r_value": 37.0,
"r_rank": 33,
"h_value": 57.0,
"h_rank": 59,
"avg_value": 0.2467532,
"avg_rank": 96.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 16.0,
"hr_rank": 8,
"rbi_value": 45.0,
"rbi_rank": 5,
"tb_value": 115.0,
"tb_rank": 495,
"bb_value": 21.0,
"bb_rank": 96,
"so_value": 53.0,
"so_rank": 78,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3190661,
"obp_rank": "105",
"slg_value": 0.4978354,
"slg_rank": "30",
"ops_value": 0.8169015,
"ops_rank": 48.0,
"war_value": 1.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 20.6,
"bb_percent": 8.2,
"woba": 0.353,
"xwoba": 0.328,
"xba": 0.243,
"xslg": 0.443,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 45.8,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 14.7,
"whiff_percent": 29.5,
"swing_percent": 49.8
},
"components": {
"expected_quality": 0.6835,
"regression_edge": -0.7143,
"xwoba_edge": 0.6429,
"xba_edge": 0.1714,
"xslg_edge": 0.9571,
"barrel_edge": 1.3111,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -0.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "666211",
"player_name": "Taylor Trammell",
"offense_factor": 0.952,
"quality_score": -0.6406,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666211",
"espn_id": 37773,
"player_name": "Taylor Trammell",
"team": "HOU",
"role": "batter",
"espn_rank": 267,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 267,
"gp_value": 18.0,
"gp_rank": 398,
"ab_value": 56.0,
"ab_rank": 379,
"r_value": 7.0,
"r_rank": 361,
"h_value": 16.0,
"h_rank": 344,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 6.0,
"rbi_rank": 354,
"tb_value": 21.0,
"tb_rank": 1986,
"bb_value": 4.0,
"bb_rank": 378,
"so_value": 22.0,
"so_rank": 303,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3442622,
"obp_rank": "-",
"slg_value": 0.375,
"slg_rank": "-",
"ops_value": 0.7192622,
"ops_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 42.0,
"k_percent": 35.5,
"bb_percent": 6.5,
"woba": 0.324,
"xwoba": 0.243,
"xba": 0.198,
"xslg": 0.268,
"sweet_spot_percent": 25.7,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 31.4,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 7.5,
"whiff_percent": 37.3,
"swing_percent": 46.4
},
"components": {
"expected_quality": -1.3296,
"regression_edge": -2.0,
"xwoba_edge": -1.7857,
"xba_edge": -1.1143,
"xslg_edge": -1.5429,
"barrel_edge": -0.8889,
"hard_hit_edge": -1.0143,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -1.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "676694",
"player_name": "Jake Meyers",
"offense_factor": 0.9869,
"quality_score": -0.174,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676694",
"espn_id": 40719,
"player_name": "Jake Meyers",
"team": "HOU",
"role": "batter",
"espn_rank": 215,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 215,
"gp_value": 26.0,
"gp_rank": 353,
"ab_value": 80.0,
"ab_rank": 333,
"r_value": 9.0,
"r_rank": 324,
"h_value": 18.0,
"h_rank": 323,
"avg_value": 0.225,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 267,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 7.0,
"rbi_rank": 334,
"tb_value": 28.0,
"tb_rank": 1716,
"bb_value": 6.0,
"bb_rank": 322,
"so_value": 18.0,
"so_rank": 345,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.2840909,
"obp_rank": "-",
"slg_value": 0.35,
"slg_rank": "-",
"ops_value": 0.6340909,
"ops_rank": null,
"war_value": 0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 64.0,
"k_percent": 20.5,
"bb_percent": 6.8,
"woba": 0.284,
"xwoba": 0.282,
"xba": 0.221,
"xslg": 0.362,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 31.7,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 14.4,
"whiff_percent": 23.2,
"swing_percent": 54.1
},
"components": {
"expected_quality": -0.4403,
"regression_edge": -0.0571,
"xwoba_edge": -0.6714,
"xba_edge": -0.4571,
"xslg_edge": -0.2,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.9714,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "701358",
"player_name": "Cam Smith",
"offense_factor": 1.0628,
"quality_score": 0.8377,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "701358",
"espn_id": 5080766,
"player_name": "Cam Smith",
"team": "HOU",
"role": "batter",
"espn_rank": 77,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 77,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 204.0,
"ab_rank": 105,
"r_value": 26.0,
"r_rank": 105,
"h_value": 45.0,
"h_rank": 132,
"avg_value": 0.2205882,
"avg_rank": 139.0,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 24.0,
"rbi_rank": 125,
"tb_value": 73.0,
"tb_rank": 731,
"bb_value": 24.0,
"bb_rank": 68,
"so_value": 62.0,
"so_rank": 34,
"sb_value": 8.0,
"sb_rank": 41,
"obp_value": 0.3119658,
"obp_rank": "119",
"slg_value": 0.3578431,
"slg_rank": "131",
"ops_value": 0.6698089,
"ops_rank": 132.0,
"war_value": 1.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 210.0,
"k_percent": 26.4,
"bb_percent": 10.2,
"woba": 0.303,
"xwoba": 0.344,
"xba": 0.248,
"xslg": 0.454,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 43.8,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 11.0,
"whiff_percent": 31.2,
"swing_percent": 45.6
},
"components": {
"expected_quality": 0.8297,
"regression_edge": 1.1714,
"xwoba_edge": 1.1,
"xba_edge": 0.3143,
"xslg_edge": 1.1143,
"barrel_edge": 1.4222,
"hard_hit_edge": 0.7571,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "694728",
"player_name": "Brice Matthews",
"offense_factor": 0.9669,
"quality_score": -0.441,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694728",
"espn_id": 4838117,
"player_name": "Brice Matthews",
"team": "HOU",
"role": "batter",
"espn_rank": 440,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 440,
"gp_value": 51.0,
"gp_rank": 177,
"ab_value": 148.0,
"ab_rank": 207,
"r_value": 15.0,
"r_rank": 236,
"h_value": 30.0,
"h_rank": 228,
"avg_value": 0.2027027,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 267,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 4.0,
"hr_rank": 173,
"rbi_value": 14.0,
"rbi_rank": 240,
"tb_value": 48.0,
"tb_rank": 1120,
"bb_value": 11.0,
"bb_rank": 238,
"so_value": 53.0,
"so_rank": 78,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.25625,
"obp_rank": "-",
"slg_value": 0.3243243,
"slg_rank": "-",
"ops_value": 0.5805743,
"ops_rank": null,
"war_value": -0.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 149.0,
"k_percent": 32.9,
"bb_percent": 6.8,
"woba": 0.26,
"xwoba": 0.259,
"xba": 0.19,
"xslg": 0.332,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 40.2,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 10.9,
"whiff_percent": 37.6,
"swing_percent": 45.7
},
"components": {
"expected_quality": -0.7525,
"regression_edge": -0.0286,
"xwoba_edge": -1.3286,
"xba_edge": -1.3429,
"xslg_edge": -0.6286,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.2429,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "543877",
"player_name": "Christian Vázquez",
"offense_factor": 0.954,
"quality_score": -0.6139,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "543877",
"espn_id": 31389,
"player_name": "Christian Vazquez",
"team": "HOU",
"role": "batter",
"espn_rank": 120,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 120,
"gp_value": 41.0,
"gp_rank": 252,
"ab_value": 121.0,
"ab_rank": 240,
"r_value": 12.0,
"r_rank": 279,
"h_value": 30.0,
"h_rank": 228,
"avg_value": 0.2479338,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 4.0,
"hr_rank": 173,
"rbi_value": 18.0,
"rbi_rank": 194,
"tb_value": 47.0,
"tb_rank": 1316,
"bb_value": 11.0,
"bb_rank": 238,
"so_value": 21.0,
"so_rank": 311,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.310606,
"obp_rank": "-",
"slg_value": 0.3884297,
"slg_rank": "-",
"ops_value": 0.6990357,
"ops_rank": null,
"war_value": 0.92,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 115.0,
"k_percent": 15.7,
"bb_percent": 8.2,
"woba": 0.309,
"xwoba": 0.256,
"xba": 0.215,
"xslg": 0.293,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 2.0,
"hard_hit_percent": 23.5,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 14.3,
"whiff_percent": 18.3,
"swing_percent": 45.6
},
"components": {
"expected_quality": -1.1191,
"regression_edge": -1.5143,
"xwoba_edge": -1.4143,
"xba_edge": -0.6286,
"xslg_edge": -1.1857,
"barrel_edge": -1.0889,
"hard_hit_edge": -2.1429,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.033,
"raw_average_factor": 1.033,
"team_espn_average_rank": 145.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "687462",
"player_name": "Spencer Horwitz",
"offense_factor": 1.0065,
"quality_score": 0.0868,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "687462",
"espn_id": 4228472,
"player_name": "Spencer Horwitz",
"team": "PIT",
"role": "batter",
"espn_rank": 60,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 60,
"gp_value": 57.0,
"gp_rank": 108,
"ab_value": 182.0,
"ab_rank": 141,
"r_value": 24.0,
"r_rank": 129,
"h_value": 53.0,
"h_rank": 81,
"avg_value": 0.2912087,
"avg_rank": 19.0,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 26.0,
"rbi_rank": 102,
"tb_value": 84.0,
"tb_rank": 575,
"bb_value": 30.0,
"bb_rank": 35,
"so_value": 26.0,
"so_rank": 262,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3899082,
"obp_rank": "13",
"slg_value": 0.4615384,
"slg_rank": "51",
"ops_value": 0.8514466,
"ops_rank": 31.0,
"war_value": 1.57,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 187.0,
"k_percent": 11.9,
"bb_percent": 13.8,
"woba": 0.376,
"xwoba": 0.338,
"xba": 0.239,
"xslg": 0.387,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 33.8,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 16.0,
"whiff_percent": 13.5,
"swing_percent": 40.5
},
"components": {
"expected_quality": 0.2955,
"regression_edge": -1.0857,
"xwoba_edge": 0.9286,
"xba_edge": 0.0571,
"xslg_edge": 0.1571,
"barrel_edge": 0.0,
"hard_hit_edge": -0.6714,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -0.65,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "656811",
"player_name": "Ryan O'Hearn",
"offense_factor": 1.046,
"quality_score": 0.6132,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656811",
"espn_id": 35183,
"player_name": "Ryan O'Hearn",
"team": "PIT",
"role": "batter",
"espn_rank": 170,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 170,
"gp_value": 47.0,
"gp_rank": 208,
"ab_value": 169.0,
"ab_rank": 164,
"r_value": 29.0,
"r_rank": 75,
"h_value": 49.0,
"h_rank": 105,
"avg_value": 0.2899408,
"avg_rank": 23.0,
"2b_value": 6.0,
"2b_rank": 205,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 8.0,
"hr_rank": 65,
"rbi_value": 30.0,
"rbi_rank": 63,
"tb_value": 79.0,
"tb_rank": 839,
"bb_value": 20.0,
"bb_rank": 108,
"so_value": 38.0,
"so_rank": 162,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3678756,
"obp_rank": "30",
"slg_value": 0.4674556,
"slg_rank": "46",
"ops_value": 0.8353312,
"ops_rank": 37.0,
"war_value": 0.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 19.7,
"bb_percent": 10.4,
"woba": 0.367,
"xwoba": 0.355,
"xba": 0.276,
"xslg": 0.449,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 11.7,
"whiff_percent": 21.7,
"swing_percent": 43.9
},
"components": {
"expected_quality": 0.9272,
"regression_edge": -0.3429,
"xwoba_edge": 1.4143,
"xba_edge": 1.1143,
"xslg_edge": 1.0429,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.8429,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.2833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "693304",
"player_name": "Nick Gonzales",
"offense_factor": 1.0305,
"quality_score": 0.4071,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693304",
"espn_id": 4311634,
"player_name": "Nick Gonzales",
"team": "PIT",
"role": "batter",
"espn_rank": 86,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 86,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 207.0,
"ab_rank": 101,
"r_value": 31.0,
"r_rank": 58,
"h_value": 65.0,
"h_rank": 17,
"avg_value": 0.3140096,
"avg_rank": 6.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 29.0,
"rbi_rank": 73,
"tb_value": 81.0,
"tb_rank": 1221,
"bb_value": 15.0,
"bb_rank": 173,
"so_value": 38.0,
"so_rank": 162,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.3672566,
"obp_rank": "33",
"slg_value": 0.3913043,
"slg_rank": "110",
"ops_value": 0.7585609,
"ops_rank": 82.0,
"war_value": 1.27,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 16.8,
"bb_percent": 6.6,
"woba": 0.341,
"xwoba": 0.343,
"xba": 0.308,
"xslg": 0.413,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 6.3,
"whiff_percent": 23.3,
"swing_percent": 53.6
},
"components": {
"expected_quality": 0.5194,
"regression_edge": 0.0571,
"xwoba_edge": 1.0714,
"xba_edge": 2.0286,
"xslg_edge": 0.5286,
"barrel_edge": -0.8889,
"hard_hit_edge": 0.2143,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"offense_factor": 1.0651,
"quality_score": 0.8681,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668804",
"espn_id": 38980,
"player_name": "Bryan Reynolds",
"team": "PIT",
"role": "batter",
"espn_rank": 51,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 51,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 218.0,
"ab_rank": 66,
"r_value": 40.0,
"r_rank": 16,
"h_value": 59.0,
"h_rank": 46,
"avg_value": 0.2706422,
"avg_rank": 55.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 38.0,
"rbi_rank": 21,
"tb_value": 93.0,
"tb_rank": 452,
"bb_value": 44.0,
"bb_rank": 6,
"so_value": 58.0,
"so_rank": 51,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.3992537,
"obp_rank": "9",
"slg_value": 0.4266055,
"slg_rank": "79",
"ops_value": 0.8258592,
"ops_rank": 44.0,
"war_value": 1.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 21.6,
"bb_percent": 16.4,
"woba": 0.37,
"xwoba": 0.367,
"xba": 0.258,
"xslg": 0.432,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 5.0,
"whiff_percent": 27.8,
"swing_percent": 43.6
},
"components": {
"expected_quality": 1.0233,
"regression_edge": -0.0857,
"xwoba_edge": 1.7571,
"xba_edge": 0.6,
"xslg_edge": 0.8,
"barrel_edge": 0.3778,
"hard_hit_edge": 0.8429,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "664040",
"player_name": "Brandon Lowe",
"offense_factor": 1.0791,
"quality_score": 1.0548,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664040",
"espn_id": 39961,
"player_name": "Brandon Lowe",
"team": "PIT",
"role": "batter",
"espn_rank": 24,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 24,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 217.0,
"ab_rank": 69,
"r_value": 38.0,
"r_rank": 26,
"h_value": 55.0,
"h_rank": 73,
"avg_value": 0.2534562,
"avg_rank": 77.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 15.0,
"hr_rank": 10,
"rbi_value": 40.0,
"rbi_rank": 16,
"tb_value": 114.0,
"tb_rank": 248,
"bb_value": 27.0,
"bb_rank": 46,
"so_value": 61.0,
"so_rank": 37,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3400809,
"obp_rank": "69",
"slg_value": 0.5253456,
"slg_rank": "15",
"ops_value": 0.8654265,
"ops_rank": 23.0,
"war_value": 2.4,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 24.7,
"bb_percent": 10.9,
"woba": 0.375,
"xwoba": 0.364,
"xba": 0.255,
"xslg": 0.503,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 13.4,
"hard_hit_percent": 45.9,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 16.7,
"whiff_percent": 34.8,
"swing_percent": 48.0
},
"components": {
"expected_quality": 1.2833,
"regression_edge": -0.3143,
"xwoba_edge": 1.6714,
"xba_edge": 0.5143,
"xslg_edge": 1.8143,
"barrel_edge": 1.4444,
"hard_hit_edge": 1.0571,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.7167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "665833",
"player_name": "Oneil Cruz",
"offense_factor": 1.0964,
"quality_score": 1.2857,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665833",
"espn_id": 39712,
"player_name": "Oneil Cruz",
"team": "PIT",
"role": "batter",
"espn_rank": 105,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 105,
"gp_value": 60.0,
"gp_rank": 42,
"ab_value": 243.0,
"ab_rank": 11,
"r_value": 45.0,
"r_rank": 6,
"h_value": 64.0,
"h_rank": 24,
"avg_value": 0.2633744,
"avg_rank": 62.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 14.0,
"hr_rank": 15,
"rbi_value": 44.0,
"rbi_rank": 6,
"tb_value": 116.0,
"tb_rank": 481,
"bb_value": 25.0,
"bb_rank": 62,
"so_value": 94.0,
"so_rank": 1,
"sb_value": 20.0,
"sb_rank": 3,
"obp_value": 0.3394833,
"obp_rank": "73",
"slg_value": 0.4773662,
"slg_rank": "34",
"ops_value": 0.8168495,
"ops_rank": 48.0,
"war_value": 1.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 239.0,
"k_percent": 34.7,
"bb_percent": 9.2,
"woba": 0.357,
"xwoba": 0.358,
"xba": 0.258,
"xslg": 0.499,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 17.0,
"hard_hit_percent": 59.1,
"exit_velocity_avg": 95.9,
"launch_angle_avg": 7.3,
"whiff_percent": 37.2,
"swing_percent": 44.5
},
"components": {
"expected_quality": 1.4904,
"regression_edge": 0.0286,
"xwoba_edge": 1.5,
"xba_edge": 0.6,
"xslg_edge": 1.7571,
"barrel_edge": 2.2444,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": 0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "663968",
"player_name": "Jake Mangum",
"offense_factor": 0.9767,
"quality_score": -0.3112,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663968",
"espn_id": 42664,
"player_name": "Jake Mangum",
"team": "PIT",
"role": "batter",
"espn_rank": 163,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 163,
"gp_value": 43.0,
"gp_rank": 237,
"ab_value": 109.0,
"ab_rank": 275,
"r_value": 17.0,
"r_rank": 207,
"h_value": 32.0,
"h_rank": 219,
"avg_value": 0.2935779,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 365,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 9.0,
"rbi_rank": 306,
"tb_value": 37.0,
"tb_rank": 1899,
"bb_value": 9.0,
"bb_rank": 271,
"so_value": 23.0,
"so_rank": 292,
"sb_value": 10.0,
"sb_rank": 20,
"obp_value": 0.3553719,
"obp_rank": "-",
"slg_value": 0.3394495,
"slg_rank": "-",
"ops_value": 0.6948214,
"ops_rank": null,
"war_value": 0.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 97.0,
"k_percent": 18.7,
"bb_percent": 7.3,
"woba": 0.314,
"xwoba": 0.29,
"xba": 0.258,
"xslg": 0.324,
"sweet_spot_percent": 24.7,
"barrel_batted_rate": 1.1,
"hard_hit_percent": 25.8,
"exit_velocity_avg": 84.3,
"launch_angle_avg": 1.7,
"whiff_percent": 20.1,
"swing_percent": 59.5
},
"components": {
"expected_quality": -0.6926,
"regression_edge": -0.6857,
"xwoba_edge": -0.4429,
"xba_edge": 0.6,
"xslg_edge": -0.7429,
"barrel_edge": -1.2889,
"hard_hit_edge": -1.8143,
"exit_velocity_edge": -1.8,
"sweet_spot_edge": -1.4333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "682848",
"player_name": "Endy Rodríguez",
"offense_factor": 1.0222,
"quality_score": 0.2963,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "682848",
"espn_id": 4712767,
"player_name": "Endy Rodriguez",
"team": "PIT",
"role": "batter",
"espn_rank": 189,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 189,
"gp_value": 12.0,
"gp_rank": 437,
"ab_value": 31.0,
"ab_rank": 429,
"r_value": 7.0,
"r_rank": 361,
"h_value": 9.0,
"h_rank": 394,
"avg_value": 0.2903225,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 365,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 5.0,
"rbi_rank": 374,
"tb_value": 14.0,
"tb_rank": 2074,
"bb_value": 12.0,
"bb_rank": 221,
"so_value": 9.0,
"so_rank": 419,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.488372,
"obp_rank": "-",
"slg_value": 0.4516129,
"slg_rank": "-",
"ops_value": 0.9399849,
"ops_rank": null,
"war_value": 0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 20.0,
"k_percent": 20.5,
"bb_percent": 27.3,
"woba": 0.429,
"xwoba": 0.376,
"xba": 0.205,
"xslg": 0.388,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 26.1,
"whiff_percent": 22.9,
"swing_percent": 38.7
},
"components": {
"expected_quality": 1.0122,
"regression_edge": -1.5143,
"xwoba_edge": 2.0143,
"xba_edge": -0.9143,
"xslg_edge": 0.1714,
"barrel_edge": 1.4889,
"hard_hit_edge": 0.3429,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "SS",
"player_id": "669707",
"player_name": "Jared Triolo",
"offense_factor": 0.9747,
"quality_score": -0.3379,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669707",
"espn_id": 42933,
"player_name": "Jared Triolo",
"team": "PIT",
"role": "batter",
"espn_rank": 459,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 459,
"gp_value": 30.0,
"gp_rank": 332,
"ab_value": 86.0,
"ab_rank": 314,
"r_value": 6.0,
"r_rank": 375,
"h_value": 20.0,
"h_rank": 307,
"avg_value": 0.2325581,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 365,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 6.0,
"rbi_rank": 354,
"tb_value": 22.0,
"tb_rank": 2233,
"bb_value": 7.0,
"bb_rank": 305,
"so_value": 25.0,
"so_rank": 274,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.2978723,
"obp_rank": "-",
"slg_value": 0.2558139,
"slg_rank": "-",
"ops_value": 0.5536862,
"ops_rank": null,
"war_value": -0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 72.0,
"k_percent": 26.0,
"bb_percent": 7.3,
"woba": 0.259,
"xwoba": 0.27,
"xba": 0.236,
"xslg": 0.29,
"sweet_spot_percent": 27.4,
"barrel_batted_rate": 1.6,
"hard_hit_percent": 30.6,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 4.1,
"whiff_percent": 26.7,
"swing_percent": 42.8
},
"components": {
"expected_quality": -0.9243,
"regression_edge": 0.3143,
"xwoba_edge": -1.0143,
"xba_edge": -0.0286,
"xslg_edge": -1.2286,
"barrel_edge": -1.1778,
"hard_hit_edge": -1.1286,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -0.9833,
"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 PIT | True | 529 | 0.0061 | 0.4500 | 0.9995 | 1 | 1 | 0.9988 | neutral | 0.3120 | 0.3100 | 22.50 | 9.20 | 25.80 | 7.20 | 38.40 | |
| Home HOU | True | 57 | 0.0802 | 0.5800 | 0.9932 | 1.0093 | 1.0255 | 0.9698 | neutral | 0.3000 | 0.2800 | 25.70 | 11.40 | 25.40 | 5.80 | 35.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away PIT | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home HOU | True | None | 56 | 89.25 | 2518 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0252 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9961 |
| home_runs_vs_away_pitcher | 0.9998 |
| home_pitcher_quality_edge | 0.0741 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "678906",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 145.0,
"k_percent": 25.7,
"bb_percent": 11.4,
"woba": 0.28,
"xwoba": 0.3,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 35.9,
"avg_best_speed": 81.489,
"avg_hyper_speed": 94.1517,
"whiff_percent": 25.4,
"swing_percent": 42.7
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.3174,
"command_and_miss": 0.0757,
"regression_edge": -0.5714,
"xwoba_edge": 0.4286,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.3571,
"whiff_edge": -0.0571,
"bb_edge": -0.55,
"pitch_design_score": -0.0252
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678906",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 56,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 56,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"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": 56,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2497,
"release_spin_rate": 2518.2918,
"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.0252,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1802,
"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.0802,
"sample_weight": 0.58,
"run_prevention_factor": 0.9932,
"strikeout_factor": 1.0093,
"walk_factor": 1.0255,
"homer_factor": 0.9698,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678906",
"espn_id": 42242,
"player_name": "Kai-Wei Teng",
"team": "HOU",
"role": "pitcher",
"espn_rank": 57,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 57,
"gp_value": 18.0,
"gp_rank": 164,
"gs_value": 5.0,
"gs_rank": 154,
"qs_value": 1.0,
"qs_rank": 127,
"era_value": 2.5714,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 3.0,
"hld_rank": 124,
"ip_value": 42.0,
"ip_rank": 134,
"h_value": 27.0,
"h_rank": 184,
"er_value": 12.0,
"er_rank": 220,
"hr_value": 5.0,
"hr_rank": 120,
"bb_value": 19.0,
"bb_rank": 82,
"k_value": 43.0,
"k_rank": 111,
"k_per_9_value": 9.214286,
"k_per_9_rank": 22,
"whip_value": 1.0952,
"whip_rank": null,
"war_value": 1.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "683003",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.312,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0343,
"command_and_miss": 0.0,
"regression_edge": -0.0571,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683003",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0061,
"sample_weight": 0.45,
"run_prevention_factor": 0.9995,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9988,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683003",
"espn_id": 4918156,
"player_name": "Jared Jones",
"team": "PIT",
"role": "pitcher",
"espn_rank": 529,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 529,
"gp_value": 1.0,
"gp_rank": 600,
"gs_value": 1.0,
"gs_rank": 224,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 10.3846,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 4.1,
"ip_rank": 538,
"h_value": 7.0,
"h_rank": 498,
"er_value": 5.0,
"er_rank": 444,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 2.0,
"bb_rank": 540,
"k_value": 6.0,
"k_rank": 485,
"k_per_9_value": 12.461538,
"k_per_9_rank": 24,
"whip_value": 2.0769,
"whip_rank": null,
"war_value": -0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9961,
"home_runs_vs_away_pitcher": 0.9998,
"home_pitcher_quality_edge": 0.0741
},
"score_before": {
"away_runs": 1.2195,
"home_runs": 6.0031
},
"score_after": {
"away_runs": 1.2147,
"home_runs": 6.0018,
"home_win_probability": 0.9082
},
"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 PIT | 16-38 | 0.296 | 1.80 | 3.60 | -98 | cold | average | |
| Home HOU | 23-35 | 0.397 | 1.70 | 4.40 | -157 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away PIT | 33-28 | 0.541 | 35 | 0.574 | True |
| Home HOU | 27-35 | 0.435 | -37 | -0.597 | True |
| Signal | - | - | -1.171 | -1.329 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target PIT | - | - | 2 | - | - | - | - |
| Game target HOU | - | - | 6 | - | - | - | - |
| Player finalized PIT | 58 | 16 | 10 | 1 | 10 | 8 | 14 |
| Player finalized HOU | 56 | 13 | 9 | 1 | 7 | 4 | 14 |
| Player model fractional PIT | 58.35 | 15.84 | 10.38 | 2.51 | 9.61 | 8.20 | 14.56 |
| Player model fractional HOU | 57.84 | 13.99 | 8.42 | 2.33 | 8.15 | 5.58 | 13.55 |
| Simulation box PIT | 30 | 3 | 1 | 1 | 1 | 2 | 12 |
| Simulation box HOU | 32 | 8 | 7 | 2 | 7 | 2 | 10 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away PIT | Starter | Jared Jones | 4.10 | 7 | 3 | 8 | 0 | 5.35 | 1.45 | True |
| Away PIT | Middle Reliever | Carmen Mlodzinski | 1.10 | 0 | 3 | 0 | 1 | 3.82 | 1.38 | True |
| Away PIT | Middle Reliever | Gregory Soto | 1.10 | 0 | 3 | 0 | 0 | 2.73 | 0.94 | True |
| Away PIT | Middle Reliever | Mason Montgomery | 1 | 0 | 1 | 0 | 1 | 5.18 | 1.31 | True |
| Away PIT | Middle Reliever | Dennis Santana | 0 | 0 | 0 | 0 | 0 | 6.01 | 1.74 | True |
| Home HOU | Starter | Kai-Wei Teng | 6 | 1 | 8 | 2 | 2 | 3.26 | 1.23 | True |
| Home HOU | Middle Reliever | Bryan King | 1 | 0 | 2 | 1 | 0 | 3.10 | 1.28 | True |
| Home HOU | Middle Reliever | Enyel De Los Santos | 1.10 | 0 | 1 | 0 | 0 | 2.69 | 0.95 | True |
| Home HOU | Middle Reliever | Josh Hader | 0.20 | 0 | 1 | 0 | 0 | 4.18 | 1.31 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | HOU | batter | 1B | Christian Walker | better | 10 | 8 | 2 | 7 | 3 | predicted_RBI | 5.2500 | boost | better |
| home | HOU | batter | DH | Yordan Alvarez | better | 11 | 5 | 6 | 6 | 5 | predicted_AB | -3.1000 | deboost | worse |
| away | PIT | batter | 3B | Nick Gonzales | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 2.2020 | boost | worse |
| away | PIT | pitcher | Starter | Jared Jones | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 2.0000 | boost | better |
| away | PIT | pitcher | Middle Reliever | Dennis Santana | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -2.0000 | deboost | worse |
| away | PIT | batter | 2B | Brandon Lowe | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 1.9380 | boost | worse |
| away | PIT | batter | CF | Oneil Cruz | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.6220 | deboost | better |
| home | HOU | batter | C | Christian Vázquez | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 1.4430 | boost | worse |
| home | HOU | batter | 2B | Brice Matthews | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | 1.3800 | boost | better |
| home | HOU | batter | CF | Jake Meyers | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.2140 | boost | worse |
| home | HOU | batter | SS | Jeremy Peña | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -1.2000 | deboost | worse |
| away | PIT | batter | SS | Jared Triolo | worse | 11 | 1 | 10 | 0 | 11 | predicted_SO | 1.1520 | boost | worse |
| away | PIT | batter | RF | Bryan Reynolds | worse | 10 | 5 | 5 | 4 | 6 | predicted_SO | 1.0120 | boost | worse |
| away | PIT | batter | DH | Ryan O'Hearn | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | -0.9500 | deboost | worse |
| away | PIT | batter | 1B | Spencer Horwitz | better | 10 | 7 | 3 | 8 | 2 | predicted_HR | 0.8600 | boost | better |
| away | PIT | batter | C | Endy Rodríguez | worse | 10 | 2 | 8 | 1 | 9 | predicted_BB | -0.8400 | deboost | worse |
| home | HOU | batter | 3B | Isaac Paredes | better | 10 | 7 | 3 | 8 | 2 | predicted_2B | 0.8140 | boost | better |
| home | HOU | batter | RF | Cam Smith | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | -0.8100 | deboost | worse |
| away | PIT | batter | LF | Jake Mangum | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.7920 | deboost | better |
| home | HOU | batter | LF | Taylor Trammell | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 0.7920 | boost | worse |
| home | HOU | pitcher | Starter | Kai-Wei Teng | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.6667 | deboost | worse |
| away | PIT | pitcher | Middle Reliever | Carmen Mlodzinski | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | PIT | pitcher | Middle Reliever | Gregory Soto | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | HOU | pitcher | Middle Reliever | Enyel De Los Santos | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | HOU | pitcher | Middle Reliever | Josh Hader | 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 | Jared Jones |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0061 |
| ESPN Rank | 529 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 4.1000 |
| Pre ER | 7 |
| Pre H | 8 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 10.3846 |
| Season WHIP | 2.0769 |
| Role Avg IP | 4.3330 |
| Recent Avg IP | 4.3330 |
| Last Start IP | 4.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 68,
"wins": 35,
"losses": 33,
"win_pct": 0.5147,
"runs_scored": 339.0,
"runs_allowed": 315.0,
"run_differential": 24.0,
"run_differential_per_game": 0.3529,
"avg_runs_scored": 4.9853,
"avg_runs_allowed": 4.6324,
"offense_index": 1.1145,
"defense_index": 0.9656,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 5.4,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.1259
},
"opponent": {
"team": "HOU",
"games": 71,
"wins": 31,
"losses": 40,
"win_pct": 0.4366,
"runs_scored": 319.0,
"runs_allowed": 354.0,
"run_differential": -35.0,
"run_differential_per_game": -0.493,
"avg_runs_scored": 4.493,
"avg_runs_allowed": 4.9859,
"offense_index": 1.0044,
"defense_index": 0.8972,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 4.7,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0795
},
"edges": {
"quality_edge": 0.2054,
"offense_edge": 0.1145,
"opponent_offense_edge": 0.0044,
"defense_strength": -0.0344,
"opponent_defense_weakness": 0.1028,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9939,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683003",
"profile": {
"available": true,
"pitcher_id": "683003",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.312,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0343,
"command_and_miss": 0.0,
"regression_edge": -0.0571,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683003",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0061,
"sample_weight": 0.45,
"run_prevention_factor": 0.9995,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9988,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683003",
"espn_id": 4918156,
"player_name": "Jared Jones",
"team": "PIT",
"role": "pitcher",
"espn_rank": 529,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 529,
"gp_value": 1.0,
"gp_rank": 600,
"gs_value": 1.0,
"gs_rank": 224,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 10.3846,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 4.1,
"ip_rank": 538,
"h_value": 7.0,
"h_rank": 498,
"er_value": 5.0,
"er_rank": 444,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 2.0,
"bb_rank": 540,
"k_value": 6.0,
"k_rank": 485,
"k_per_9_value": 12.461538,
"k_per_9_rank": 24,
"whip_value": 2.0769,
"whip_rank": null,
"war_value": -0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 5.0,
"factor": 0.9998,
"adjusted": 5
},
"predicted_H": {
"original": 7.0,
"factor": 0.9998,
"adjusted": 7
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0,
"adjusted": 2
},
"predicted_HR": {
"original": 2.0,
"factor": 0.9995,
"adjusted": 2
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0,
"adjusted": 6
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 4.1,
"ER": 5,
"H": 7,
"BB": 2,
"SO": 6,
"HR": 2,
"ERA": 10.384615384615385,
"WHIP": 2.076923076923077,
"K9": 12.461538461538462,
"HR9": 4.153846153846154,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": false,
"pitcher_id": "683003",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1667,
"prior_weight": 0.8333
},
"role": "pitcher",
"player_id": "683003",
"report_date": "20260604_P",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 4.333,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 77.0
},
"per_game": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 77.0
},
"rates": {
"ERA": 10.3846,
"WHIP": 2.0769,
"ER_per_IP": 1.15385,
"H_per_IP": 1.61538,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 77.0
},
"per_game": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 77.0
},
"rates": {
"ERA": 10.3846,
"WHIP": 2.0769,
"ER_per_IP": 1.15385,
"H_per_IP": 1.61538,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.46154
}
},
"season": {
"games": 1,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 77.0
},
"per_game": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 77.0
},
"rates": {
"ERA": 10.3846,
"WHIP": 2.0769,
"ER_per_IP": 1.15385,
"H_per_IP": 1.61538,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.46154
}
}
},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.576,
"predicted_H": 4.619,
"predicted_BB": 1.658,
"predicted_SO": 4.398,
"predicted_HR": 0.829,
"predicted_ERA": 5.3498,
"predicted_WHIP": 1.4485
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7021,
"form_weight": 0.2979,
"form_reliability": 0.1667,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1667,
"prior_weight": 0.8333
},
"applied_metrics": {
"predicted_IP": {
"model": 4.1,
"form": 4.1,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 7.0,
"form": 2.576,
"final": 5.682,
"source": "model_form_blend"
},
"predicted_H": {
"model": 8.0,
"form": 4.619,
"final": 6.9927,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.658,
"final": 0.494,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 4.398,
"final": 2.0124,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.829,
"final": 1.6511,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.3498,
"final": 5.3498,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4485,
"final": 1.4485,
"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 | Carmen Mlodzinski |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.4324 |
| ESPN Rank | 102 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0143 |
| Avg Velo | 89.4457 |
| Avg Spin | 2027.3685 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 3.7636 |
| Season WHIP | 1.4182 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 68,
"wins": 35,
"losses": 33,
"win_pct": 0.5147,
"runs_scored": 339.0,
"runs_allowed": 315.0,
"run_differential": 24.0,
"run_differential_per_game": 0.3529,
"avg_runs_scored": 4.9853,
"avg_runs_allowed": 4.6324,
"offense_index": 1.1145,
"defense_index": 0.9656,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 5.4,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.1259
},
"opponent": {
"team": "HOU",
"games": 71,
"wins": 31,
"losses": 40,
"win_pct": 0.4366,
"runs_scored": 319.0,
"runs_allowed": 354.0,
"run_differential": -35.0,
"run_differential_per_game": -0.493,
"avg_runs_scored": 4.493,
"avg_runs_allowed": 4.9859,
"offense_index": 1.0044,
"defense_index": 0.8972,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 4.7,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0795
},
"edges": {
"quality_edge": 0.2054,
"offense_edge": 0.1145,
"opponent_offense_edge": 0.0044,
"defense_strength": -0.0344,
"opponent_defense_weakness": 0.1028,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9939,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669387",
"profile": {
"available": true,
"pitcher_id": "669387",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 197.0,
"k_percent": 19.3,
"bb_percent": 8.4,
"woba": 0.324,
"xwoba": 0.341,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 50.9,
"avg_best_speed": 82.0034,
"avg_hyper_speed": 95.3624,
"whiff_percent": 20.5,
"swing_percent": 44.3
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.6911,
"command_and_miss": -0.4307,
"regression_edge": -0.4857,
"xwoba_edge": -0.7429,
"barrel_edge": 0.0222,
"hard_hit_edge": -1.7857,
"whiff_edge": -0.7571,
"bb_edge": 0.2,
"pitch_design_score": -0.0143
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669387",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.44571366889934,
"release_spin_rate": 2027.3684942447342,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.44571366889934,
"release_spin_rate": 2027.3684942447342,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.4457,
"release_spin_rate": 2027.3685,
"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.0143,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1018,
"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.4324,
"sample_weight": 0.788,
"run_prevention_factor": 1.0368,
"strikeout_factor": 0.9617,
"walk_factor": 0.9874,
"homer_factor": 1.0724,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669387",
"espn_id": 4298378,
"player_name": "Carmen Mlodzinski",
"team": "PIT",
"role": "pitcher",
"espn_rank": 102,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 102,
"gp_value": 11.0,
"gp_rank": 322,
"gs_value": 9.0,
"gs_rank": 109,
"qs_value": 1.0,
"qs_rank": 127,
"era_value": 3.7636,
"era_rank": null,
"w_value": 4.0,
"w_rank": 46,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 55.0,
"ip_rank": 101,
"h_value": 58.0,
"h_rank": 60,
"er_value": 23.0,
"er_rank": 98,
"hr_value": 3.0,
"hr_rank": 207,
"bb_value": 20.0,
"bb_rank": 71,
"k_value": 46.0,
"k_rank": 100,
"k_per_9_value": 7.5272727,
"k_per_9_rank": 26,
"whip_value": 1.4181,
"whip_rank": null,
"war_value": 0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.029,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.029,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9901,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0571,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9698,
"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": 50.2,
"ER": 21,
"H": 52,
"BB": 20,
"SO": 38,
"HR": 3,
"ERA": 3.730263157894737,
"WHIP": 1.4210526315789473,
"K9": 6.75,
"HR9": 0.5328947368421053,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-25T00:00:00"
}{
"available": true,
"pitcher_id": "669387",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.44571366889934,
"release_spin_rate": 2027.3684942447342,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.44571366889934,
"release_spin_rate": 2027.3684942447342,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.4457,
"release_spin_rate": 2027.3685,
"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.0143,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1018,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"role": "pitcher",
"player_id": "669387",
"report_date": "20260604_P",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.2,
"ER": 10.0,
"R": 10.0,
"H": 28.0,
"BB": 9.0,
"SO": 16.0,
"HR": 3.0,
"BF": 112.0,
"Pitches": 432.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 5.6,
"BB": 1.8,
"SO": 3.2,
"HR": 0.6,
"BF": 22.4,
"Pitches": 86.4
},
"rates": {
"ERA": 3.375,
"WHIP": 1.3875,
"ER_per_IP": 0.375,
"H_per_IP": 1.05,
"BB_per_IP": 0.3375,
"SO_per_IP": 0.6,
"HR_per_IP": 0.1125
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 50.2,
"ER": 21.0,
"R": 22.0,
"H": 52.0,
"BB": 20.0,
"SO": 38.0,
"HR": 3.0,
"BF": 218.0,
"Pitches": 852.0
},
"per_game": {
"IP": 5.0,
"ER": 2.1,
"R": 2.2,
"H": 5.2,
"BB": 2.0,
"SO": 3.8,
"HR": 0.3,
"BF": 21.8,
"Pitches": 85.2
},
"rates": {
"ERA": 3.7303,
"WHIP": 1.4211,
"ER_per_IP": 0.41447,
"H_per_IP": 1.02632,
"BB_per_IP": 0.39474,
"SO_per_IP": 0.75,
"HR_per_IP": 0.05921
}
},
"season": {
"games": 11,
"totals": {
"IP": 55.0,
"ER": 23.0,
"R": 24.0,
"H": 58.0,
"BB": 20.0,
"SO": 46.0,
"HR": 3.0,
"BF": 238.0,
"Pitches": 937.0
},
"per_game": {
"IP": 5.0,
"ER": 2.0909,
"R": 2.1818,
"H": 5.2727,
"BB": 1.8182,
"SO": 4.1818,
"HR": 0.2727,
"BF": 21.6364,
"Pitches": 85.1818
},
"rates": {
"ERA": 3.7636,
"WHIP": 1.4182,
"ER_per_IP": 0.41818,
"H_per_IP": 1.05455,
"BB_per_IP": 0.36364,
"SO_per_IP": 0.83636,
"HR_per_IP": 0.05455
}
}
},
"weighted_prediction": {
"predicted_IP": 4.0,
"predicted_ER": 1.678,
"predicted_H": 4.019,
"predicted_BB": 1.441,
"predicted_SO": 3.067,
"predicted_HR": 0.393,
"predicted_ERA": 3.8163,
"predicted_WHIP": 1.3796
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.482,
"form_weight": 0.518,
"form_reliability": 0.6875,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 4.0,
"final": 2.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.678,
"final": 0.8692,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 4.019,
"final": 2.0817,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.441,
"final": 1.2284,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.067,
"final": 3.0347,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.393,
"final": 0.2036,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8163,
"final": 3.8163,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3796,
"final": 1.3796,
"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 | Gregory Soto |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3828 |
| ESPN Rank | 149 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0306 |
| Avg Velo | 90.2464 |
| Avg Spin | 2396.4105 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 1.9059 |
| Season WHIP | 0.7412 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 68,
"wins": 35,
"losses": 33,
"win_pct": 0.5147,
"runs_scored": 339.0,
"runs_allowed": 315.0,
"run_differential": 24.0,
"run_differential_per_game": 0.3529,
"avg_runs_scored": 4.9853,
"avg_runs_allowed": 4.6324,
"offense_index": 1.1145,
"defense_index": 0.9656,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 5.4,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.1259
},
"opponent": {
"team": "HOU",
"games": 71,
"wins": 31,
"losses": 40,
"win_pct": 0.4366,
"runs_scored": 319.0,
"runs_allowed": 354.0,
"run_differential": -35.0,
"run_differential_per_game": -0.493,
"avg_runs_scored": 4.493,
"avg_runs_allowed": 4.9859,
"offense_index": 1.0044,
"defense_index": 0.8972,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 4.7,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0795
},
"edges": {
"quality_edge": 0.2054,
"offense_edge": 0.1145,
"opponent_offense_edge": 0.0044,
"defense_strength": -0.0344,
"opponent_defense_weakness": 0.1028,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9939,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642397",
"profile": {
"available": true,
"pitcher_id": "642397",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 97.0,
"k_percent": 30.6,
"bb_percent": 10.8,
"woba": 0.221,
"xwoba": 0.254,
"sweet_spot_percent": 25.4,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 36.5,
"avg_best_speed": 72.5285,
"avg_hyper_speed": 93.1479,
"whiff_percent": 27.6,
"swing_percent": 42.1
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.4367,
"command_and_miss": 0.5307,
"regression_edge": -0.9429,
"xwoba_edge": 1.7429,
"barrel_edge": 0.5333,
"hard_hit_edge": 0.2714,
"whiff_edge": 0.2571,
"bb_edge": -0.4,
"pitch_design_score": 0.0306
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642397",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 90.24636292182763,
"release_spin_rate": 2396.4104591552236,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 90.24636292182763,
"release_spin_rate": 2396.4104591552236,
"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.2464,
"release_spin_rate": 2396.4105,
"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.0306,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2184,
"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.3828,
"sample_weight": 0.45,
"run_prevention_factor": 0.9675,
"strikeout_factor": 1.0255,
"walk_factor": 1.0144,
"homer_factor": 0.9524,
"woba_minus_xwoba": -0.033,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "642397",
"espn_id": 39804,
"player_name": "Gregory Soto",
"team": "PIT",
"role": "pitcher",
"espn_rank": 149,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 149,
"gp_value": 29.0,
"gp_rank": 8,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.8588,
"era_rank": null,
"w_value": 4.0,
"w_rank": 46,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 8.0,
"sv_rank": 13,
"hld_value": 6.0,
"hld_rank": 57,
"ip_value": 28.1,
"ip_rank": 198,
"h_value": 13.0,
"h_rank": 395,
"er_value": 9.0,
"er_rank": 297,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 12.0,
"bb_rank": 213,
"k_value": 34.0,
"k_rank": 156,
"k_per_9_value": 10.8,
"k_per_9_rank": 21,
"whip_value": 0.8823,
"whip_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0065,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9786,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0115,
"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": 3,
"H": 4,
"BB": 4,
"SO": 9,
"HR": 0,
"ERA": 2.892857142857143,
"WHIP": 0.8571428571428571,
"K9": 8.678571428571429,
"HR9": 0.0,
"games_pitched": 9,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "642397",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 90.24636292182763,
"release_spin_rate": 2396.4104591552236,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 90.24636292182763,
"release_spin_rate": 2396.4104591552236,
"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.2464,
"release_spin_rate": 2396.4105,
"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.0306,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2184,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.592,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.528,
"prior_weight": 0.472
},
"role": "pitcher",
"player_id": "642397",
"report_date": "20260604_P",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.4,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 3.0,
"R": 4.0,
"H": 4.0,
"BB": 4.0,
"SO": 10.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 170.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.4,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.0
},
"rates": {
"ERA": 2.6129,
"WHIP": 0.7742,
"ER_per_IP": 0.29032,
"H_per_IP": 0.3871,
"BB_per_IP": 0.3871,
"SO_per_IP": 0.96774,
"HR_per_IP": 0.0
}
},
"season": {
"games": 28,
"totals": {
"IP": 28.1,
"ER": 6.0,
"R": 7.0,
"H": 10.0,
"BB": 11.0,
"SO": 34.0,
"HR": 1.0,
"BF": 107.0,
"Pitches": 448.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2143,
"R": 0.25,
"H": 0.3571,
"BB": 0.3929,
"SO": 1.2143,
"HR": 0.0357,
"BF": 3.8214,
"Pitches": 16.0
},
"rates": {
"ERA": 1.9059,
"WHIP": 0.7412,
"ER_per_IP": 0.21176,
"H_per_IP": 0.35294,
"BB_per_IP": 0.38824,
"SO_per_IP": 1.2,
"HR_per_IP": 0.03529
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.304,
"predicted_H": 0.56,
"predicted_BB": 0.381,
"predicted_SO": 0.987,
"predicted_HR": 0.068,
"predicted_ERA": 2.7338,
"predicted_WHIP": 0.9407
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5494,
"form_weight": 0.4506,
"form_reliability": 0.528,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.592,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.528,
"prior_weight": 0.472
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.304,
"final": 0.137,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.56,
"final": 0.2523,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.381,
"final": 0.1717,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 0.987,
"final": 2.093,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.068,
"final": 0.0306,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7338,
"final": 2.7338,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9407,
"final": 0.9407,
"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 | Mason Montgomery |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1155 |
| ESPN Rank | 459 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.1237 |
| Avg Spin | 2357.1303 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 4.1831 |
| Season WHIP | 1.2676 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 68,
"wins": 35,
"losses": 33,
"win_pct": 0.5147,
"runs_scored": 339.0,
"runs_allowed": 315.0,
"run_differential": 24.0,
"run_differential_per_game": 0.3529,
"avg_runs_scored": 4.9853,
"avg_runs_allowed": 4.6324,
"offense_index": 1.1145,
"defense_index": 0.9656,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 5.4,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.1259
},
"opponent": {
"team": "HOU",
"games": 71,
"wins": 31,
"losses": 40,
"win_pct": 0.4366,
"runs_scored": 319.0,
"runs_allowed": 354.0,
"run_differential": -35.0,
"run_differential_per_game": -0.493,
"avg_runs_scored": 4.493,
"avg_runs_allowed": 4.9859,
"offense_index": 1.0044,
"defense_index": 0.8972,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 4.7,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0795
},
"edges": {
"quality_edge": 0.2054,
"offense_edge": 0.1145,
"opponent_offense_edge": 0.0044,
"defense_strength": -0.0344,
"opponent_defense_weakness": 0.1028,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9939,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682254",
"profile": {
"available": true,
"pitcher_id": "682254",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 91.0,
"k_percent": 31.4,
"bb_percent": 10.8,
"woba": 0.31,
"xwoba": 0.308,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 44.1,
"avg_best_speed": 74.0157,
"avg_hyper_speed": 95.1454,
"whiff_percent": 32.2,
"swing_percent": 50.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.031,
"command_and_miss": 0.8121,
"regression_edge": 0.0571,
"xwoba_edge": 0.2,
"barrel_edge": -0.6667,
"hard_hit_edge": -0.8143,
"whiff_edge": 0.9143,
"bb_edge": -0.4,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 95.12373202882664,
"release_spin_rate": 2357.1303297116206,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 95.12373202882664,
"release_spin_rate": 2357.1303297116206,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.1237,
"release_spin_rate": 2357.1303,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1155,
"sample_weight": 0.45,
"run_prevention_factor": 0.9902,
"strikeout_factor": 1.0393,
"walk_factor": 1.0144,
"homer_factor": 1.036,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682254",
"espn_id": 4424112,
"player_name": "Mason Montgomery",
"team": "PIT",
"role": "pitcher",
"espn_rank": 459,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 459,
"gp_value": 24.0,
"gp_rank": 87,
"gs_value": 3.0,
"gs_rank": 172,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.9436,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 7.0,
"hld_rank": 36,
"ip_value": 23.2,
"ip_rank": 282,
"h_value": 21.0,
"h_rank": 265,
"er_value": 13.0,
"er_rank": 196,
"hr_value": 3.0,
"hr_rank": 207,
"bb_value": 11.0,
"bb_rank": 227,
"k_value": 32.0,
"k_rank": 174,
"k_per_9_value": 12.169014,
"k_per_9_rank": 16,
"whip_value": 1.3521,
"whip_rank": null,
"war_value": -0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9956,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9956,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0065,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0162,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0177,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 6,
"H": 8,
"BB": 4,
"SO": 10,
"HR": 1,
"ERA": 5.225806451612903,
"WHIP": 1.161290322580645,
"K9": 8.709677419354838,
"HR9": 0.8709677419354839,
"games_pitched": 9,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "682254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 95.12373202882664,
"release_spin_rate": 2357.1303297116206,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 95.12373202882664,
"release_spin_rate": 2357.1303297116206,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.1237,
"release_spin_rate": 2357.1303,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.671,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.483,
"prior_weight": 0.517
},
"role": "pitcher",
"player_id": "682254",
"report_date": "20260604_P",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 5.0,
"R": 5.0,
"H": 5.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 104.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.8,
"Pitches": 20.8
},
"rates": {
"ERA": 7.9412,
"WHIP": 1.4118,
"ER_per_IP": 0.88235,
"H_per_IP": 0.88235,
"BB_per_IP": 0.52941,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 6.0,
"R": 6.0,
"H": 8.0,
"BB": 5.0,
"SO": 10.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 180.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.5,
"SO": 1.0,
"HR": 0.1,
"BF": 4.6,
"Pitches": 18.0
},
"rates": {
"ERA": 4.7647,
"WHIP": 1.1471,
"ER_per_IP": 0.52941,
"H_per_IP": 0.70588,
"BB_per_IP": 0.44118,
"SO_per_IP": 0.88235,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 23,
"totals": {
"IP": 23.2,
"ER": 11.0,
"R": 11.0,
"H": 19.0,
"BB": 11.0,
"SO": 32.0,
"HR": 2.0,
"BF": 100.0,
"Pitches": 402.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4783,
"R": 0.4783,
"H": 0.8261,
"BB": 0.4783,
"SO": 1.3913,
"HR": 0.087,
"BF": 4.3478,
"Pitches": 17.4783
},
"rates": {
"ERA": 4.1831,
"WHIP": 1.2676,
"ER_per_IP": 0.46479,
"H_per_IP": 0.80282,
"BB_per_IP": 0.46479,
"SO_per_IP": 1.35211,
"HR_per_IP": 0.08451
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.576,
"predicted_H": 0.883,
"predicted_BB": 0.424,
"predicted_SO": 0.996,
"predicted_HR": 0.094,
"predicted_ERA": 5.1807,
"predicted_WHIP": 1.3071
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5684,
"form_weight": 0.4316,
"form_reliability": 0.483,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.671,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.483,
"prior_weight": 0.517
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.576,
"final": 0.2486,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.883,
"final": 0.3811,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.424,
"final": 0.7514,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.996,
"final": 0.9983,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.094,
"final": 0.0406,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.1807,
"final": 5.1807,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3071,
"final": 1.3071,
"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 | Dennis Santana |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2684 |
| ESPN Rank | 574 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0055 |
| Avg Velo | 89.7993 |
| Avg Spin | 2454.4801 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.7432 |
| Season WHIP | 1.4595 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 68,
"wins": 35,
"losses": 33,
"win_pct": 0.5147,
"runs_scored": 339.0,
"runs_allowed": 315.0,
"run_differential": 24.0,
"run_differential_per_game": 0.3529,
"avg_runs_scored": 4.9853,
"avg_runs_allowed": 4.6324,
"offense_index": 1.1145,
"defense_index": 0.9656,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 5.4,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.1259
},
"opponent": {
"team": "HOU",
"games": 71,
"wins": 31,
"losses": 40,
"win_pct": 0.4366,
"runs_scored": 319.0,
"runs_allowed": 354.0,
"run_differential": -35.0,
"run_differential_per_game": -0.493,
"avg_runs_scored": 4.493,
"avg_runs_allowed": 4.9859,
"offense_index": 1.0044,
"defense_index": 0.8972,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 4.7,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0795
},
"edges": {
"quality_edge": 0.2054,
"offense_edge": 0.1145,
"opponent_offense_edge": 0.0044,
"defense_strength": -0.0344,
"opponent_defense_weakness": 0.1028,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.007,
"run_prevention": 0.9939,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642701",
"profile": {
"available": true,
"pitcher_id": "642701",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 17.5,
"bb_percent": 12.3,
"woba": 0.365,
"xwoba": 0.354,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 39.7,
"avg_best_speed": 77.5272,
"avg_hyper_speed": 93.8401,
"whiff_percent": 25.4,
"swing_percent": 48.7
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.8916,
"command_and_miss": -0.4964,
"regression_edge": 0.3143,
"xwoba_edge": -1.1143,
"barrel_edge": -0.6889,
"hard_hit_edge": -0.1857,
"whiff_edge": -0.0571,
"bb_edge": -0.775,
"pitch_design_score": 0.0055
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642701",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 23,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 23,
"pitch_usage": 0.0,
"release_speed": 89.7993222392863,
"release_spin_rate": 2454.4800941257927,
"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": 23,
"pitch_usage": 0.0,
"release_speed": 89.7993222392863,
"release_spin_rate": 2454.4800941257927,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7993,
"release_spin_rate": 2454.4801,
"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.0055,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0396,
"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.2684,
"sample_weight": 0.45,
"run_prevention_factor": 1.0228,
"strikeout_factor": 0.9861,
"walk_factor": 1.0279,
"homer_factor": 1.0432,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642701",
"espn_id": 39801,
"player_name": "Dennis Santana",
"team": "PIT",
"role": "pitcher",
"espn_rank": 574,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 574,
"gp_value": 27.0,
"gp_rank": 33,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 5.4729,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 4.0,
"hld_rank": 99,
"ip_value": 24.2,
"ip_rank": 266,
"h_value": 26.0,
"h_rank": 198,
"er_value": 15.0,
"er_rank": 169,
"hr_value": 3.0,
"hr_rank": 207,
"bb_value": 14.0,
"bb_rank": 167,
"k_value": 20.0,
"k_rank": 303,
"k_per_9_value": 7.297297,
"k_per_9_rank": 30,
"whip_value": 1.6216,
"whip_rank": null,
"war_value": -0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0103,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0103,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0126,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0194,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9937,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 6,
"H": 10,
"BB": 5,
"SO": 10,
"HR": 1,
"ERA": 6.75,
"WHIP": 1.875,
"K9": 11.25,
"HR9": 1.125,
"games_pitched": 9,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "642701",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 23,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 23,
"pitch_usage": 0.0,
"release_speed": 89.7993222392863,
"release_spin_rate": 2454.4800941257927,
"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": 23,
"pitch_usage": 0.0,
"release_speed": 89.7993222392863,
"release_spin_rate": 2454.4800941257927,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7993,
"release_spin_rate": 2454.4801,
"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.0055,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0396,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.868,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4933,
"prior_weight": 0.5067
},
"role": "pitcher",
"player_id": "642701",
"report_date": "20260604_P",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 5.0,
"SO": 7.0,
"HR": 0.0,
"BF": 26.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.4,
"BB": 1.0,
"SO": 1.4,
"HR": 0.0,
"BF": 5.2,
"Pitches": 19.4
},
"rates": {
"ERA": 10.3846,
"WHIP": 2.7692,
"ER_per_IP": 1.15385,
"H_per_IP": 1.61538,
"BB_per_IP": 1.15385,
"SO_per_IP": 1.61538,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 6.0,
"R": 6.0,
"H": 10.0,
"BB": 6.0,
"SO": 10.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 164.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.6,
"SO": 1.0,
"HR": 0.1,
"BF": 4.3,
"Pitches": 16.4
},
"rates": {
"ERA": 6.0,
"WHIP": 1.7778,
"ER_per_IP": 0.66667,
"H_per_IP": 1.11111,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.11111,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 26,
"totals": {
"IP": 24.2,
"ER": 13.0,
"R": 14.0,
"H": 22.0,
"BB": 14.0,
"SO": 20.0,
"HR": 3.0,
"BF": 110.0,
"Pitches": 419.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5385,
"H": 0.8462,
"BB": 0.5385,
"SO": 0.7692,
"HR": 0.1154,
"BF": 4.2308,
"Pitches": 16.1154
},
"rates": {
"ERA": 4.7432,
"WHIP": 1.4595,
"ER_per_IP": 0.52703,
"H_per_IP": 0.89189,
"BB_per_IP": 0.56757,
"SO_per_IP": 0.81081,
"HR_per_IP": 0.12162
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.442,
"predicted_H": 0.744,
"predicted_BB": 0.406,
"predicted_SO": 0.733,
"predicted_HR": 0.067,
"predicted_ERA": 6.0095,
"predicted_WHIP": 1.7359
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5641,
"form_weight": 0.4359,
"form_reliability": 0.4933,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.868,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4933,
"prior_weight": 0.5067
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.442,
"final": 0.1927,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.744,
"final": 0.3243,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.406,
"final": 0.177,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.733,
"final": 1.4477,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0292,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0095,
"final": 6.0095,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7359,
"final": 1.7359,
"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.186 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 3.710 | 3.000 | 6.000 | Hitting_AB | 3.351 | 5.000 | -0.351 | -2.000 |
| predicted_AVG | 0.259 | 0.333 | 0.333 | Hitting_AVG | 0.291 | 0.600 | 0.043 | -0.267 |
| predicted_BB | 0.665 | 1.000 | 1.000 | Hitting_BB | 0.665 | 0.000 | 0.335 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 1.000 | 2.000 | Hitting_H | 0.974 | 3.000 | 0.026 | -2.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | 0.887 | 1.000 |
| predicted_OBP | 0.365 | 0.500 | 0.429 | Hitting_OBP | 0.405 | 0.600 | 0.095 | -0.100 |
| predicted_R | 0.428 | 1.000 | 1.000 | Hitting_R | 0.428 | 0.000 | 0.572 | 1.000 |
| predicted_RBI | 0.430 | 1.000 | 1.000 | Hitting_RBI | 0.546 | 0.000 | 0.454 | 1.000 |
| predicted_SLG | 0.446 | 1.333 | 0.333 | Hitting_SLG | 0.460 | 0.600 | 0.873 | 0.733 |
| predicted_SO | 0.474 | 0.000 | 1.000 | Hitting_SO | 0.474 | 0.000 | -0.474 | 0.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_HR: 0.1400 -> 1.0000 (boost 0.8600, better) |
| Biggest Deboost | predicted_AB: 3.7100 -> 3.0000 (deboost -0.7100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.7100 -> 6.1827 (boost 2.4727, 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 | 4 | 4 | 0 | 4 | 0 | predicted_H: 1.7637 -> 1.8182 (boost 0.0545, better) | - | 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_SO: 0.7815 -> 1.0000 (boost 0.2185, worse) | predicted_2B: 0.3139 -> 0.0000 (deboost -0.3139, worse) | AB rounded to 6 (raw=6.18), rates preserved: AVG=0.294 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7971 -> 1.0000 (boost 0.2029, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2941 -> 0.3330 (boost 0.0389, better) | predicted_SLG: 0.4673 -> 0.3330 (deboost -0.1343, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4673 (boost 0.1343, better) | predicted_AVG: 0.3330 -> 0.2941 (deboost -0.0389, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687462",
"player_name": "Spencer Horwitz",
"position": "1B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.186,
"predicted_3B": 0.021,
"predicted_AB": 3.71,
"predicted_AVG": 0.259,
"predicted_BB": 0.665,
"predicted_H": 0.96,
"predicted_HR": 0.14,
"predicted_OBP": 0.365,
"predicted_R": 0.428,
"predicted_RBI": 0.43,
"predicted_SLG": 0.446,
"predicted_SO": 0.474
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3139,
"predicted_3B": 0.0298,
"predicted_AB": 6.1827,
"predicted_AVG": 0.2764,
"predicted_BB": 1.0864,
"predicted_H": 1.7637,
"predicted_HBP": 0.072,
"predicted_HR": 0.2248,
"predicted_OBP": 0.3806,
"predicted_R": 0.7576,
"predicted_RBI": 0.7671,
"predicted_SLG": 0.4547,
"predicted_SO": 0.79
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.3139,
"delta": 0.1279,
"percent_delta": 0.6876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0298,
"delta": 0.0088,
"percent_delta": 0.419,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.71,
"after": 6.1827,
"delta": 2.4727,
"percent_delta": 0.6665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2764,
"delta": 0.0174,
"percent_delta": 0.0672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.665,
"after": 1.0864,
"delta": 0.4214,
"percent_delta": 0.6337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.7637,
"delta": 0.8037,
"percent_delta": 0.8372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.2248,
"delta": 0.0848,
"percent_delta": 0.6057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3806,
"delta": 0.0156,
"percent_delta": 0.0427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.428,
"after": 0.7576,
"delta": 0.3296,
"percent_delta": 0.7701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.7671,
"delta": 0.3371,
"percent_delta": 0.784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.446,
"after": 0.4547,
"delta": 0.0087,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.474,
"after": 0.79,
"delta": 0.316,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.71,
"after": 6.1827,
"delta": 2.4727,
"percent_delta": 0.6665,
"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": 6,
"season": 57
}
},
{
"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.3139,
"predicted_3B": 0.0298,
"predicted_AB": 6.1827,
"predicted_AVG": 0.2941,
"predicted_BB": 1.098,
"predicted_H": 1.8182,
"predicted_HBP": 0.072,
"predicted_HR": 0.2325,
"predicted_OBP": 0.4005,
"predicted_R": 0.7971,
"predicted_RBI": 0.8071,
"predicted_SLG": 0.4673,
"predicted_SO": 0.7815
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3139,
"after": 0.3139,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0298,
"after": 0.0298,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.1827,
"after": 6.1827,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2764,
"after": 0.2941,
"delta": 0.0177,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0864,
"after": 1.098,
"delta": 0.0116,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7637,
"after": 1.8182,
"delta": 0.0545,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.072,
"after": 0.072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2248,
"after": 0.2325,
"delta": 0.0077,
"percent_delta": 0.0343,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3806,
"after": 0.4005,
"delta": 0.0199,
"percent_delta": 0.0523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7576,
"after": 0.7971,
"delta": 0.0395,
"percent_delta": 0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7671,
"after": 0.8071,
"delta": 0.04,
"percent_delta": 0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4547,
"after": 0.4673,
"delta": 0.0126,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.79,
"after": 0.7815,
"delta": -0.0085,
"percent_delta": -0.0108,
"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.7637,
"after": 1.8182,
"delta": 0.0545,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.18), rates preserved: AVG=0.294 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.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.3139,
"after": 0.0,
"delta": -0.3139,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0298,
"after": 0.0,
"delta": -0.0298,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.1827,
"after": 6.0,
"delta": -0.1827,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.098,
"after": 1.0,
"delta": -0.098,
"percent_delta": -0.0893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8182,
"after": 2.0,
"delta": 0.1818,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.072,
"after": 0.0,
"delta": -0.072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2325,
"after": 0.0,
"delta": -0.2325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8071,
"after": 1.0,
"delta": 0.1929,
"percent_delta": 0.239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7815,
"after": 1.0,
"delta": 0.2185,
"percent_delta": 0.2796,
"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_SO",
"before": 0.7815,
"after": 1.0,
"delta": 0.2185,
"percent_delta": 0.2796,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3139,
"after": 0.0,
"delta": -0.3139,
"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": 6.0,
"predicted_BB": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.7971,
"after": 1.0,
"delta": 0.2029,
"percent_delta": 0.2545,
"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.7971,
"after": 1.0,
"delta": 0.2029,
"percent_delta": 0.2545,
"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": 6.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.429,
"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.2941,
"after": 0.333,
"delta": 0.0389,
"percent_delta": 0.1323,
"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": 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.4005,
"after": 0.429,
"delta": 0.0285,
"percent_delta": 0.0712,
"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.4673,
"after": 0.333,
"delta": -0.1343,
"percent_delta": -0.2874,
"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.2941,
"after": 0.333,
"delta": 0.0389,
"percent_delta": 0.1323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4673,
"after": 0.333,
"delta": -0.1343,
"percent_delta": -0.2874,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"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.2941,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.4005,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4673,
"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.333,
"after": 0.2941,
"delta": -0.0389,
"percent_delta": -0.1169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.429,
"after": 0.4005,
"delta": -0.0285,
"percent_delta": -0.0663,
"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.4673,
"delta": 0.1343,
"percent_delta": 0.4033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4673,
"delta": 0.1343,
"percent_delta": 0.4033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2941,
"delta": -0.0389,
"percent_delta": -0.1169,
"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.186,
"after": 0.0,
"delta": -0.186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.71,
"after": 3.0,
"delta": -0.71,
"percent_delta": -0.1914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2941,
"delta": 0.0351,
"percent_delta": 0.1355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.665,
"after": 1.0,
"delta": 0.335,
"percent_delta": 0.5038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.0,
"delta": 0.04,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.4005,
"delta": 0.0355,
"percent_delta": 0.0973,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.428,
"after": 1.0,
"delta": 0.572,
"percent_delta": 1.3364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 1.0,
"delta": 0.57,
"percent_delta": 1.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.446,
"after": 0.4673,
"delta": 0.0213,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.474,
"after": 0.0,
"delta": -0.474,
"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_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.71,
"after": 3.0,
"delta": -0.71,
"percent_delta": -0.1914,
"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.186 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.710 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.665 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.365 | - |
| predicted_R | 0.428 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.446 | - |
| predicted_SO | 0.474 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.314 | 0.128 |
| predicted_3B | 0.030 | 0.009 |
| predicted_AB | 6.183 | 2.473 |
| predicted_AVG | 0.276 | 0.017 |
| predicted_BB | 1.086 | 0.421 |
| predicted_H | 1.764 | 0.804 |
| predicted_HBP | 0.072 | - |
| predicted_HR | 0.225 | 0.085 |
| predicted_OBP | 0.381 | 0.016 |
| predicted_R | 0.758 | 0.330 |
| predicted_RBI | 0.767 | 0.337 |
| predicted_SLG | 0.455 | 0.009 |
| predicted_SO | 0.790 | 0.316 |
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.314 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 6.183 | 0.000 |
| predicted_AVG | 0.294 | 0.018 |
| predicted_BB | 1.098 | 0.012 |
| predicted_H | 1.818 | 0.054 |
| predicted_HBP | 0.072 | 0.000 |
| predicted_HR | 0.233 | 0.008 |
| predicted_OBP | 0.401 | 0.020 |
| predicted_R | 0.797 | 0.039 |
| predicted_RBI | 0.807 | 0.040 |
| predicted_SLG | 0.467 | 0.013 |
| predicted_SO | 0.781 | -0.009 |
AB rounded to 6 (raw=6.18), rates preserved: AVG=0.294 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.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.314 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 6.000 | -0.183 |
| predicted_AVG | 0.333 | 0.039 |
| predicted_BB | 1.000 | -0.098 |
| predicted_H | 2.000 | 0.182 |
| predicted_HR | 0.000 | -0.233 |
| predicted_OBP | 0.429 | 0.028 |
| predicted_R | 1.000 | 0.203 |
| predicted_RBI | 1.000 | 0.193 |
| predicted_SLG | 0.333 | -0.134 |
| predicted_SO | 1.000 | 0.219 |
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 | -3.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 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 | - | 23.000 | 8.000 | 1.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 2.000 | 0.3478 | 0.4000 | 0.5217 | 0.3478 | 0.0435 | 0.0435 | 0.0870 | 0.0870 |
| last_10 | 0.20 | 6 | - | 38.000 | 8.000 | 1.000 | 0.000 | 1.000 | 1.000 | 3.000 | 12.000 | 2.000 | 0.2105 | 0.4000 | 0.3158 | 0.2105 | 0.0263 | 0.0263 | 0.3158 | 0.0526 |
| season | 0.60 | 57 | - | 650.000 | 189.000 | 36.000 | 4.000 | 22.000 | 106.000 | 83.000 | 129.000 | 92.000 | 0.2908 | 0.4052 | 0.4600 | 0.2908 | 0.0338 | 0.1631 | 0.1985 | 0.1415 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4770 |
| predicted_3B | 0.0410 |
| predicted_AB | 9.3370 |
| predicted_AVG | 0.2987 |
| predicted_BB | 1.6240 |
| predicted_H | 2.7890 |
| predicted_HBP | 0.0720 |
| predicted_HR | 0.3330 |
| predicted_OBP | 0.4005 |
| predicted_R | 1.1780 |
| predicted_RBI | 1.1970 |
| predicted_SLG | 0.4657 |
| predicted_SO | 1.1930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.4770 | 0.3139 | model_form_blend |
| predicted_3B | 0.0210 | 0.0410 | 0.0298 | model_form_blend |
| predicted_AB | 3.7100 | 9.3370 | 6.1827 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2987 | 0.2764 | model_form_blend |
| predicted_BB | 0.6650 | 1.6240 | 1.0864 | model_form_blend |
| predicted_H | 0.9600 | 2.7890 | 1.7637 | model_form_blend |
| predicted_HBP | - | 0.0720 | 0.0720 | form_only |
| predicted_HR | 0.1400 | 0.3330 | 0.2248 | model_form_blend |
| predicted_OBP | 0.3650 | 0.4005 | 0.3806 | model_form_blend |
| predicted_R | 0.4280 | 1.1780 | 0.7576 | model_form_blend |
| predicted_RBI | 0.4300 | 1.1970 | 0.7671 | model_form_blend |
| predicted_SLG | 0.4460 | 0.4657 | 0.4547 | model_form_blend |
| predicted_SO | 0.4740 | 1.1930 | 0.7900 | 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 | 194 |
| Season rows before report date | 194 |
| Report year | 2026 |
| Profile rows used | 194 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.291 |
| 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.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| 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 | 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 | 1B |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 687462 |
| playerID | 687462 |
| playerName | Spencer Horwitz |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 11.9 |
| sl_bb_percent | 13.8 |
| sl_woba | 0.376 |
| sl_xwoba | 0.338 |
| sl_xba | 0.239 |
| sl_xslg | 0.387 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 33.8 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 16.0 |
| sl_whiff_percent | 13.5 |
| sl_swing_percent | 40.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.147 | 0.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.880 | 4.000 | 7.000 | Hitting_AB | 3.859 | 2.000 | 0.141 | 2.000 |
| predicted_AVG | 0.245 | 0.000 | 0.286 | Hitting_AVG | 0.291 | 0.000 | -0.291 | 0.000 |
| predicted_BB | 0.467 | 0.000 | 1.000 | Hitting_BB | 0.465 | 0.000 | -0.465 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.950 | 0.000 | 2.000 | Hitting_H | 1.124 | 0.000 | -1.124 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_OBP | 0.331 | 0.000 | 0.375 | Hitting_OBP | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_R | 0.663 | 0.000 | 1.000 | Hitting_R | 0.659 | 0.000 | -0.659 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.708 | 0.000 | -0.708 | 0.000 |
| predicted_SLG | 0.438 | 0.000 | 0.286 | Hitting_SLG | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_SO | 0.832 | 1.000 | 2.000 | Hitting_SO | 0.827 | 1.000 | 0.173 | 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_SO: 0.8320 -> 1.0000 (boost 0.1680, worse) |
| Biggest Deboost | predicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.8800 -> 7.3560 (boost 3.4760, 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 | 6 | 6 | 0 | 6 | 0 | predicted_R: 1.3044 -> 1.3724 (boost 0.0680, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 1.7112 -> 2.0000 (boost 0.2888, worse) | predicted_HR: 0.3563 -> 0.0000 (deboost -0.3563, worse) | AB rounded to 7 (raw=7.36), rates preserved: AVG=0.266 HR/AB=0.048 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3724 -> 1.0000 (deboost -0.3724, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3471 -> 0.3750 (boost 0.0279, better) | predicted_SLG: 0.4423 -> 0.2860 (deboost -0.1563, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4423 (boost 0.1563, better) | predicted_OBP: 0.3750 -> 0.3471 (deboost -0.0279, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656811",
"player_name": "Ryan O'Hearn",
"position": "DH",
"team": "PIT",
"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.147,
"predicted_3B": 0.0,
"predicted_AB": 3.88,
"predicted_AVG": 0.245,
"predicted_BB": 0.467,
"predicted_H": 0.95,
"predicted_HR": 0.17,
"predicted_OBP": 0.331,
"predicted_R": 0.663,
"predicted_RBI": 0.52,
"predicted_SLG": 0.438,
"predicted_SO": 0.832
},
"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.2266,
"predicted_3B": 0.0009,
"predicted_AB": 7.356,
"predicted_AVG": 0.2531,
"predicted_BB": 0.9053,
"predicted_H": 1.8974,
"predicted_HBP": 0.061,
"predicted_HR": 0.3445,
"predicted_OBP": 0.3372,
"predicted_R": 1.3044,
"predicted_RBI": 1.0704,
"predicted_SLG": 0.437,
"predicted_SO": 1.7297
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.2266,
"delta": 0.0796,
"percent_delta": 0.5415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 7.356,
"delta": 3.476,
"percent_delta": 0.8959,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2531,
"delta": 0.0081,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.467,
"after": 0.9053,
"delta": 0.4383,
"percent_delta": 0.9385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.8974,
"delta": 0.9474,
"percent_delta": 0.9973,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.3445,
"delta": 0.1745,
"percent_delta": 1.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3372,
"delta": 0.0062,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.663,
"after": 1.3044,
"delta": 0.6414,
"percent_delta": 0.9674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.0704,
"delta": 0.5504,
"percent_delta": 1.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.437,
"delta": -0.001,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.832,
"after": 1.7297,
"delta": 0.8977,
"percent_delta": 1.079,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.88,
"after": 7.356,
"delta": 3.476,
"percent_delta": 0.8959,
"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": 6,
"season": 46
}
},
{
"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.2266,
"predicted_3B": 0.0009,
"predicted_AB": 7.356,
"predicted_AVG": 0.2659,
"predicted_BB": 0.915,
"predicted_H": 1.956,
"predicted_HBP": 0.061,
"predicted_HR": 0.3563,
"predicted_OBP": 0.3471,
"predicted_R": 1.3724,
"predicted_RBI": 1.1262,
"predicted_SLG": 0.4423,
"predicted_SO": 1.7112
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2266,
"after": 0.2266,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.356,
"after": 7.356,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2531,
"after": 0.2659,
"delta": 0.0128,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9053,
"after": 0.915,
"delta": 0.0097,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8974,
"after": 1.956,
"delta": 0.0586,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.061,
"after": 0.061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3445,
"after": 0.3563,
"delta": 0.0118,
"percent_delta": 0.0343,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3372,
"after": 0.3471,
"delta": 0.0099,
"percent_delta": 0.0294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.3044,
"after": 1.3724,
"delta": 0.068,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0704,
"after": 1.1262,
"delta": 0.0558,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4423,
"delta": 0.0053,
"percent_delta": 0.0121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7297,
"after": 1.7112,
"delta": -0.0185,
"percent_delta": -0.0107,
"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": 1.3044,
"after": 1.3724,
"delta": 0.068,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.36), rates preserved: AVG=0.266 HR/AB=0.048",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2266,
"after": 0.0,
"delta": -0.2266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.356,
"after": 7.0,
"delta": -0.356,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.915,
"after": 1.0,
"delta": 0.085,
"percent_delta": 0.0929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.956,
"after": 2.0,
"delta": 0.044,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.061,
"after": 0.0,
"delta": -0.061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3563,
"after": 0.0,
"delta": -0.3563,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1262,
"after": 1.0,
"delta": -0.1262,
"percent_delta": -0.1121,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7112,
"after": 2.0,
"delta": 0.2888,
"percent_delta": 0.1688,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.7112,
"after": 2.0,
"delta": 0.2888,
"percent_delta": 0.1688,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3563,
"after": 0.0,
"delta": -0.3563,
"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": 7.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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": 1.3724,
"after": 1.0,
"delta": -0.3724,
"percent_delta": -0.2713,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.3724,
"after": 1.0,
"delta": -0.3724,
"percent_delta": -0.2713,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2659,
"after": 0.286,
"delta": 0.0201,
"percent_delta": 0.0756,
"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": 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.3471,
"after": 0.375,
"delta": 0.0279,
"percent_delta": 0.0804,
"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.4423,
"after": 0.286,
"delta": -0.1563,
"percent_delta": -0.3534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3471,
"after": 0.375,
"delta": 0.0279,
"percent_delta": 0.0804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4423,
"after": 0.286,
"delta": -0.1563,
"percent_delta": -0.3534,
"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": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2659,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3471,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4423,
"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.286,
"after": 0.2659,
"delta": -0.0201,
"percent_delta": -0.0702,
"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.375,
"after": 0.3471,
"delta": -0.0279,
"percent_delta": -0.0743,
"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.286,
"after": 0.4423,
"delta": 0.1563,
"percent_delta": 0.5464,
"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.286,
"after": 0.4423,
"delta": 0.1563,
"percent_delta": 0.5464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3471,
"delta": -0.0279,
"percent_delta": -0.0743,
"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.147,
"after": 0.0,
"delta": -0.147,
"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.88,
"after": 4.0,
"delta": 0.12,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2659,
"delta": 0.0209,
"percent_delta": 0.0853,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3471,
"delta": 0.0161,
"percent_delta": 0.0486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.663,
"after": 0.0,
"delta": -0.663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4423,
"delta": 0.0043,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.832,
"after": 1.0,
"delta": 0.168,
"percent_delta": 0.2019,
"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_SO",
"before": 0.832,
"after": 1.0,
"delta": 0.168,
"percent_delta": 0.2019,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.467 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.663 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.438 | - |
| predicted_SO | 0.832 | - |
Final model 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.227 | 0.080 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.356 | 3.476 |
| predicted_AVG | 0.253 | 0.008 |
| predicted_BB | 0.905 | 0.438 |
| predicted_H | 1.897 | 0.947 |
| predicted_HBP | 0.061 | - |
| predicted_HR | 0.344 | 0.174 |
| predicted_OBP | 0.337 | 0.006 |
| predicted_R | 1.304 | 0.641 |
| predicted_RBI | 1.070 | 0.550 |
| predicted_SLG | 0.437 | -0.001 |
| predicted_SO | 1.730 | 0.898 |
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.227 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.356 | 0.000 |
| predicted_AVG | 0.266 | 0.013 |
| predicted_BB | 0.915 | 0.010 |
| predicted_H | 1.956 | 0.059 |
| predicted_HBP | 0.061 | 0.000 |
| predicted_HR | 0.356 | 0.012 |
| predicted_OBP | 0.347 | 0.010 |
| predicted_R | 1.372 | 0.068 |
| predicted_RBI | 1.126 | 0.056 |
| predicted_SLG | 0.442 | 0.005 |
| predicted_SO | 1.711 | -0.018 |
AB rounded to 7 (raw=7.36), rates preserved: AVG=0.266 HR/AB=0.048
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 2.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.227 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | -0.356 |
| predicted_AVG | 0.286 | 0.020 |
| predicted_BB | 1.000 | 0.085 |
| predicted_H | 2.000 | 0.044 |
| predicted_HR | 0.000 | -0.356 |
| predicted_OBP | 0.375 | 0.028 |
| predicted_R | 1.000 | -0.372 |
| predicted_RBI | 1.000 | -0.126 |
| predicted_SLG | 0.286 | -0.156 |
| predicted_SO | 2.000 | 0.289 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 5.000 | 0.2000 | 0.2941 | 0.4000 | 0.2000 | 0.0667 | 0.0667 | 0.1333 | 0.3333 |
| last_10 | 0.20 | 6 | - | 35.000 | 6.000 | 0.000 | 0.000 | 2.000 | 3.000 | 9.000 | 6.000 | 9.000 | 0.1714 | 0.2927 | 0.3429 | 0.1714 | 0.0571 | 0.0857 | 0.1714 | 0.2571 |
| season | 0.60 | 46 | - | 714.000 | 208.000 | 27.000 | 0.000 | 30.000 | 131.000 | 122.000 | 86.000 | 153.000 | 0.2913 | 0.3673 | 0.4552 | 0.2913 | 0.0420 | 0.1835 | 0.1205 | 0.2143 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3280 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.7870 |
| predicted_AVG | 0.2634 |
| predicted_BB | 1.4640 |
| predicted_H | 3.1050 |
| predicted_HBP | 0.0610 |
| predicted_HR | 0.5670 |
| predicted_OBP | 0.3452 |
| predicted_R | 2.1220 |
| predicted_RBI | 1.7720 |
| predicted_SLG | 0.4357 |
| predicted_SO | 2.8740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.3280 | 0.2266 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.8800 | 11.7870 | 7.3560 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2634 | 0.2531 | model_form_blend |
| predicted_BB | 0.4670 | 1.4640 | 0.9053 | model_form_blend |
| predicted_H | 0.9500 | 3.1050 | 1.8974 | model_form_blend |
| predicted_HBP | - | 0.0610 | 0.0610 | form_only |
| predicted_HR | 0.1700 | 0.5670 | 0.3445 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3452 | 0.3372 | model_form_blend |
| predicted_R | 0.6630 | 2.1220 | 1.3044 | model_form_blend |
| predicted_RBI | 0.5200 | 1.7720 | 1.0704 | model_form_blend |
| predicted_SLG | 0.4380 | 0.4357 | 0.4370 | model_form_blend |
| predicted_SO | 0.8320 | 2.8740 | 1.7297 | 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 | 185 |
| Season rows before report date | 185 |
| Report year | 2026 |
| Profile rows used | 184 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.291 |
| 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 | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20260603_PIT@HOU |
| game_type | ph |
| mlbID | 656811 |
| note | Struck out for Ozuna in the 7th. |
| playerID | 656811 |
| playerName | Ryan O'Hearn |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.367 |
| sl_xwoba | 0.355 |
| sl_xba | 0.276 |
| sl_xslg | 0.449 |
| sl_sweet_spot_percent | 31.6 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 43.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.202 | 0.000 | 0.000 | Hitting_2B | 0.201 | 1.000 | -0.201 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.020 | 4.000 | 7.000 | Hitting_AB | 4.000 | 5.000 | 0.000 | -1.000 |
| predicted_AVG | 0.271 | 0.000 | 0.286 | Hitting_AVG | 0.310 | 0.400 | -0.310 | -0.400 |
| predicted_BB | 0.276 | 0.000 | 1.000 | Hitting_BB | 0.279 | 0.000 | -0.279 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 1.060 | 0.000 | 2.000 | Hitting_H | 1.240 | 2.000 | -1.240 | -2.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.010 | 1.000 | -0.010 | -1.000 |
| predicted_OBP | 0.359 | 0.000 | 0.375 | Hitting_OBP | 0.363 | 0.400 | -0.363 | -0.400 |
| predicted_R | 0.542 | 0.000 | 1.000 | Hitting_R | 0.539 | 1.000 | -0.539 | -1.000 |
| predicted_RBI | 0.630 | 0.000 | 1.000 | Hitting_RBI | 0.495 | 3.000 | -0.495 | -3.000 |
| predicted_SLG | 0.448 | 0.000 | 0.286 | Hitting_SLG | 0.368 | 1.200 | -0.368 | -1.200 |
| predicted_SO | 0.798 | 3.000 | 1.000 | Hitting_SO | 0.794 | 0.000 | 2.206 | 3.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_SO: 0.7980 -> 3.0000 (boost 2.2020, worse) |
| Biggest Deboost | predicted_H: 1.0600 -> 0.0000 (deboost -1.0600, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.0200 -> 7.2310 (boost 3.2110, 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 | 4 | 4 | 0 | 4 | 0 | predicted_H: 2.2892 -> 2.3599 (boost 0.0707, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_BB: 0.5256 -> 1.0000 (boost 0.4744, better) | predicted_H: 2.3599 -> 2.0000 (deboost -0.3599, worse) | AB rounded to 7 (raw=7.23), rates preserved: AVG=0.326 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3431 -> 1.0000 (deboost -0.3431, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4618 -> 0.2860 (deboost -0.1758, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 0 | 6 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2860 -> 0.4618 (boost 0.1758, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "693304",
"player_name": "Nick Gonzales",
"position": "3B",
"team": "PIT",
"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.202,
"predicted_3B": 0.0,
"predicted_AB": 4.02,
"predicted_AVG": 0.271,
"predicted_BB": 0.276,
"predicted_H": 1.06,
"predicted_HR": 0.11,
"predicted_OBP": 0.359,
"predicted_R": 0.542,
"predicted_RBI": 0.63,
"predicted_SLG": 0.448,
"predicted_SO": 0.798
},
"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.35,
"predicted_3B": 0.0004,
"predicted_AB": 7.231,
"predicted_AVG": 0.3016,
"predicted_BB": 0.52,
"predicted_H": 2.2892,
"predicted_HBP": 0.113,
"predicted_HR": 0.2025,
"predicted_OBP": 0.3729,
"predicted_R": 1.2766,
"predicted_RBI": 1.2263,
"predicted_SLG": 0.4591,
"predicted_SO": 1.3084
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 0.35,
"delta": 0.148,
"percent_delta": 0.7327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.02,
"after": 7.231,
"delta": 3.211,
"percent_delta": 0.7988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.3016,
"delta": 0.0306,
"percent_delta": 0.1129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.52,
"delta": 0.244,
"percent_delta": 0.8841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.2892,
"delta": 1.2292,
"percent_delta": 1.1596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.2025,
"delta": 0.0925,
"percent_delta": 0.8409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3729,
"delta": 0.0139,
"percent_delta": 0.0387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 1.2766,
"delta": 0.7346,
"percent_delta": 1.3554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 1.2263,
"delta": 0.5963,
"percent_delta": 0.9465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.4591,
"delta": 0.0111,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.798,
"after": 1.3084,
"delta": 0.5104,
"percent_delta": 0.6396,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.02,
"after": 7.231,
"delta": 3.211,
"percent_delta": 0.7988,
"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": 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.35,
"predicted_3B": 0.0004,
"predicted_AB": 7.231,
"predicted_AVG": 0.3264,
"predicted_BB": 0.5256,
"predicted_H": 2.3599,
"predicted_HBP": 0.113,
"predicted_HR": 0.2094,
"predicted_OBP": 0.372,
"predicted_R": 1.3431,
"predicted_RBI": 1.2902,
"predicted_SLG": 0.4618,
"predicted_SO": 1.2944
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.35,
"after": 0.35,
"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": 7.231,
"after": 7.231,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3016,
"after": 0.3264,
"delta": 0.0248,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.52,
"after": 0.5256,
"delta": 0.0056,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2892,
"after": 2.3599,
"delta": 0.0707,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.113,
"after": 0.113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2025,
"after": 0.2094,
"delta": 0.0069,
"percent_delta": 0.0341,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3729,
"after": 0.372,
"delta": -0.0009,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2766,
"after": 1.3431,
"delta": 0.0665,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2263,
"after": 1.2902,
"delta": 0.0639,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4591,
"after": 0.4618,
"delta": 0.0027,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.3084,
"after": 1.2944,
"delta": -0.014,
"percent_delta": -0.0107,
"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": 2.2892,
"after": 2.3599,
"delta": 0.0707,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.23), rates preserved: AVG=0.326 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.35,
"after": 0.0,
"delta": -0.35,
"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": 7.231,
"after": 7.0,
"delta": -0.231,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5256,
"after": 1.0,
"delta": 0.4744,
"percent_delta": 0.9026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3599,
"after": 2.0,
"delta": -0.3599,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.113,
"after": 0.0,
"delta": -0.113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2094,
"after": 0.0,
"delta": -0.2094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2902,
"after": 1.0,
"delta": -0.2902,
"percent_delta": -0.2249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2944,
"after": 1.0,
"delta": -0.2944,
"percent_delta": -0.2274,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5256,
"after": 1.0,
"delta": 0.4744,
"percent_delta": 0.9026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.3599,
"after": 2.0,
"delta": -0.3599,
"percent_delta": -0.1525,
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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": 1.3431,
"after": 1.0,
"delta": -0.3431,
"percent_delta": -0.2555,
"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": 1.3431,
"after": 1.0,
"delta": -0.3431,
"percent_delta": -0.2555,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3264,
"after": 0.286,
"delta": -0.0404,
"percent_delta": -0.1238,
"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": 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.372,
"after": 0.375,
"delta": 0.003,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4618,
"after": 0.286,
"delta": -0.1758,
"percent_delta": -0.3807,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4618,
"after": 0.286,
"delta": -0.1758,
"percent_delta": -0.3807,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"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": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.3264,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.372,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4618,
"predicted_SO": 3.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.3264,
"delta": 0.0404,
"percent_delta": 0.1411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.372,
"delta": -0.003,
"percent_delta": -0.008,
"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.286,
"after": 0.4618,
"delta": 0.1758,
"percent_delta": 0.6146,
"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": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4618,
"delta": 0.1758,
"percent_delta": 0.6146,
"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.202,
"after": 0.0,
"delta": -0.202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.02,
"after": 4.0,
"delta": -0.02,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.3264,
"delta": 0.0554,
"percent_delta": 0.2044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.0,
"delta": -0.276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.372,
"delta": 0.013,
"percent_delta": 0.0362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 0.0,
"delta": -0.542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.4618,
"delta": 0.0138,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.798,
"after": 3.0,
"delta": 2.202,
"percent_delta": 2.7594,
"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_SO",
"before": 0.798,
"after": 3.0,
"delta": 2.202,
"percent_delta": 2.7594,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"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.202 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.020 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.276 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.359 | - |
| predicted_R | 0.542 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.448 | - |
| predicted_SO | 0.798 | - |
Final model 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.350 | 0.148 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.231 | 3.211 |
| predicted_AVG | 0.302 | 0.031 |
| predicted_BB | 0.520 | 0.244 |
| predicted_H | 2.289 | 1.229 |
| predicted_HBP | 0.113 | - |
| predicted_HR | 0.203 | 0.093 |
| predicted_OBP | 0.373 | 0.014 |
| predicted_R | 1.277 | 0.735 |
| predicted_RBI | 1.226 | 0.596 |
| predicted_SLG | 0.459 | 0.011 |
| predicted_SO | 1.308 | 0.510 |
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.350 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.231 | 0.000 |
| predicted_AVG | 0.326 | 0.025 |
| predicted_BB | 0.526 | 0.006 |
| predicted_H | 2.360 | 0.071 |
| predicted_HBP | 0.113 | 0.000 |
| predicted_HR | 0.209 | 0.007 |
| predicted_OBP | 0.372 | -0.001 |
| predicted_R | 1.343 | 0.067 |
| predicted_RBI | 1.290 | 0.064 |
| predicted_SLG | 0.462 | 0.003 |
| predicted_SO | 1.294 | -0.014 |
AB rounded to 7 (raw=7.23), rates preserved: AVG=0.326 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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.350 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.231 |
| predicted_AVG | 0.286 | -0.040 |
| predicted_BB | 1.000 | 0.474 |
| predicted_H | 2.000 | -0.360 |
| predicted_HR | 0.000 | -0.209 |
| predicted_OBP | 0.375 | 0.003 |
| predicted_R | 1.000 | -0.343 |
| predicted_RBI | 1.000 | -0.290 |
| predicted_SLG | 0.286 | -0.176 |
| predicted_SO | 1.000 | -0.294 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 10.000 | 1.000 | 0.000 | 2.000 | 7.000 | 8.000 | 2.000 | 2.000 | 0.4762 | 0.5217 | 0.8095 | 0.4762 | 0.0952 | 0.3333 | 0.0952 | 0.0952 |
| last_10 | 0.20 | 7 | - | 38.000 | 10.000 | 1.000 | 0.000 | 2.000 | 7.000 | 8.000 | 2.000 | 6.000 | 0.2632 | 0.3000 | 0.4474 | 0.2632 | 0.0526 | 0.1842 | 0.0526 | 0.1579 |
| season | 0.60 | 55 | - | 816.000 | 253.000 | 41.000 | 0.000 | 2.000 | 101.000 | 110.000 | 56.000 | 162.000 | 0.3100 | 0.3627 | 0.3676 | 0.3100 | 0.0024 | 0.1238 | 0.0686 | 0.1985 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5380 |
| predicted_3B | 0.0010 |
| predicted_AB | 11.3110 |
| predicted_AVG | 0.3405 |
| predicted_BB | 0.8300 |
| predicted_H | 3.8510 |
| predicted_HBP | 0.1130 |
| predicted_HR | 0.3200 |
| predicted_OBP | 0.3905 |
| predicted_R | 2.2100 |
| predicted_RBI | 1.9840 |
| predicted_SLG | 0.4731 |
| predicted_SO | 1.9570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2020 | 0.5380 | 0.3500 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0200 | 11.3110 | 7.2310 | model_form_blend |
| predicted_AVG | 0.2710 | 0.3405 | 0.3016 | model_form_blend |
| predicted_BB | 0.2760 | 0.8300 | 0.5200 | model_form_blend |
| predicted_H | 1.0600 | 3.8510 | 2.2892 | model_form_blend |
| predicted_HBP | - | 0.1130 | 0.1130 | form_only |
| predicted_HR | 0.1100 | 0.3200 | 0.2025 | model_form_blend |
| predicted_OBP | 0.3590 | 0.3905 | 0.3729 | model_form_blend |
| predicted_R | 0.5420 | 2.2100 | 1.2766 | model_form_blend |
| predicted_RBI | 0.6300 | 1.9840 | 1.2263 | model_form_blend |
| predicted_SLG | 0.4480 | 0.4731 | 0.4591 | model_form_blend |
| predicted_SO | 0.7980 | 1.9570 | 1.3084 | 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 | 204 |
| Season rows before report date | 204 |
| Report year | 2026 |
| Profile rows used | 203 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.31 |
| 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 | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| 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 | 3B |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 693304 |
| playerID | 693304 |
| playerName | Nick Gonzales |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.341 |
| sl_xwoba | 0.343 |
| sl_xba | 0.308 |
| sl_xslg | 0.413 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 6.3 |
| sl_whiff_percent | 23.3 |
| sl_swing_percent | 53.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.209 | 0.000 | 0.000 | Hitting_2B | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_3B | 0.041 | 0.000 | 0.000 | Hitting_3B | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_AB | 3.880 | 3.000 | 7.000 | Hitting_AB | 3.639 | 5.000 | -0.639 | -2.000 |
| predicted_AVG | 0.250 | 0.333 | 0.286 | Hitting_AVG | 0.279 | 0.200 | 0.054 | 0.133 |
| predicted_BB | 0.721 | 1.000 | 2.000 | Hitting_BB | 0.721 | 0.000 | 0.279 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.970 | 1.000 | 2.000 | Hitting_H | 1.016 | 1.000 | -0.016 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_OBP | 0.391 | 0.500 | 0.444 | Hitting_OBP | 0.405 | 0.200 | 0.095 | 0.300 |
| predicted_R | 0.672 | 0.000 | 2.000 | Hitting_R | 0.672 | 1.000 | -0.672 | -1.000 |
| predicted_RBI | 0.600 | 0.000 | 1.000 | Hitting_RBI | 0.635 | 0.000 | -0.635 | 0.000 |
| predicted_SLG | 0.440 | 0.333 | 0.286 | Hitting_SLG | 0.437 | 0.200 | -0.104 | 0.133 |
| predicted_SO | 0.988 | 2.000 | 2.000 | Hitting_SO | 0.988 | 2.000 | 1.012 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.9880 -> 2.0000 (boost 1.0120, worse) |
| Biggest Deboost | predicted_AB: 3.8800 -> 3.0000 (deboost -0.8800, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.8800 -> 6.9037 (boost 3.0237, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 6 | 0 | 6 | 0 | predicted_R: 1.4961 -> 1.5740 (boost 0.0779, better) | - | 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_BB: 1.6555 -> 2.0000 (boost 0.3445, better) | predicted_2B: 0.3691 -> 0.0000 (deboost -0.3691, worse) | AB rounded to 7 (raw=6.90), rates preserved: AVG=0.285 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.5740 -> 2.0000 (boost 0.4260, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.4234 -> 0.4440 (boost 0.0206, better) | predicted_SLG: 0.4881 -> 0.2860 (deboost -0.2021, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2860 -> 0.4881 (boost 0.2021, better) | predicted_OBP: 0.4440 -> 0.4234 (deboost -0.0206, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "RF",
"team": "PIT",
"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.209,
"predicted_3B": 0.041,
"predicted_AB": 3.88,
"predicted_AVG": 0.25,
"predicted_BB": 0.721,
"predicted_H": 0.97,
"predicted_HR": 0.14,
"predicted_OBP": 0.391,
"predicted_R": 0.672,
"predicted_RBI": 0.6,
"predicted_SLG": 0.44,
"predicted_SO": 0.988
},
"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.3691,
"predicted_3B": 0.0587,
"predicted_AB": 6.9037,
"predicted_AVG": 0.2672,
"predicted_BB": 1.638,
"predicted_H": 1.9095,
"predicted_HBP": 0.309,
"predicted_HR": 0.2947,
"predicted_OBP": 0.4111,
"predicted_R": 1.4961,
"predicted_RBI": 1.1885,
"predicted_SLG": 0.4641,
"predicted_SO": 1.8258
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.209,
"after": 0.3691,
"delta": 0.1601,
"percent_delta": 0.766,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.041,
"after": 0.0587,
"delta": 0.0177,
"percent_delta": 0.4317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 6.9037,
"delta": 3.0237,
"percent_delta": 0.7793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2672,
"delta": 0.0172,
"percent_delta": 0.0688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.721,
"after": 1.638,
"delta": 0.917,
"percent_delta": 1.2718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.9095,
"delta": 0.9395,
"percent_delta": 0.9686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.2947,
"delta": 0.1547,
"percent_delta": 1.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.391,
"after": 0.4111,
"delta": 0.0201,
"percent_delta": 0.0514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.672,
"after": 1.4961,
"delta": 0.8241,
"percent_delta": 1.2263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 1.1885,
"delta": 0.5885,
"percent_delta": 0.9808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4641,
"delta": 0.0241,
"percent_delta": 0.0548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.988,
"after": 1.8258,
"delta": 0.8378,
"percent_delta": 0.848,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.88,
"after": 6.9037,
"delta": 3.0237,
"percent_delta": 0.7793,
"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": 62
}
},
{
"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.3691,
"predicted_3B": 0.0587,
"predicted_AB": 6.9037,
"predicted_AVG": 0.2851,
"predicted_BB": 1.6555,
"predicted_H": 1.9685,
"predicted_HBP": 0.309,
"predicted_HR": 0.3048,
"predicted_OBP": 0.4234,
"predicted_R": 1.574,
"predicted_RBI": 1.2504,
"predicted_SLG": 0.4881,
"predicted_SO": 1.8063
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3691,
"after": 0.3691,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0587,
"after": 0.0587,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.9037,
"after": 6.9037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2672,
"after": 0.2851,
"delta": 0.0179,
"percent_delta": 0.067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.638,
"after": 1.6555,
"delta": 0.0175,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9095,
"after": 1.9685,
"delta": 0.059,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.309,
"after": 0.309,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2947,
"after": 0.3048,
"delta": 0.0101,
"percent_delta": 0.0343,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4111,
"after": 0.4234,
"delta": 0.0123,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4961,
"after": 1.574,
"delta": 0.0779,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1885,
"after": 1.2504,
"delta": 0.0619,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4641,
"after": 0.4881,
"delta": 0.024,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8258,
"after": 1.8063,
"delta": -0.0195,
"percent_delta": -0.0107,
"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": 1.4961,
"after": 1.574,
"delta": 0.0779,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.90), rates preserved: AVG=0.285 HR/AB=0.044",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3691,
"after": 0.0,
"delta": -0.3691,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0587,
"after": 0.0,
"delta": -0.0587,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.9037,
"after": 7.0,
"delta": 0.0963,
"percent_delta": 0.0139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.6555,
"after": 2.0,
"delta": 0.3445,
"percent_delta": 0.2081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9685,
"after": 2.0,
"delta": 0.0315,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.309,
"after": 0.0,
"delta": -0.309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3048,
"after": 0.0,
"delta": -0.3048,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2504,
"after": 1.0,
"delta": -0.2504,
"percent_delta": -0.2003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8063,
"after": 2.0,
"delta": 0.1937,
"percent_delta": 0.1072,
"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_BB",
"before": 1.6555,
"after": 2.0,
"delta": 0.3445,
"percent_delta": 0.2081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3691,
"after": 0.0,
"delta": -0.3691,
"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": 7.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_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": 1.574,
"after": 2.0,
"delta": 0.426,
"percent_delta": 0.2706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.574,
"after": 2.0,
"delta": 0.426,
"percent_delta": 0.2706,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.444,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2851,
"after": 0.286,
"delta": 0.0009,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_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.4234,
"after": 0.444,
"delta": 0.0206,
"percent_delta": 0.0487,
"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": 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.4881,
"after": 0.286,
"delta": -0.2021,
"percent_delta": -0.4141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.4234,
"after": 0.444,
"delta": 0.0206,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4881,
"after": 0.286,
"delta": -0.2021,
"percent_delta": -0.4141,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"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.2851,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4234,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4881,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2851,
"delta": -0.0009,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.444,
"after": 0.4234,
"delta": -0.0206,
"percent_delta": -0.0464,
"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.286,
"after": 0.4881,
"delta": 0.2021,
"percent_delta": 0.7065,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4881,
"delta": 0.2021,
"percent_delta": 0.7065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.444,
"after": 0.4234,
"delta": -0.0206,
"percent_delta": -0.0464,
"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.209,
"after": 0.0,
"delta": -0.209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 3.0,
"delta": -0.88,
"percent_delta": -0.2268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2851,
"delta": 0.0351,
"percent_delta": 0.1404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.721,
"after": 1.0,
"delta": 0.279,
"percent_delta": 0.387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0,
"delta": 0.03,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.391,
"after": 0.4234,
"delta": 0.0324,
"percent_delta": 0.0829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.672,
"after": 0.0,
"delta": -0.672,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4881,
"delta": 0.0481,
"percent_delta": 0.1093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.988,
"after": 2.0,
"delta": 1.012,
"percent_delta": 1.0243,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.988,
"after": 2.0,
"delta": 1.012,
"percent_delta": 1.0243,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.88,
"after": 3.0,
"delta": -0.88,
"percent_delta": -0.2268,
"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.209 | - |
| predicted_3B | 0.041 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.721 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.391 | - |
| predicted_R | 0.672 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 0.988 | - |
Final model 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.369 | 0.160 |
| predicted_3B | 0.059 | 0.018 |
| predicted_AB | 6.904 | 3.024 |
| predicted_AVG | 0.267 | 0.017 |
| predicted_BB | 1.638 | 0.917 |
| predicted_H | 1.909 | 0.940 |
| predicted_HBP | 0.309 | - |
| predicted_HR | 0.295 | 0.155 |
| predicted_OBP | 0.411 | 0.020 |
| predicted_R | 1.496 | 0.824 |
| predicted_RBI | 1.188 | 0.588 |
| predicted_SLG | 0.464 | 0.024 |
| predicted_SO | 1.826 | 0.838 |
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.369 | 0.000 |
| predicted_3B | 0.059 | 0.000 |
| predicted_AB | 6.904 | 0.000 |
| predicted_AVG | 0.285 | 0.018 |
| predicted_BB | 1.655 | 0.018 |
| predicted_H | 1.968 | 0.059 |
| predicted_HBP | 0.309 | 0.000 |
| predicted_HR | 0.305 | 0.010 |
| predicted_OBP | 0.423 | 0.012 |
| predicted_R | 1.574 | 0.078 |
| predicted_RBI | 1.250 | 0.062 |
| predicted_SLG | 0.488 | 0.024 |
| predicted_SO | 1.806 | -0.020 |
AB rounded to 7 (raw=6.90), rates preserved: AVG=0.285 HR/AB=0.044
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 2.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 2.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 2.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.369 |
| predicted_3B | 0.000 | -0.059 |
| predicted_AB | 7.000 | 0.096 |
| predicted_AVG | 0.286 | 0.001 |
| predicted_BB | 2.000 | 0.345 |
| predicted_H | 2.000 | 0.032 |
| predicted_HR | 0.000 | -0.305 |
| predicted_OBP | 0.444 | 0.021 |
| predicted_R | 2.000 | 0.426 |
| predicted_RBI | 1.000 | -0.250 |
| predicted_SLG | 0.286 | -0.202 |
| predicted_SO | 2.000 | 0.194 |
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 | -4.000 |
| BB | 1.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -2.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 6.000 | 7.000 | 5.000 | 0.2500 | 0.4800 | 0.4375 | 0.2500 | 0.0625 | 0.1875 | 0.4375 | 0.3125 |
| last_10 | 0.20 | 7 | - | 32.000 | 15.000 | 5.000 | 0.000 | 5.000 | 7.000 | 10.000 | 11.000 | 5.000 | 0.4688 | 0.6000 | 1.0938 | 0.4688 | 0.1562 | 0.2188 | 0.3438 | 0.1562 |
| season | 0.60 | 62 | - | 888.000 | 248.000 | 51.000 | 10.000 | 23.000 | 155.000 | 164.000 | 176.000 | 241.000 | 0.2793 | 0.4052 | 0.4369 | 0.2793 | 0.0259 | 0.1746 | 0.1982 | 0.2714 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5710 |
| predicted_3B | 0.0810 |
| predicted_AB | 10.7190 |
| predicted_AVG | 0.2888 |
| predicted_BB | 2.7950 |
| predicted_H | 3.0950 |
| predicted_HBP | 0.3090 |
| predicted_HR | 0.4900 |
| predicted_OBP | 0.4365 |
| predicted_R | 2.5360 |
| predicted_RBI | 1.9310 |
| predicted_SLG | 0.4944 |
| predicted_SO | 2.8830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2090 | 0.5710 | 0.3691 | model_form_blend |
| predicted_3B | 0.0410 | 0.0810 | 0.0587 | model_form_blend |
| predicted_AB | 3.8800 | 10.7190 | 6.9037 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2888 | 0.2672 | model_form_blend |
| predicted_BB | 0.7210 | 2.7950 | 1.6380 | model_form_blend |
| predicted_H | 0.9700 | 3.0950 | 1.9095 | model_form_blend |
| predicted_HBP | - | 0.3090 | 0.3090 | form_only |
| predicted_HR | 0.1400 | 0.4900 | 0.2947 | model_form_blend |
| predicted_OBP | 0.3910 | 0.4365 | 0.4111 | model_form_blend |
| predicted_R | 0.6720 | 2.5360 | 1.4961 | model_form_blend |
| predicted_RBI | 0.6000 | 1.9310 | 1.1885 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4944 | 0.4641 | model_form_blend |
| predicted_SO | 0.9880 | 2.8830 | 1.8258 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 244 |
| Season rows before report date | 244 |
| Report year | 2026 |
| Profile rows used | 244 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.279 |
| 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | LF |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 668804 |
| playerID | 668804 |
| playerName | Bryan Reynolds |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 16.4 |
| sl_woba | 0.37 |
| sl_xwoba | 0.367 |
| sl_xba | 0.258 |
| sl_xslg | 0.432 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 5.0 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 43.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.222 | 0.000 | 0.000 | Hitting_2B | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 4.380 | 4.000 | 8.000 | Hitting_AB | 3.964 | 4.000 | 0.036 | 0.000 |
| predicted_AVG | 0.223 | 0.000 | 0.250 | Hitting_AVG | 0.269 | 0.000 | -0.269 | 0.000 |
| predicted_BB | 0.538 | 0.000 | 1.000 | Hitting_BB | 0.538 | 1.000 | -0.538 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.980 | 0.000 | 2.000 | Hitting_H | 1.067 | 0.000 | -1.067 | 0.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.293 | 0.000 | -0.293 | 0.000 |
| predicted_OBP | 0.305 | 0.000 | 0.333 | Hitting_OBP | 0.361 | 0.200 | -0.361 | -0.200 |
| predicted_R | 0.724 | 0.000 | 1.000 | Hitting_R | 0.724 | 1.000 | -0.724 | -1.000 |
| predicted_RBI | 0.680 | 0.000 | 2.000 | Hitting_RBI | 0.809 | 0.000 | -0.809 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.438 | 0.000 | 0.250 | Hitting_SLG | 0.561 | 0.000 | -0.561 | 0.000 |
| predicted_SO | 1.062 | 3.000 | 2.000 | Hitting_SO | 1.062 | 2.000 | 1.938 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.0620 -> 3.0000 (boost 1.9380, worse) |
| Biggest Deboost | predicted_H: 0.9800 -> 0.0000 (deboost -0.9800, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.3800 -> 7.7711 (boost 3.3911, 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 | 6 | 6 | 0 | 6 | 0 | predicted_RBI: 1.4323 -> 1.5069 (boost 0.0746, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 5 | 3 | predicted_RBI: 1.5069 -> 2.0000 (boost 0.4931, better) | predicted_HR: 0.4808 -> 0.0000 (deboost -0.4808, worse) | AB rounded to 8 (raw=7.77), rates preserved: AVG=0.233 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4988 -> 1.0000 (deboost -0.4988, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3152 -> 0.3330 (boost 0.0178, better) | predicted_SLG: 0.4706 -> 0.2500 (deboost -0.2206, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 0 | 6 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4706 (boost 0.2206, better) | predicted_OBP: 0.3330 -> 0.3152 (deboost -0.0178, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664040",
"player_name": "Brandon Lowe",
"position": "2B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.222,
"predicted_3B": 0.027,
"predicted_AB": 4.38,
"predicted_AVG": 0.223,
"predicted_BB": 0.538,
"predicted_H": 0.98,
"predicted_HR": 0.21,
"predicted_OBP": 0.305,
"predicted_R": 0.724,
"predicted_RBI": 0.68,
"predicted_SLG": 0.438,
"predicted_SO": 1.062
},
"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.3289,
"predicted_3B": 0.0394,
"predicted_AB": 7.7711,
"predicted_AVG": 0.2245,
"predicted_BB": 0.928,
"predicted_H": 1.753,
"predicted_HBP": 0.208,
"predicted_HR": 0.4649,
"predicted_OBP": 0.31,
"predicted_R": 1.4246,
"predicted_RBI": 1.4323,
"predicted_SLG": 0.4521,
"predicted_SO": 2.2865
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.3289,
"delta": 0.1069,
"percent_delta": 0.4815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0394,
"delta": 0.0124,
"percent_delta": 0.4593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 7.7711,
"delta": 3.3911,
"percent_delta": 0.7742,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2245,
"delta": 0.0015,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.538,
"after": 0.928,
"delta": 0.39,
"percent_delta": 0.7249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.753,
"delta": 0.773,
"percent_delta": 0.7888,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.4649,
"delta": 0.2549,
"percent_delta": 1.2138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.31,
"delta": 0.005,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.724,
"after": 1.4246,
"delta": 0.7006,
"percent_delta": 0.9677,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 1.4323,
"delta": 0.7523,
"percent_delta": 1.1063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4521,
"delta": 0.0141,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.062,
"after": 2.2865,
"delta": 1.2245,
"percent_delta": 1.153,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.38,
"after": 7.7711,
"delta": 3.3911,
"percent_delta": 0.7742,
"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": 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.3289,
"predicted_3B": 0.0394,
"predicted_AB": 7.7711,
"predicted_AVG": 0.2325,
"predicted_BB": 0.9379,
"predicted_H": 1.8072,
"predicted_HBP": 0.208,
"predicted_HR": 0.4808,
"predicted_OBP": 0.3152,
"predicted_R": 1.4988,
"predicted_RBI": 1.5069,
"predicted_SLG": 0.4706,
"predicted_SO": 2.262
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3289,
"after": 0.3289,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0394,
"after": 0.0394,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.7711,
"after": 7.7711,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2245,
"after": 0.2325,
"delta": 0.008,
"percent_delta": 0.0356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.928,
"after": 0.9379,
"delta": 0.0099,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.753,
"after": 1.8072,
"delta": 0.0542,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.208,
"after": 0.208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4649,
"after": 0.4808,
"delta": 0.0159,
"percent_delta": 0.0342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3152,
"delta": 0.0052,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4246,
"after": 1.4988,
"delta": 0.0742,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4323,
"after": 1.5069,
"delta": 0.0746,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4521,
"after": 0.4706,
"delta": 0.0185,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2865,
"after": 2.262,
"delta": -0.0245,
"percent_delta": -0.0107,
"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_RBI",
"before": 1.4323,
"after": 1.5069,
"delta": 0.0746,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.77), rates preserved: AVG=0.233 HR/AB=0.062",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3289,
"after": 0.0,
"delta": -0.3289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0394,
"after": 0.0,
"delta": -0.0394,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.7711,
"after": 8.0,
"delta": 0.2289,
"percent_delta": 0.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9379,
"after": 1.0,
"delta": 0.0621,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8072,
"after": 2.0,
"delta": 0.1928,
"percent_delta": 0.1067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4808,
"after": 0.0,
"delta": -0.4808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5069,
"after": 2.0,
"delta": 0.4931,
"percent_delta": 0.3272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.262,
"after": 2.0,
"delta": -0.262,
"percent_delta": -0.1158,
"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_RBI",
"before": 1.5069,
"after": 2.0,
"delta": 0.4931,
"percent_delta": 0.3272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4808,
"after": 0.0,
"delta": -0.4808,
"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": 8.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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": 1.4988,
"after": 1.0,
"delta": -0.4988,
"percent_delta": -0.3328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.4988,
"after": 1.0,
"delta": -0.4988,
"percent_delta": -0.3328,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.25,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2325,
"after": 0.25,
"delta": 0.0175,
"percent_delta": 0.0753,
"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": 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.3152,
"after": 0.333,
"delta": 0.0178,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4706,
"after": 0.25,
"delta": -0.2206,
"percent_delta": -0.4688,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3152,
"after": 0.333,
"delta": 0.0178,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4706,
"after": 0.25,
"delta": -0.2206,
"percent_delta": -0.4688,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"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": 4.0,
"predicted_AVG": 0.2325,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3152,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4706,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 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.2325,
"delta": -0.0175,
"percent_delta": -0.0698,
"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.3152,
"delta": -0.0178,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4706,
"delta": 0.2206,
"percent_delta": 0.8826,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4706,
"delta": 0.2206,
"percent_delta": 0.8826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3152,
"delta": -0.0178,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 4.0,
"delta": -0.38,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2325,
"delta": 0.0095,
"percent_delta": 0.0426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3152,
"delta": 0.0102,
"percent_delta": 0.0334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.724,
"after": 0.0,
"delta": -0.724,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4706,
"delta": 0.0326,
"percent_delta": 0.0744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.062,
"after": 3.0,
"delta": 1.938,
"percent_delta": 1.8249,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.062,
"after": 3.0,
"delta": 1.938,
"percent_delta": 1.8249,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 4.380 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.538 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.724 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.438 | - |
| predicted_SO | 1.062 | - |
Final model 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.329 | 0.107 |
| predicted_3B | 0.039 | 0.012 |
| predicted_AB | 7.771 | 3.391 |
| predicted_AVG | 0.225 | 0.002 |
| predicted_BB | 0.928 | 0.390 |
| predicted_H | 1.753 | 0.773 |
| predicted_HBP | 0.208 | - |
| predicted_HR | 0.465 | 0.255 |
| predicted_OBP | 0.310 | 0.005 |
| predicted_R | 1.425 | 0.701 |
| predicted_RBI | 1.432 | 0.752 |
| predicted_SLG | 0.452 | 0.014 |
| predicted_SO | 2.287 | 1.225 |
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.329 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 7.771 | 0.000 |
| predicted_AVG | 0.233 | 0.008 |
| predicted_BB | 0.938 | 0.010 |
| predicted_H | 1.807 | 0.054 |
| predicted_HBP | 0.208 | 0.000 |
| predicted_HR | 0.481 | 0.016 |
| predicted_OBP | 0.315 | 0.005 |
| predicted_R | 1.499 | 0.074 |
| predicted_RBI | 1.507 | 0.075 |
| predicted_SLG | 0.471 | 0.019 |
| predicted_SO | 2.262 | -0.025 |
AB rounded to 8 (raw=7.77), rates preserved: AVG=0.233 HR/AB=0.062
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 2.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.329 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 8.000 | 0.229 |
| predicted_AVG | 0.250 | 0.017 |
| predicted_BB | 1.000 | 0.062 |
| predicted_H | 2.000 | 0.193 |
| predicted_HR | 0.000 | -0.481 |
| predicted_OBP | 0.333 | 0.018 |
| predicted_R | 1.000 | -0.499 |
| predicted_RBI | 2.000 | 0.493 |
| predicted_SLG | 0.250 | -0.221 |
| predicted_SO | 2.000 | -0.262 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 2.000 | 8.000 | 0.1429 | 0.2174 | 0.2857 | 0.1429 | 0.0476 | 0.1905 | 0.0952 | 0.3810 |
| last_10 | 0.20 | 7 | - | 37.000 | 4.000 | 0.000 | 0.000 | 2.000 | 7.000 | 6.000 | 2.000 | 21.000 | 0.1081 | 0.2326 | 0.2703 | 0.1081 | 0.0541 | 0.1892 | 0.0541 | 0.5676 |
| season | 0.60 | 56 | - | 892.000 | 240.000 | 50.000 | 6.000 | 66.000 | 182.000 | 163.000 | 121.000 | 239.000 | 0.2691 | 0.3605 | 0.5605 | 0.2691 | 0.0740 | 0.2040 | 0.1356 | 0.2679 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4640 |
| predicted_3B | 0.0550 |
| predicted_AB | 12.0570 |
| predicted_AVG | 0.2265 |
| predicted_BB | 1.4210 |
| predicted_H | 2.7300 |
| predicted_HBP | 0.2080 |
| predicted_HR | 0.7870 |
| predicted_OBP | 0.3163 |
| predicted_R | 2.3100 |
| predicted_RBI | 2.3830 |
| predicted_SLG | 0.4699 |
| predicted_SO | 3.8340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.4640 | 0.3289 | model_form_blend |
| predicted_3B | 0.0270 | 0.0550 | 0.0394 | model_form_blend |
| predicted_AB | 4.3800 | 12.0570 | 7.7711 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2265 | 0.2245 | model_form_blend |
| predicted_BB | 0.5380 | 1.4210 | 0.9280 | model_form_blend |
| predicted_H | 0.9800 | 2.7300 | 1.7530 | model_form_blend |
| predicted_HBP | - | 0.2080 | 0.2080 | form_only |
| predicted_HR | 0.2100 | 0.7870 | 0.4649 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3163 | 0.3100 | model_form_blend |
| predicted_R | 0.7240 | 2.3100 | 1.4246 | model_form_blend |
| predicted_RBI | 0.6800 | 2.3830 | 1.4323 | model_form_blend |
| predicted_SLG | 0.4380 | 0.4699 | 0.4521 | model_form_blend |
| predicted_SO | 1.0620 | 3.8340 | 2.2865 | 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 | 225 |
| Season rows before report date | 225 |
| Report year | 2026 |
| Profile rows used | 225 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 664040 |
| playerID | 664040 |
| playerName | Brandon Lowe |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 24.7 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.375 |
| sl_xwoba | 0.364 |
| sl_xba | 0.255 |
| sl_xslg | 0.503 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 13.4 |
| sl_hard_hit_percent | 45.9 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 34.8 |
| sl_swing_percent | 48.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.197 | 0.000 | 0.000 | Hitting_2B | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.249 | 3.000 | 8.000 | Hitting_AB | 4.249 | 3.000 | -1.249 | 0.000 |
| predicted_AVG | 0.248 | 0.000 | 0.250 | Hitting_AVG | 0.268 | 0.667 | -0.268 | -0.667 |
| predicted_BB | 0.373 | 0.000 | 1.000 | Hitting_BB | 0.373 | 2.000 | -0.373 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 1.000 | -0.060 | -1.000 |
| predicted_H | 1.020 | 0.000 | 2.000 | Hitting_H | 1.141 | 2.000 | -1.141 | -2.000 |
| predicted_HR | 0.270 | 0.000 | 1.000 | Hitting_HR | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_OBP | 0.367 | 0.000 | 0.333 | Hitting_OBP | 0.336 | 0.800 | -0.336 | -0.800 |
| predicted_R | 0.783 | 0.000 | 2.000 | Hitting_R | 0.783 | 2.000 | -0.783 | -2.000 |
| predicted_RBI | 0.890 | 0.000 | 2.000 | Hitting_RBI | 0.715 | 0.000 | -0.715 | 0.000 |
| predicted_SLG | 0.510 | 0.000 | 0.625 | Hitting_SLG | 0.471 | 0.667 | -0.471 | -0.667 |
| predicted_SO | 1.622 | 0.000 | 3.000 | Hitting_SO | 1.622 | 1.000 | -1.622 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SLG: 0.5100 -> 0.5511 (boost 0.0411, better) |
| Biggest Deboost | predicted_SO: 1.6220 -> 0.0000 (deboost -1.6220, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.2490 -> 8.1178 (boost 3.8688, 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 | 6 | 5 | 1 | 5 | 1 | predicted_RBI: 1.9714 -> 2.0741 (boost 0.1027, better) | predicted_OBP: 0.3725 -> 0.3672 (deboost -0.0053, 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 | 1 | 6 | predicted_HR: 0.6464 -> 1.0000 (boost 0.3536, better) | predicted_2B: 0.2939 -> 0.0000 (deboost -0.2939, worse) | AB rounded to 8 (raw=8.12), rates preserved: AVG=0.276 HR/AB=0.080 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.8852 -> 2.0000 (boost 0.1148, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5511 -> 0.6250 (boost 0.0739, better) | predicted_OBP: 0.3672 -> 0.3330 (deboost -0.0342, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 0 | 7 | 1 | 6 | - | predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3330 -> 0.3672 (boost 0.0342, better) | predicted_SLG: 0.6250 -> 0.5511 (deboost -0.0739, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665833",
"player_name": "Oneil Cruz",
"position": "CF",
"team": "PIT",
"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": 4.249,
"predicted_AVG": 0.248,
"predicted_BB": 0.373,
"predicted_H": 1.02,
"predicted_HR": 0.27,
"predicted_OBP": 0.367,
"predicted_R": 0.783,
"predicted_RBI": 0.89,
"predicted_SLG": 0.51,
"predicted_SO": 1.622
},
"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.2939,
"predicted_3B": 0.0004,
"predicted_AB": 8.1178,
"predicted_AVG": 0.2617,
"predicted_BB": 1.1592,
"predicted_H": 2.1727,
"predicted_HBP": 0.117,
"predicted_HR": 0.625,
"predicted_OBP": 0.3725,
"predicted_R": 1.7918,
"predicted_RBI": 1.9714,
"predicted_SLG": 0.5316,
"predicted_SO": 3.0456
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.197,
"after": 0.2939,
"delta": 0.0969,
"percent_delta": 0.4919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.249,
"after": 8.1178,
"delta": 3.8688,
"percent_delta": 0.9105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2617,
"delta": 0.0137,
"percent_delta": 0.0552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.373,
"after": 1.1592,
"delta": 0.7862,
"percent_delta": 2.1078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 2.1727,
"delta": 1.1527,
"percent_delta": 1.1301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.625,
"delta": 0.355,
"percent_delta": 1.3148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3725,
"delta": 0.0055,
"percent_delta": 0.015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.783,
"after": 1.7918,
"delta": 1.0088,
"percent_delta": 1.2884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.89,
"after": 1.9714,
"delta": 1.0814,
"percent_delta": 1.2151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.51,
"after": 0.5316,
"delta": 0.0216,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.622,
"after": 3.0456,
"delta": 1.4236,
"percent_delta": 0.8777,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.249,
"after": 8.1178,
"delta": 3.8688,
"percent_delta": 0.9105,
"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": 60
}
},
{
"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.2939,
"predicted_3B": 0.0004,
"predicted_AB": 8.1178,
"predicted_AVG": 0.2759,
"predicted_BB": 1.1716,
"predicted_H": 2.2398,
"predicted_HBP": 0.117,
"predicted_HR": 0.6464,
"predicted_OBP": 0.3672,
"predicted_R": 1.8852,
"predicted_RBI": 2.0741,
"predicted_SLG": 0.5511,
"predicted_SO": 3.013
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2939,
"after": 0.2939,
"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": 8.1178,
"after": 8.1178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2617,
"after": 0.2759,
"delta": 0.0142,
"percent_delta": 0.0543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1592,
"after": 1.1716,
"delta": 0.0124,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1727,
"after": 2.2398,
"delta": 0.0671,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.117,
"after": 0.117,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.625,
"after": 0.6464,
"delta": 0.0214,
"percent_delta": 0.0342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3725,
"after": 0.3672,
"delta": -0.0053,
"percent_delta": -0.0142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.7918,
"after": 1.8852,
"delta": 0.0934,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.9714,
"after": 2.0741,
"delta": 0.1027,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5316,
"after": 0.5511,
"delta": 0.0195,
"percent_delta": 0.0367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0456,
"after": 3.013,
"delta": -0.0326,
"percent_delta": -0.0107,
"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_RBI",
"before": 1.9714,
"after": 2.0741,
"delta": 0.1027,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3725,
"after": 0.3672,
"delta": -0.0053,
"percent_delta": -0.0142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.12), rates preserved: AVG=0.276 HR/AB=0.080",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2939,
"after": 0.0,
"delta": -0.2939,
"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": 8.1178,
"after": 8.0,
"delta": -0.1178,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1716,
"after": 1.0,
"delta": -0.1716,
"percent_delta": -0.1465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2398,
"after": 2.0,
"delta": -0.2398,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.117,
"after": 0.0,
"delta": -0.117,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.6464,
"after": 1.0,
"delta": 0.3536,
"percent_delta": 0.547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.0741,
"after": 2.0,
"delta": -0.0741,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.013,
"after": 3.0,
"delta": -0.013,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.6464,
"after": 1.0,
"delta": 0.3536,
"percent_delta": 0.547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2939,
"after": 0.0,
"delta": -0.2939,
"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": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.8852,
"after": 2.0,
"delta": 0.1148,
"percent_delta": 0.0609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.8852,
"after": 2.0,
"delta": 0.1148,
"percent_delta": 0.0609,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.333,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.625,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2759,
"after": 0.25,
"delta": -0.0259,
"percent_delta": -0.0939,
"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": 2.0,
"after": 2.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_OBP",
"before": 0.3672,
"after": 0.333,
"delta": -0.0342,
"percent_delta": -0.0931,
"direction": "deboost",
"projection_effect": "worse",
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5511,
"after": 0.625,
"delta": 0.0739,
"percent_delta": 0.1341,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.5511,
"after": 0.625,
"delta": 0.0739,
"percent_delta": 0.1341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3672,
"after": 0.333,
"delta": -0.0342,
"percent_delta": -0.0931,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 2.0,
"after": 0.0,
"delta": -2.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": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"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.2759,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3672,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5511,
"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.25,
"after": 0.2759,
"delta": 0.0259,
"percent_delta": 0.1037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3672,
"delta": 0.0342,
"percent_delta": 0.1028,
"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.625,
"after": 0.5511,
"delta": -0.0739,
"percent_delta": -0.1182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3672,
"delta": 0.0342,
"percent_delta": 0.1028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.5511,
"delta": -0.0739,
"percent_delta": -0.1182,
"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": 4.249,
"after": 3.0,
"delta": -1.249,
"percent_delta": -0.294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2759,
"delta": 0.0279,
"percent_delta": 0.1125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.373,
"after": 0.0,
"delta": -0.373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3672,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.783,
"after": 0.0,
"delta": -0.783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.51,
"after": 0.5511,
"delta": 0.0411,
"percent_delta": 0.0806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.622,
"after": 0.0,
"delta": -1.622,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.51,
"after": 0.5511,
"delta": 0.0411,
"percent_delta": 0.0806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.622,
"after": 0.0,
"delta": -1.622,
"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.197 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.249 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.373 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.270 | - |
| predicted_OBP | 0.367 | - |
| predicted_R | 0.783 | - |
| predicted_RBI | 0.890 | - |
| predicted_SLG | 0.510 | - |
| predicted_SO | 1.622 | - |
Final model 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.294 | 0.097 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.118 | 3.869 |
| predicted_AVG | 0.262 | 0.014 |
| predicted_BB | 1.159 | 0.786 |
| predicted_H | 2.173 | 1.153 |
| predicted_HBP | 0.117 | - |
| predicted_HR | 0.625 | 0.355 |
| predicted_OBP | 0.372 | 0.006 |
| predicted_R | 1.792 | 1.009 |
| predicted_RBI | 1.971 | 1.081 |
| predicted_SLG | 0.532 | 0.022 |
| predicted_SO | 3.046 | 1.424 |
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.294 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.118 | 0.000 |
| predicted_AVG | 0.276 | 0.014 |
| predicted_BB | 1.172 | 0.012 |
| predicted_H | 2.240 | 0.067 |
| predicted_HBP | 0.117 | 0.000 |
| predicted_HR | 0.646 | 0.021 |
| predicted_OBP | 0.367 | -0.005 |
| predicted_R | 1.885 | 0.093 |
| predicted_RBI | 2.074 | 0.103 |
| predicted_SLG | 0.551 | 0.020 |
| predicted_SO | 3.013 | -0.033 |
AB rounded to 8 (raw=8.12), rates preserved: AVG=0.276 HR/AB=0.080
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 3.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 | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| R | 2.000 | - |
| RBI | 2.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 3.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.294 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | -0.118 |
| predicted_AVG | 0.250 | -0.026 |
| predicted_BB | 1.000 | -0.172 |
| predicted_H | 2.000 | -0.240 |
| predicted_HR | 1.000 | 0.354 |
| predicted_OBP | 0.333 | -0.034 |
| predicted_R | 2.000 | 0.115 |
| predicted_RBI | 2.000 | -0.074 |
| predicted_SLG | 0.625 | 0.074 |
| predicted_SO | 3.000 | -0.013 |
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 | -5.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 3.000 | - |
| R | 0.000 | -2.000 |
| RBI | 0.000 | -2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -3.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 6.000 | 0.000 | 0.000 | 3.000 | 9.000 | 7.000 | 6.000 | 6.000 | 0.3529 | 0.5217 | 0.8824 | 0.3529 | 0.1765 | 0.5294 | 0.3529 | 0.3529 |
| last_10 | 0.20 | 7 | - | 33.000 | 6.000 | 0.000 | 0.000 | 3.000 | 9.000 | 7.000 | 10.000 | 13.000 | 0.1818 | 0.3721 | 0.4545 | 0.1818 | 0.0909 | 0.2727 | 0.3030 | 0.3939 |
| season | 0.60 | 60 | - | 1058.000 | 284.000 | 49.000 | 0.000 | 55.000 | 178.000 | 195.000 | 93.000 | 404.000 | 0.2684 | 0.3356 | 0.4707 | 0.2684 | 0.0520 | 0.1682 | 0.0879 | 0.3819 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4160 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.9890 |
| predicted_AVG | 0.2790 |
| predicted_BB | 2.1490 |
| predicted_H | 3.6240 |
| predicted_HBP | 0.1170 |
| predicted_HR | 1.0720 |
| predicted_OBP | 0.3795 |
| predicted_R | 3.0620 |
| predicted_RBI | 3.3330 |
| predicted_SLG | 0.5589 |
| predicted_SO | 4.8380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1970 | 0.4160 | 0.2939 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2490 | 12.9890 | 8.1178 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2790 | 0.2617 | model_form_blend |
| predicted_BB | 0.3730 | 2.1490 | 1.1592 | model_form_blend |
| predicted_H | 1.0200 | 3.6240 | 2.1727 | model_form_blend |
| predicted_HBP | - | 0.1170 | 0.1170 | form_only |
| predicted_HR | 0.2700 | 1.0720 | 0.6250 | model_form_blend |
| predicted_OBP | 0.3670 | 0.3795 | 0.3725 | model_form_blend |
| predicted_R | 0.7830 | 3.0620 | 1.7918 | model_form_blend |
| predicted_RBI | 0.8900 | 3.3330 | 1.9714 | model_form_blend |
| predicted_SLG | 0.5100 | 0.5589 | 0.5316 | model_form_blend |
| predicted_SO | 1.6220 | 4.8380 | 3.0456 | 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 | 249 |
| Season rows before report date | 249 |
| Report year | 2026 |
| Profile rows used | 249 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.268 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| 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 | 2 |
| 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 | 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 | CF |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 665833 |
| playerID | 665833 |
| playerName | Oneil Cruz |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 34.7 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.357 |
| sl_xwoba | 0.358 |
| sl_xba | 0.258 |
| sl_xslg | 0.499 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 17.0 |
| sl_hard_hit_percent | 59.1 |
| sl_exit_velocity_avg | 95.9 |
| sl_launch_angle_avg | 7.3 |
| sl_whiff_percent | 37.2 |
| sl_swing_percent | 44.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.094 | 0.000 | 0.000 | Hitting_2B | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.594 | 3.000 | 6.000 | Hitting_AB | 3.372 | 0.000 | -0.372 | 3.000 |
| predicted_AVG | 0.301 | 0.333 | 0.333 | Hitting_AVG | 0.270 | - | 0.063 | - |
| predicted_BB | 0.283 | 0.000 | 0.000 | Hitting_BB | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.710 | 1.000 | 2.000 | Hitting_H | 0.912 | 0.000 | 0.088 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_OBP | 0.357 | 0.333 | 0.333 | Hitting_OBP | 0.333 | - | 0.001 | - |
| predicted_R | 0.491 | 0.000 | 1.000 | Hitting_R | 0.469 | 0.000 | -0.469 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 1.000 | Hitting_RBI | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_SLG | 0.413 | 0.333 | 0.333 | Hitting_SLG | 0.304 | - | 0.029 | - |
| predicted_SO | 0.792 | 0.000 | 1.000 | Hitting_SO | 0.743 | 0.000 | -0.743 | 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_H: 0.7100 -> 1.0000 (boost 0.2900, better) |
| Biggest Deboost | predicted_SO: 0.7920 -> 0.0000 (deboost -0.7920, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.5940 -> 5.5377 (boost 1.9437, 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.4125 -> 0.3746 (deboost -0.0379, 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 | 4 | 4 | predicted_RBI: 0.4971 -> 1.0000 (boost 0.5029, better) | predicted_BB: 0.4108 -> 0.0000 (deboost -0.4108, worse) | AB rounded to 6 (raw=5.54), rates preserved: AVG=0.293 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8104 -> 1.0000 (boost 0.1896, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2926 -> 0.3330 (boost 0.0404, better) | predicted_SLG: 0.3746 -> 0.3330 (deboost -0.0416, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.3746 (boost 0.0416, better) | predicted_AVG: 0.3330 -> 0.2926 (deboost -0.0404, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "LF",
"team": "PIT",
"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.094,
"predicted_3B": 0.0,
"predicted_AB": 3.594,
"predicted_AVG": 0.301,
"predicted_BB": 0.283,
"predicted_H": 0.71,
"predicted_HR": 0.07,
"predicted_OBP": 0.357,
"predicted_R": 0.491,
"predicted_RBI": 0.34,
"predicted_SLG": 0.413,
"predicted_SO": 0.792
},
"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.1233,
"predicted_3B": 0.0009,
"predicted_AB": 5.5377,
"predicted_AVG": 0.3154,
"predicted_BB": 0.4065,
"predicted_H": 1.5715,
"predicted_HBP": 0.08,
"predicted_HR": 0.1061,
"predicted_OBP": 0.3661,
"predicted_R": 0.7703,
"predicted_RBI": 0.4725,
"predicted_SLG": 0.4125,
"predicted_SO": 1.1242
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.094,
"after": 0.1233,
"delta": 0.0293,
"percent_delta": 0.3117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.594,
"after": 5.5377,
"delta": 1.9437,
"percent_delta": 0.5408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.3154,
"delta": 0.0144,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.283,
"after": 0.4065,
"delta": 0.1235,
"percent_delta": 0.4364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.5715,
"delta": 0.8615,
"percent_delta": 1.2134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1061,
"delta": 0.0361,
"percent_delta": 0.5157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.357,
"after": 0.3661,
"delta": 0.0091,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.491,
"after": 0.7703,
"delta": 0.2793,
"percent_delta": 0.5688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.4725,
"delta": 0.1325,
"percent_delta": 0.3897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4125,
"delta": -0.0005,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 1.1242,
"delta": 0.3322,
"percent_delta": 0.4194,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.594,
"after": 5.5377,
"delta": 1.9437,
"percent_delta": 0.5408,
"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": 36
}
},
{
"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.1233,
"predicted_3B": 0.0009,
"predicted_AB": 5.5377,
"predicted_AVG": 0.2926,
"predicted_BB": 0.4108,
"predicted_H": 1.6201,
"predicted_HBP": 0.08,
"predicted_HR": 0.1097,
"predicted_OBP": 0.3414,
"predicted_R": 0.8104,
"predicted_RBI": 0.4971,
"predicted_SLG": 0.3746,
"predicted_SO": 1.1122
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1233,
"after": 0.1233,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5377,
"after": 5.5377,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3154,
"after": 0.2926,
"delta": -0.0228,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4065,
"after": 0.4108,
"delta": 0.0043,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5715,
"after": 1.6201,
"delta": 0.0486,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.08,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1061,
"after": 0.1097,
"delta": 0.0036,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3661,
"after": 0.3414,
"delta": -0.0247,
"percent_delta": -0.0675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7703,
"after": 0.8104,
"delta": 0.0401,
"percent_delta": 0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4725,
"after": 0.4971,
"delta": 0.0246,
"percent_delta": 0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4125,
"after": 0.3746,
"delta": -0.0379,
"percent_delta": -0.0919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1242,
"after": 1.1122,
"delta": -0.012,
"percent_delta": -0.0107,
"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.4125,
"after": 0.3746,
"delta": -0.0379,
"percent_delta": -0.0919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.54), rates preserved: AVG=0.293 HR/AB=0.020",
"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.1233,
"after": 0.0,
"delta": -0.1233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5377,
"after": 6.0,
"delta": 0.4623,
"percent_delta": 0.0835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4108,
"after": 0.0,
"delta": -0.4108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6201,
"after": 2.0,
"delta": 0.3799,
"percent_delta": 0.2345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1097,
"after": 0.0,
"delta": -0.1097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4971,
"after": 1.0,
"delta": 0.5029,
"percent_delta": 1.0117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1122,
"after": 1.0,
"delta": -0.1122,
"percent_delta": -0.1009,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4971,
"after": 1.0,
"delta": 0.5029,
"percent_delta": 1.0117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4108,
"after": 0.0,
"delta": -0.4108,
"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": 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.8104,
"after": 1.0,
"delta": 0.1896,
"percent_delta": 0.234,
"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.8104,
"after": 1.0,
"delta": 0.1896,
"percent_delta": 0.234,
"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": 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.2926,
"after": 0.333,
"delta": 0.0404,
"percent_delta": 0.1381,
"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.3414,
"after": 0.333,
"delta": -0.0084,
"percent_delta": -0.0246,
"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.3746,
"after": 0.333,
"delta": -0.0416,
"percent_delta": -0.1111,
"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.2926,
"after": 0.333,
"delta": 0.0404,
"percent_delta": 0.1381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3746,
"after": 0.333,
"delta": -0.0416,
"percent_delta": -0.1111,
"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": 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": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"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.2926,
"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.3414,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3746,
"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.333,
"after": 0.2926,
"delta": -0.0404,
"percent_delta": -0.1215,
"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.3414,
"delta": 0.0084,
"percent_delta": 0.0253,
"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.3746,
"delta": 0.0416,
"percent_delta": 0.1249,
"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.3746,
"delta": 0.0416,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2926,
"delta": -0.0404,
"percent_delta": -0.1215,
"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.094,
"after": 0.0,
"delta": -0.094,
"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.594,
"after": 3.0,
"delta": -0.594,
"percent_delta": -0.1653,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.2926,
"delta": -0.0084,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.283,
"after": 0.0,
"delta": -0.283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.357,
"after": 0.3414,
"delta": -0.0156,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.491,
"after": 0.0,
"delta": -0.491,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.3746,
"delta": -0.0384,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 0.0,
"delta": -0.792,
"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_H",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.792,
"after": 0.0,
"delta": -0.792,
"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.094 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.594 | - |
| predicted_AVG | 0.301 | - |
| predicted_BB | 0.283 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.357 | - |
| predicted_R | 0.491 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 0.792 | - |
Final model 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.123 | 0.029 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.538 | 1.944 |
| predicted_AVG | 0.315 | 0.014 |
| predicted_BB | 0.406 | 0.123 |
| predicted_H | 1.571 | 0.861 |
| predicted_HBP | 0.080 | - |
| predicted_HR | 0.106 | 0.036 |
| predicted_OBP | 0.366 | 0.009 |
| predicted_R | 0.770 | 0.279 |
| predicted_RBI | 0.472 | 0.132 |
| predicted_SLG | 0.412 | -0.001 |
| predicted_SO | 1.124 | 0.332 |
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.123 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.538 | 0.000 |
| predicted_AVG | 0.293 | -0.023 |
| predicted_BB | 0.411 | 0.004 |
| predicted_H | 1.620 | 0.049 |
| predicted_HBP | 0.080 | 0.000 |
| predicted_HR | 0.110 | 0.004 |
| predicted_OBP | 0.341 | -0.025 |
| predicted_R | 0.810 | 0.040 |
| predicted_RBI | 0.497 | 0.025 |
| predicted_SLG | 0.375 | -0.038 |
| predicted_SO | 1.112 | -0.012 |
AB rounded to 6 (raw=5.54), rates preserved: AVG=0.293 HR/AB=0.020
| 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 | - |
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.123 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.462 |
| predicted_AVG | 0.333 | 0.040 |
| predicted_BB | 0.000 | -0.411 |
| predicted_H | 2.000 | 0.380 |
| predicted_HR | 0.000 | -0.110 |
| predicted_OBP | 0.333 | -0.008 |
| predicted_R | 1.000 | 0.190 |
| predicted_RBI | 1.000 | 0.503 |
| predicted_SLG | 0.333 | -0.042 |
| predicted_SO | 1.000 | -0.112 |
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 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 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 | - | 17.000 | 9.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 2.000 | 0.5294 | 0.5294 | 0.7059 | 0.5294 | 0.0588 | 0.1765 | 0.0588 | 0.1177 |
| last_10 | 0.20 | 7 | - | 33.000 | 13.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 1.000 | 5.000 | 0.3939 | 0.4167 | 0.4848 | 0.3939 | 0.0303 | 0.1212 | 0.0303 | 0.1515 |
| season | 0.60 | 36 | - | 381.000 | 103.000 | 10.000 | 0.000 | 1.000 | 14.000 | 52.000 | 30.000 | 84.000 | 0.2703 | 0.3293 | 0.3045 | 0.2703 | 0.0026 | 0.0367 | 0.0787 | 0.2205 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1620 |
| predicted_3B | 0.0020 |
| predicted_AB | 8.1110 |
| predicted_AVG | 0.3344 |
| predicted_BB | 0.5700 |
| predicted_H | 2.7120 |
| predicted_HBP | 0.0800 |
| predicted_HR | 0.1540 |
| predicted_OBP | 0.3781 |
| predicted_R | 1.1400 |
| predicted_RBI | 0.6480 |
| predicted_SLG | 0.4119 |
| predicted_SO | 1.5640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0940 | 0.1620 | 0.1233 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.5940 | 8.1110 | 5.5377 | model_form_blend |
| predicted_AVG | 0.3010 | 0.3344 | 0.3154 | model_form_blend |
| predicted_BB | 0.2830 | 0.5700 | 0.4065 | model_form_blend |
| predicted_H | 0.7100 | 2.7120 | 1.5715 | model_form_blend |
| predicted_HBP | - | 0.0800 | 0.0800 | form_only |
| predicted_HR | 0.0700 | 0.1540 | 0.1061 | model_form_blend |
| predicted_OBP | 0.3570 | 0.3781 | 0.3661 | model_form_blend |
| predicted_R | 0.4910 | 1.1400 | 0.7703 | model_form_blend |
| predicted_RBI | 0.3400 | 0.6480 | 0.4725 | model_form_blend |
| predicted_SLG | 0.4130 | 0.4119 | 0.4125 | model_form_blend |
| predicted_SO | 0.7920 | 1.5640 | 1.1242 | 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 | 113 |
| Season rows before report date | 113 |
| Report year | 2026 |
| Profile rows used | 106 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| 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 | RF |
| gameID | 20260603_PIT@HOU |
| game_type | short |
| mlbID | 663968 |
| playerID | 663968 |
| playerName | Jake Mangum |
| pos | LF |
| started | False |
| startingPosition | RF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.7 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.314 |
| sl_xwoba | 0.29 |
| sl_xba | 0.258 |
| sl_xslg | 0.324 |
| sl_sweet_spot_percent | 24.7 |
| sl_barrel_batted_rate | 1.1 |
| sl_hard_hit_percent | 25.8 |
| sl_exit_velocity_avg | 84.3 |
| sl_launch_angle_avg | 1.7 |
| sl_whiff_percent | 20.1 |
| sl_swing_percent | 59.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.040 | 3.000 | 4.000 | Hitting_AB | 2.621 | 1.000 | 0.379 | 2.000 |
| predicted_AVG | 0.265 | 0.000 | 0.250 | Hitting_AVG | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_BB | 0.840 | 0.000 | 1.000 | Hitting_BB | 1.276 | 0.000 | -1.276 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 0.000 | 1.000 | Hitting_H | 0.724 | 0.000 | -0.724 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_OBP | 0.354 | 0.000 | 0.400 | Hitting_OBP | 0.513 | 0.000 | -0.513 | 0.000 |
| predicted_R | 0.520 | 0.000 | 1.000 | Hitting_R | 0.586 | 0.000 | -0.586 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 1.000 | Hitting_RBI | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_SLG | 0.417 | 0.000 | 0.250 | Hitting_SLG | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_SO | 0.920 | 1.000 | 1.000 | Hitting_SO | 0.793 | 0.000 | 0.207 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.9200 -> 1.0000 (boost 0.0800, worse) |
| Biggest Deboost | predicted_BB: 0.8400 -> 0.0000 (deboost -0.8400, 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 | 7 | 0 | 6 | 1 | predicted_AB: 3.0400 -> 3.8803 (boost 0.8403, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3703 -> 0.4022 (boost 0.0319, better) | predicted_AVG: 0.2608 -> 0.2467 (deboost -0.0141, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 3 | 2 | predicted_RBI: 0.5799 -> 1.0000 (boost 0.4201, better) | predicted_2B: 0.2457 -> 0.0000 (deboost -0.2457, worse) | AB rounded to 4 (raw=3.88), rates preserved: AVG=0.247 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7350 -> 1.0000 (boost 0.2650, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4083 -> 0.2500 (deboost -0.1583, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.2500 -> 0.4083 (boost 0.1583, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682848",
"player_name": "Endy Rodríguez",
"position": "C",
"team": "PIT",
"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.2,
"predicted_3B": 0.0,
"predicted_AB": 3.04,
"predicted_AVG": 0.265,
"predicted_BB": 0.84,
"predicted_H": 0.68,
"predicted_HR": 0.1,
"predicted_OBP": 0.354,
"predicted_R": 0.52,
"predicted_RBI": 0.4,
"predicted_SLG": 0.417,
"predicted_SO": 0.92
},
"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.2457,
"predicted_3B": 0.0019,
"predicted_AB": 3.8803,
"predicted_AVG": 0.2608,
"predicted_BB": 0.9985,
"predicted_H": 0.9287,
"predicted_HBP": 0.011,
"predicted_HR": 0.1217,
"predicted_OBP": 0.3703,
"predicted_R": 0.6986,
"predicted_RBI": 0.5512,
"predicted_SLG": 0.4132,
"predicted_SO": 1.1375
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.2457,
"delta": 0.0457,
"percent_delta": 0.2285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.04,
"after": 3.8803,
"delta": 0.8403,
"percent_delta": 0.2764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2608,
"delta": -0.0042,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.84,
"after": 0.9985,
"delta": 0.1585,
"percent_delta": 0.1887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.9287,
"delta": 0.2487,
"percent_delta": 0.3657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1217,
"delta": 0.0217,
"percent_delta": 0.217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3703,
"delta": 0.0163,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.52,
"after": 0.6986,
"delta": 0.1786,
"percent_delta": 0.3435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.5512,
"delta": 0.1512,
"percent_delta": 0.378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4132,
"delta": -0.0038,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 1.1375,
"delta": 0.2175,
"percent_delta": 0.2364,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.04,
"after": 3.8803,
"delta": 0.8403,
"percent_delta": 0.2764,
"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": 11
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2457,
"predicted_3B": 0.0019,
"predicted_AB": 3.8803,
"predicted_AVG": 0.2467,
"predicted_BB": 1.0092,
"predicted_H": 0.9574,
"predicted_HBP": 0.011,
"predicted_HR": 0.1259,
"predicted_OBP": 0.4022,
"predicted_R": 0.735,
"predicted_RBI": 0.5799,
"predicted_SLG": 0.4083,
"predicted_SO": 1.1253
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2457,
"after": 0.2457,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8803,
"after": 3.8803,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2608,
"after": 0.2467,
"delta": -0.0141,
"percent_delta": -0.0541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9985,
"after": 1.0092,
"delta": 0.0107,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9287,
"after": 0.9574,
"delta": 0.0287,
"percent_delta": 0.0309,
"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.1217,
"after": 0.1259,
"delta": 0.0042,
"percent_delta": 0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3703,
"after": 0.4022,
"delta": 0.0319,
"percent_delta": 0.0861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6986,
"after": 0.735,
"delta": 0.0364,
"percent_delta": 0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5512,
"after": 0.5799,
"delta": 0.0287,
"percent_delta": 0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4132,
"after": 0.4083,
"delta": -0.0049,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1375,
"after": 1.1253,
"delta": -0.0122,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3703,
"after": 0.4022,
"delta": 0.0319,
"percent_delta": 0.0861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2608,
"after": 0.2467,
"delta": -0.0141,
"percent_delta": -0.0541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.88), rates preserved: AVG=0.247 HR/AB=0.032",
"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.2457,
"after": 0.0,
"delta": -0.2457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8803,
"after": 4.0,
"delta": 0.1197,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0092,
"after": 1.0,
"delta": -0.0092,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9574,
"after": 1.0,
"delta": 0.0426,
"percent_delta": 0.0445,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1259,
"after": 0.0,
"delta": -0.1259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5799,
"after": 1.0,
"delta": 0.4201,
"percent_delta": 0.7244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1253,
"after": 1.0,
"delta": -0.1253,
"percent_delta": -0.1113,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5799,
"after": 1.0,
"delta": 0.4201,
"percent_delta": 0.7244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2457,
"after": 0.0,
"delta": -0.2457,
"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": 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.735,
"after": 1.0,
"delta": 0.265,
"percent_delta": 0.3605,
"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.735,
"after": 1.0,
"delta": 0.265,
"percent_delta": 0.3605,
"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": 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.2467,
"after": 0.25,
"delta": 0.0033,
"percent_delta": 0.0134,
"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_OBP",
"before": 0.4022,
"after": 0.4,
"delta": -0.0022,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4083,
"after": 0.25,
"delta": -0.1583,
"percent_delta": -0.3877,
"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_SLG",
"before": 0.4083,
"after": 0.25,
"delta": -0.1583,
"percent_delta": -0.3877,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2467,
"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.4022,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4083,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2467,
"delta": -0.0033,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.4022,
"delta": 0.0022,
"percent_delta": 0.0055,
"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.4083,
"delta": 0.1583,
"percent_delta": 0.6334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4083,
"delta": 0.1583,
"percent_delta": 0.6334,
"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.2,
"after": 0.0,
"delta": -0.2,
"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.04,
"after": 3.0,
"delta": -0.04,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2467,
"delta": -0.0183,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.4022,
"delta": 0.0482,
"percent_delta": 0.1362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4083,
"delta": -0.0087,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"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.200 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.040 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.840 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.520 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 0.920 | - |
Final model 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.246 | 0.046 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.880 | 0.840 |
| predicted_AVG | 0.261 | -0.004 |
| predicted_BB | 0.999 | 0.159 |
| predicted_H | 0.929 | 0.249 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.122 | 0.022 |
| predicted_OBP | 0.370 | 0.016 |
| predicted_R | 0.699 | 0.179 |
| predicted_RBI | 0.551 | 0.151 |
| predicted_SLG | 0.413 | -0.004 |
| predicted_SO | 1.137 | 0.217 |
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.246 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.880 | 0.000 |
| predicted_AVG | 0.247 | -0.014 |
| predicted_BB | 1.009 | 0.011 |
| predicted_H | 0.957 | 0.029 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.126 | 0.004 |
| predicted_OBP | 0.402 | 0.032 |
| predicted_R | 0.735 | 0.036 |
| predicted_RBI | 0.580 | 0.029 |
| predicted_SLG | 0.408 | -0.005 |
| predicted_SO | 1.125 | -0.012 |
AB rounded to 4 (raw=3.88), rates preserved: AVG=0.247 HR/AB=0.032
| 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 | - |
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.246 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.120 |
| predicted_AVG | 0.250 | 0.003 |
| predicted_BB | 1.000 | -0.009 |
| predicted_H | 1.000 | 0.043 |
| predicted_HR | 0.000 | -0.126 |
| predicted_OBP | 0.400 | -0.002 |
| predicted_R | 1.000 | 0.265 |
| predicted_RBI | 1.000 | 0.420 |
| predicted_SLG | 0.250 | -0.158 |
| predicted_SO | 1.000 | -0.125 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 3.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 4.000 | 4.000 | 0.2143 | 0.3889 | 0.5000 | 0.2143 | 0.0714 | 0.2143 | 0.2857 | 0.2857 |
| last_10 | 0.20 | 7 | - | 25.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 7.000 | 10.000 | 9.000 | 0.2000 | 0.4286 | 0.3600 | 0.2000 | 0.0400 | 0.1200 | 0.4000 | 0.3600 |
| season | 0.60 | 11 | - | 76.000 | 21.000 | 5.000 | 0.000 | 1.000 | 11.000 | 13.000 | 21.000 | 23.000 | 0.2763 | 0.4330 | 0.3816 | 0.2763 | 0.0132 | 0.1447 | 0.2763 | 0.3026 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3200 |
| predicted_3B | 0.0050 |
| predicted_AB | 5.2460 |
| predicted_AVG | 0.2541 |
| predicted_BB | 1.2560 |
| predicted_H | 1.3330 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1570 |
| predicted_OBP | 0.3968 |
| predicted_R | 0.9890 |
| predicted_RBI | 0.7970 |
| predicted_SLG | 0.4069 |
| predicted_SO | 1.4910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.3200 | 0.2457 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0019 | model_form_blend |
| predicted_AB | 3.0400 | 5.2460 | 3.8803 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2541 | 0.2608 | model_form_blend |
| predicted_BB | 0.8400 | 1.2560 | 0.9985 | model_form_blend |
| predicted_H | 0.6800 | 1.3330 | 0.9287 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1000 | 0.1570 | 0.1217 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3968 | 0.3703 | model_form_blend |
| predicted_R | 0.5200 | 0.9890 | 0.6986 | model_form_blend |
| predicted_RBI | 0.4000 | 0.7970 | 0.5512 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4069 | 0.4132 | model_form_blend |
| predicted_SO | 0.9200 | 1.4910 | 1.1375 | 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 | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 25 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.276 |
| 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 | 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 | PH |
| gameID | 20260603_PIT@HOU |
| game_type | ph |
| mlbID | 682848 |
| note | Grounded out for Davis, H in the 9th. |
| playerID | 682848 |
| playerName | Endy Rodríguez |
| pos | C |
| started | False |
| startingPosition | PH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 27.3 |
| sl_woba | 0.429 |
| sl_xwoba | 0.376 |
| sl_xba | 0.205 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 26.1 |
| sl_whiff_percent | 22.9 |
| sl_swing_percent | 38.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.089 | 0.000 | 0.000 | Hitting_2B | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.532 | 3.000 | 5.000 | Hitting_AB | 3.402 | 3.000 | -0.402 | 0.000 |
| predicted_AVG | 0.246 | 0.000 | 0.200 | Hitting_AVG | 0.222 | 0.333 | -0.222 | -0.333 |
| predicted_BB | 0.215 | 0.000 | 0.000 | Hitting_BB | 0.207 | 2.000 | -0.207 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.630 | 0.000 | 1.000 | Hitting_H | 0.756 | 1.000 | -0.756 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.304 | 0.000 | 0.200 | Hitting_OBP | 0.279 | 0.600 | -0.279 | -0.600 |
| predicted_R | 0.177 | 0.000 | 0.000 | Hitting_R | 0.171 | 1.000 | -0.171 | -1.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.134 | 1.000 | -0.134 | -1.000 |
| predicted_SLG | 0.305 | 0.000 | 0.200 | Hitting_SLG | 0.247 | 0.333 | -0.247 | -0.333 |
| predicted_SO | 0.848 | 2.000 | 1.000 | Hitting_SO | 0.817 | 1.000 | 1.183 | 1.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.8480 -> 2.0000 (boost 1.1520, worse) |
| Biggest Deboost | predicted_H: 0.6300 -> 0.0000 (deboost -0.6300, 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 | 8 | 6 | 2 | 5 | 3 | predicted_AB: 3.5320 -> 5.3658 (boost 1.8338, better) | predicted_SLG: 0.3050 -> 0.2801 (deboost -0.0249, 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.3008 -> 0.2723 (deboost -0.0285, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_RBI: 0.4748 -> 0.0000 (deboost -0.4748, worse) | AB rounded to 5 (raw=5.37), rates preserved: AVG=0.208 HR/AB=0.008 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3680 -> 0.0000 (deboost -0.3680, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2723 -> 0.2000 (deboost -0.0723, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2000 -> 0.2723 (boost 0.0723, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669707",
"player_name": "Jared Triolo",
"position": "SS",
"team": "PIT",
"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.089,
"predicted_3B": 0.0,
"predicted_AB": 3.532,
"predicted_AVG": 0.246,
"predicted_BB": 0.215,
"predicted_H": 0.63,
"predicted_HR": 0.05,
"predicted_OBP": 0.304,
"predicted_R": 0.177,
"predicted_RBI": 0.32,
"predicted_SLG": 0.305,
"predicted_SO": 0.848
},
"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.1178,
"predicted_3B": 0.0013,
"predicted_AB": 5.3658,
"predicted_AVG": 0.2335,
"predicted_BB": 0.4674,
"predicted_H": 1.0836,
"predicted_HBP": 0.094,
"predicted_HR": 0.039,
"predicted_OBP": 0.3008,
"predicted_R": 0.3498,
"predicted_RBI": 0.4513,
"predicted_SLG": 0.2801,
"predicted_SO": 1.4722
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.089,
"after": 0.1178,
"delta": 0.0288,
"percent_delta": 0.3236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.532,
"after": 5.3658,
"delta": 1.8338,
"percent_delta": 0.5192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2335,
"delta": -0.0125,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.215,
"after": 0.4674,
"delta": 0.2524,
"percent_delta": 1.174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 1.0836,
"delta": 0.4536,
"percent_delta": 0.72,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.039,
"delta": -0.011,
"percent_delta": -0.22,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3008,
"delta": -0.0032,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.177,
"after": 0.3498,
"delta": 0.1728,
"percent_delta": 0.9763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.4513,
"delta": 0.1313,
"percent_delta": 0.4103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.2801,
"delta": -0.0249,
"percent_delta": -0.0816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.848,
"after": 1.4722,
"delta": 0.6242,
"percent_delta": 0.7361,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 6,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.532,
"after": 5.3658,
"delta": 1.8338,
"percent_delta": 0.5192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.2801,
"delta": -0.0249,
"percent_delta": -0.0816,
"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": 7,
"season": 27
}
},
{
"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.1178,
"predicted_3B": 0.0013,
"predicted_AB": 5.3658,
"predicted_AVG": 0.2082,
"predicted_BB": 0.4724,
"predicted_H": 1.1171,
"predicted_HBP": 0.094,
"predicted_HR": 0.0403,
"predicted_OBP": 0.2723,
"predicted_R": 0.368,
"predicted_RBI": 0.4748,
"predicted_SLG": 0.2532,
"predicted_SO": 1.4564
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1178,
"after": 0.1178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3658,
"after": 5.3658,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2335,
"after": 0.2082,
"delta": -0.0253,
"percent_delta": -0.1084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4674,
"after": 0.4724,
"delta": 0.005,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0836,
"after": 1.1171,
"delta": 0.0335,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.039,
"after": 0.0403,
"delta": 0.0013,
"percent_delta": 0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3008,
"after": 0.2723,
"delta": -0.0285,
"percent_delta": -0.0947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3498,
"after": 0.368,
"delta": 0.0182,
"percent_delta": 0.052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4513,
"after": 0.4748,
"delta": 0.0235,
"percent_delta": 0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2801,
"after": 0.2532,
"delta": -0.0269,
"percent_delta": -0.096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4722,
"after": 1.4564,
"delta": -0.0158,
"percent_delta": -0.0107,
"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.3008,
"after": 0.2723,
"delta": -0.0285,
"percent_delta": -0.0947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.37), rates preserved: AVG=0.208 HR/AB=0.008",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1178,
"after": 0.0,
"delta": -0.1178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3658,
"after": 5.0,
"delta": -0.3658,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4724,
"after": 0.0,
"delta": -0.4724,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1171,
"after": 1.0,
"delta": -0.1171,
"percent_delta": -0.1048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0403,
"after": 0.0,
"delta": -0.0403,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4748,
"after": 0.0,
"delta": -0.4748,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4564,
"after": 1.0,
"delta": -0.4564,
"percent_delta": -0.3134,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4748,
"after": 0.0,
"delta": -0.4748,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.368,
"after": 0.0,
"delta": -0.368,
"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.368,
"after": 0.0,
"delta": -0.368,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.0,
"predicted_RBI": 0.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.2082,
"after": 0.2,
"delta": -0.0082,
"percent_delta": -0.0394,
"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.2723,
"after": 0.2,
"delta": -0.0723,
"percent_delta": -0.2655,
"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.2532,
"after": 0.2,
"delta": -0.0532,
"percent_delta": -0.2101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2723,
"after": 0.2,
"delta": -0.0723,
"percent_delta": -0.2655,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"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.2082,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2723,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2532,
"predicted_SO": 2.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.2,
"after": 0.2082,
"delta": 0.0082,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2723,
"delta": 0.0723,
"percent_delta": 0.3613,
"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.2,
"after": 0.2532,
"delta": 0.0532,
"percent_delta": 0.2659,
"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_OBP",
"before": 0.2,
"after": 0.2723,
"delta": 0.0723,
"percent_delta": 0.3613,
"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.089,
"after": 0.0,
"delta": -0.089,
"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.532,
"after": 3.0,
"delta": -0.532,
"percent_delta": -0.1506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2082,
"delta": -0.0378,
"percent_delta": -0.1537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.215,
"after": 0.0,
"delta": -0.215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"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.304,
"after": 0.2723,
"delta": -0.0317,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.177,
"after": 0.0,
"delta": -0.177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.2532,
"delta": -0.0518,
"percent_delta": -0.1698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.848,
"after": 2.0,
"delta": 1.152,
"percent_delta": 1.3585,
"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.848,
"after": 2.0,
"delta": 1.152,
"percent_delta": 1.3585,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"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.089 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.532 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.215 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.177 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.305 | - |
| predicted_SO | 0.848 | - |
Final model 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.118 | 0.029 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.366 | 1.834 |
| predicted_AVG | 0.234 | -0.012 |
| predicted_BB | 0.467 | 0.252 |
| predicted_H | 1.084 | 0.454 |
| predicted_HBP | 0.094 | - |
| predicted_HR | 0.039 | -0.011 |
| predicted_OBP | 0.301 | -0.003 |
| predicted_R | 0.350 | 0.173 |
| predicted_RBI | 0.451 | 0.131 |
| predicted_SLG | 0.280 | -0.025 |
| predicted_SO | 1.472 | 0.624 |
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.118 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.366 | 0.000 |
| predicted_AVG | 0.208 | -0.025 |
| predicted_BB | 0.472 | 0.005 |
| predicted_H | 1.117 | 0.034 |
| predicted_HBP | 0.094 | 0.000 |
| predicted_HR | 0.040 | 0.001 |
| predicted_OBP | 0.272 | -0.029 |
| predicted_R | 0.368 | 0.018 |
| predicted_RBI | 0.475 | 0.024 |
| predicted_SLG | 0.253 | -0.027 |
| predicted_SO | 1.456 | -0.016 |
AB rounded to 5 (raw=5.37), rates preserved: AVG=0.208 HR/AB=0.008
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.118 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.366 |
| predicted_AVG | 0.200 | -0.008 |
| predicted_BB | 0.000 | -0.472 |
| predicted_H | 1.000 | -0.117 |
| predicted_HR | 0.000 | -0.040 |
| predicted_OBP | 0.200 | -0.072 |
| predicted_R | 0.000 | -0.368 |
| predicted_RBI | 0.000 | -0.475 |
| predicted_SLG | 0.200 | -0.053 |
| predicted_SO | 1.000 | -0.456 |
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 | -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 | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 4.000 | 8.000 | 0.1765 | 0.3333 | 0.1765 | 0.1765 | 0.0000 | 0.1765 | 0.2353 | 0.4706 |
| last_10 | 0.20 | 7 | - | 34.000 | 8.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 4.000 | 12.000 | 0.2353 | 0.3158 | 0.2353 | 0.2353 | 0.0000 | 0.0882 | 0.1177 | 0.3529 |
| season | 0.60 | 27 | - | 279.000 | 62.000 | 7.000 | 0.000 | 0.000 | 11.000 | 14.000 | 17.000 | 67.000 | 0.2222 | 0.2791 | 0.2473 | 0.2222 | 0.0000 | 0.0394 | 0.0609 | 0.2401 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1570 |
| predicted_3B | 0.0030 |
| predicted_AB | 7.8620 |
| predicted_AVG | 0.2164 |
| predicted_BB | 0.8110 |
| predicted_H | 1.7010 |
| predicted_HBP | 0.0940 |
| predicted_HR | 0.0240 |
| predicted_OBP | 0.2965 |
| predicted_R | 0.5850 |
| predicted_RBI | 0.6300 |
| predicted_SLG | 0.2463 |
| predicted_SO | 2.3220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0890 | 0.1570 | 0.1178 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.5320 | 7.8620 | 5.3658 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2164 | 0.2335 | model_form_blend |
| predicted_BB | 0.2150 | 0.8110 | 0.4674 | model_form_blend |
| predicted_H | 0.6300 | 1.7010 | 1.0836 | model_form_blend |
| predicted_HBP | - | 0.0940 | 0.0940 | form_only |
| predicted_HR | 0.0500 | 0.0240 | 0.0390 | model_form_blend |
| predicted_OBP | 0.3040 | 0.2965 | 0.3008 | model_form_blend |
| predicted_R | 0.1770 | 0.5850 | 0.3498 | model_form_blend |
| predicted_RBI | 0.3200 | 0.6300 | 0.4513 | model_form_blend |
| predicted_SLG | 0.3050 | 0.2463 | 0.2801 | model_form_blend |
| predicted_SO | 0.8480 | 2.3220 | 1.4722 | 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 | 82 |
| Season rows before report date | 82 |
| Report year | 2026 |
| Profile rows used | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.222 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 2 |
| 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 | 1 |
| Hitting_TB | 1 |
| 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 | SS |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 669707 |
| playerID | 669707 |
| playerName | Jared Triolo |
| pos | 3B |
| started | True |
| startingPosition | SS |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.259 |
| sl_xwoba | 0.27 |
| sl_xba | 0.236 |
| sl_xslg | 0.29 |
| sl_sweet_spot_percent | 27.4 |
| sl_barrel_batted_rate | 1.6 |
| sl_hard_hit_percent | 30.6 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 4.1 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 42.8 |
| 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 | 2.000 | 2.000 | -2.000 | -2.000 |
| predicted_ER | 7.000 | 7.000 | 7.000 | Pitching_ER | 5.000 | 5.000 | 2.000 | 2.000 |
| predicted_H | 8.000 | 8.000 | 8.000 | Pitching_H | 7.000 | 7.000 | 1.000 | 1.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 4.100 | 4.100 | 0.000 | 0.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 6.000 | 6.000 | -3.000 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, better) |
| Biggest Deboost | predicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683003",
"player_name": "Jared Jones",
"position": "Starter",
"team": "PIT",
"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": 7.0,
"predicted_H": 8.0,
"predicted_HR": 2.0,
"predicted_IP": 4.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 7.0,
"predicted_H": 8.0,
"predicted_HR": 2.0,
"predicted_IP": 4.1,
"predicted_R": 7.0,
"predicted_SO": 3.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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 7.000 | - |
| predicted_H | 8.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 4.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 4.100 | 5.000 | 7.000 | 2.000 | 6.000 | 2.000 | 10.3846 | 2.0769 | 1.1539 | 1.6154 | 0.4615 | 1.3846 | 0.4615 |
| last_10 | 0.35 | 1 | 4.100 | 5.000 | 7.000 | 2.000 | 6.000 | 2.000 | 10.3846 | 2.0769 | 1.1539 | 1.6154 | 0.4615 | 1.3846 | 0.4615 |
| season | 0.20 | 1 | 4.100 | 5.000 | 7.000 | 2.000 | 6.000 | 2.000 | 10.3846 | 2.0769 | 1.1539 | 1.6154 | 0.4615 | 1.3846 | 0.4615 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6580 |
| predicted_ER | 2.5760 |
| predicted_ERA | 5.3498 |
| predicted_H | 4.6190 |
| predicted_HR | 0.8290 |
| predicted_IP | 4.1000 |
| predicted_SO | 4.3980 |
| predicted_WHIP | 1.4485 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.6580 | 0.4940 | model_form_blend |
| predicted_ER | 7.0000 | 2.5760 | 5.6820 | model_form_blend |
| predicted_ERA | - | 5.3498 | 5.3498 | form_only |
| predicted_H | 8.0000 | 4.6190 | 6.9927 | model_form_blend |
| predicted_HR | 2.0000 | 0.8290 | 1.6511 | model_form_blend |
| predicted_IP | 4.1000 | 4.1000 | 4.1000 | model_form_blend |
| predicted_SO | 1.0000 | 4.3980 | 2.0124 | model_form_blend |
| predicted_WHIP | - | 1.4485 | 1.4485 | 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 | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.1 |
| H | 8 |
| R | 7 |
| ER | 7 |
| BB | 0 |
| SO | 3 |
| HR | 2 |
| BF | 21 |
| Pitches | 79 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 21 |
| Pitching_ER | 5 |
| Pitching_ERA | 10.38 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.1 |
| Pitching_Pitches | 77 |
| Pitching_R | 5 |
| Pitching_SO | 6 |
| Pitching_Strikes | 53 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260529_MIN@PIT |
| game_type | full |
| mlbID | 683003 |
| playerID | 683003 |
| playerName | Jared Jones |
| pos | P |
| started | True |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-29 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.478 |
| sl_xwoba | 0.387 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 53.8 |
| sl_whiff_percent | 35.7 |
| sl_swing_percent | 54.5 |
| sl_avg_best_speed | 84.116648571 |
| sl_avg_hyper_speed | 95.24171 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.818 | 3.000 | -0.818 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.091 | 1.000 | -2.091 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 5.273 | 5.000 | -5.273 | -5.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 4.809 | 5.000 | -3.709 | -3.900 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 4.182 | 2.000 | -1.182 | 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: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669387",
"player_name": "Carmen Mlodzinski",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 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 | 26.200 | 10.000 | 28.000 | 9.000 | 16.000 | 3.000 | 3.3750 | 1.3875 | 0.3750 | 1.0500 | 0.3375 | 0.6000 | 0.1125 |
| last_10 | 0.35 | 10 | 50.200 | 21.000 | 52.000 | 20.000 | 38.000 | 3.000 | 3.7303 | 1.4211 | 0.4145 | 1.0263 | 0.3947 | 0.7500 | 0.0592 |
| season | 0.20 | 11 | 55.000 | 23.000 | 58.000 | 20.000 | 46.000 | 3.000 | 3.7636 | 1.4182 | 0.4182 | 1.0546 | 0.3636 | 0.8364 | 0.0546 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4410 |
| predicted_ER | 1.6780 |
| predicted_ERA | 3.8163 |
| predicted_H | 4.0190 |
| predicted_HR | 0.3930 |
| predicted_IP | 4.0000 |
| predicted_SO | 3.0670 |
| predicted_WHIP | 1.3796 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.4410 | 1.2284 | model_form_blend |
| predicted_ER | 0.0000 | 1.6780 | 0.8692 | model_form_blend |
| predicted_ERA | - | 3.8163 | 3.8163 | form_only |
| predicted_H | 0.0000 | 4.0190 | 2.0817 | model_form_blend |
| predicted_HR | 0.0000 | 0.3930 | 0.2036 | model_form_blend |
| predicted_IP | 1.1000 | 4.0000 | 2.2000 | model_form_blend |
| predicted_SO | 3.0000 | 3.0670 | 3.0347 | model_form_blend |
| predicted_WHIP | - | 1.3796 | 1.3796 | 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 | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 11 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 3 |
| HR | 0 |
| BF | 5 |
| Pitches | 27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.76 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 3 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 86 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 50 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260525_CHC@PIT |
| game_type | full |
| mlbID | 669387 |
| playerID | 669387 |
| playerName | Carmen Mlodzinski |
| pos | P |
| started | True |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-25 |
| game_pk | 823380.0 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.324 |
| sl_xwoba | 0.341 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 50.9 |
| sl_whiff_percent | 20.5 |
| sl_swing_percent | 44.3 |
| sv_pitch_count | 86.0 |
| sv_outs_recorded_est | 14.0 |
| sv_release_speed | 90.8779069767442 |
| sv_release_spin_rate | 2149.0697674418607 |
| sv_effective_speed | 91.27764705882352 |
| sv_launch_speed | 85.43448275862069 |
| sv_launch_angle | 32.03448275862069 |
| sv_woba_value | 7.7 |
| sv_woba_denom | 22.0 |
| sv_delta_run_exp | 1.273 |
| sv_delta_home_win_exp | 0.1229999999999999 |
| sl_avg_best_speed | 82.003352738 |
| sl_avg_hyper_speed | 95.362410536 |
| 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.414 | 1.000 | -0.414 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.310 | 3.000 | -0.310 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.448 | 3.000 | -0.448 | -3.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.921 | 0.000 | 0.179 | 1.100 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.172 | 0.000 | 1.828 | 3.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": "642397",
"player_name": "Gregory Soto",
"position": "Middle Reliever",
"team": "PIT",
"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": 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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 3.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": 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": 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": 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": 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 | 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 | 5.000 | 0.000 | 0.000 | 2.000 | 5.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.0000 | 0.4000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 3.000 | 4.000 | 4.000 | 10.000 | 0.000 | 2.6129 | 0.7742 | 0.2903 | 0.3871 | 0.3871 | 0.9677 | 0.0000 |
| season | 0.20 | 28 | 28.100 | 6.000 | 10.000 | 11.000 | 34.000 | 1.000 | 1.9059 | 0.7412 | 0.2118 | 0.3529 | 0.3882 | 1.2000 | 0.0353 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3810 |
| predicted_ER | 0.3040 |
| predicted_ERA | 2.7338 |
| predicted_H | 0.5600 |
| predicted_HR | 0.0680 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9870 |
| predicted_WHIP | 0.9407 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3810 | 0.1717 | model_form_blend |
| predicted_ER | 0.0000 | 0.3040 | 0.1370 | model_form_blend |
| predicted_ERA | - | 2.7338 | 2.7338 | form_only |
| predicted_H | 0.0000 | 0.5600 | 0.2523 | model_form_blend |
| predicted_HR | 0.0000 | 0.0680 | 0.0306 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 0.9870 | 2.0930 | model_form_blend |
| predicted_WHIP | - | 0.9407 | 0.9407 | 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 | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 28 |
| 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 | 3 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 3 |
| Pitching_ERA | 2.86 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 3 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 642397 |
| playerID | 642397 |
| playerName | Gregory Soto |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.221 |
| sl_xwoba | 0.254 |
| sl_sweet_spot_percent | 25.4 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 36.5 |
| sl_whiff_percent | 27.6 |
| sl_swing_percent | 42.1 |
| sl_avg_best_speed | 72.528493226 |
| sl_avg_hyper_speed | 93.147904918 |
| 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.458 | 1.000 | 0.542 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.542 | 3.000 | -0.542 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.875 | 2.000 | -0.875 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.792 | 0.200 | 0.208 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.333 | 2.000 | -0.333 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "682254",
"player_name": "Mason Montgomery",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 5.000 | 5.000 | 3.000 | 6.000 | 0.000 | 7.9412 | 1.4118 | 0.8823 | 0.8823 | 0.5294 | 1.0588 | 0.0000 |
| last_10 | 0.35 | 10 | 11.100 | 6.000 | 8.000 | 5.000 | 10.000 | 1.000 | 4.7647 | 1.1471 | 0.5294 | 0.7059 | 0.4412 | 0.8823 | 0.0882 |
| season | 0.20 | 23 | 23.200 | 11.000 | 19.000 | 11.000 | 32.000 | 2.000 | 4.1831 | 1.2676 | 0.4648 | 0.8028 | 0.4648 | 1.3521 | 0.0845 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4240 |
| predicted_ER | 0.5760 |
| predicted_ERA | 5.1807 |
| predicted_H | 0.8830 |
| predicted_HR | 0.0940 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9960 |
| predicted_WHIP | 1.3071 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4240 | 0.7514 | model_form_blend |
| predicted_ER | 0.0000 | 0.5760 | 0.2486 | model_form_blend |
| predicted_ERA | - | 5.1807 | 5.1807 | form_only |
| predicted_H | 0.0000 | 0.8830 | 0.3811 | model_form_blend |
| predicted_HR | 0.0000 | 0.0940 | 0.0406 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9960 | 0.9983 | model_form_blend |
| predicted_WHIP | - | 1.3071 | 1.3071 | 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 | 24 |
| Season rows before report date | 24 |
| 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.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 3 |
| Pitching_ERA | 4.94 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 26 |
| Pitching_R | 3 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 682254 |
| playerID | 682254 |
| playerName | Mason Montgomery |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-03 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.31 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 44.1 |
| sl_whiff_percent | 32.2 |
| sl_swing_percent | 50.4 |
| sl_avg_best_speed | 74.015699667 |
| sl_avg_hyper_speed | 95.145390169 |
| 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.519 | 1.000 | -0.519 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.556 | 2.000 | -0.556 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.963 | 3.000 | -0.963 | -3.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.844 | 0.100 | -0.844 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.741 | 1.000 | -0.741 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "642701",
"player_name": "Dennis Santana",
"position": "Middle Reliever",
"team": "PIT",
"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": 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": 0.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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 | 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.100 | 5.000 | 7.000 | 5.000 | 7.000 | 0.000 | 10.3846 | 2.7692 | 1.1539 | 1.6154 | 1.1539 | 1.6154 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 6.000 | 10.000 | 6.000 | 10.000 | 1.000 | 6.0000 | 1.7778 | 0.6667 | 1.1111 | 0.6667 | 1.1111 | 0.1111 |
| season | 0.20 | 26 | 24.200 | 13.000 | 22.000 | 14.000 | 20.000 | 3.000 | 4.7432 | 1.4595 | 0.5270 | 0.8919 | 0.5676 | 0.8108 | 0.1216 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4060 |
| predicted_ER | 0.4420 |
| predicted_ERA | 6.0095 |
| predicted_H | 0.7440 |
| predicted_HR | 0.0670 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7330 |
| predicted_WHIP | 1.7359 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4060 | 0.1770 | model_form_blend |
| predicted_ER | 0.0000 | 0.4420 | 0.1927 | model_form_blend |
| predicted_ERA | - | 6.0095 | 6.0095 | form_only |
| predicted_H | 0.0000 | 0.7440 | 0.3243 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0292 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7330 | 1.4477 | model_form_blend |
| predicted_WHIP | - | 1.7359 | 1.7359 | 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 | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 1 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 2 |
| Pitching_ERA | 5.47 |
| 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 | 0.1 |
| Pitching_Pitches | 19 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260602_PIT@HOU |
| game_type | full |
| mlbID | 642701 |
| playerID | 642701 |
| playerName | Dennis Santana |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-02 |
| sl_k_percent | 17.5 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.365 |
| sl_xwoba | 0.354 |
| sl_sweet_spot_percent | 39.7 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 39.7 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 48.7 |
| sl_avg_best_speed | 77.527210513 |
| sl_avg_hyper_speed | 93.840088333 |
| Field | Value |
|---|---|
| Pitcher | Kai-Wei Teng |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0802 |
| ESPN Rank | 57 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0252 |
| Avg Velo | 89.2497 |
| Avg Spin | 2518.2918 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 2 |
| Pre SO | 8 |
| Season ERA | 2.5714 |
| Season WHIP | 1.0952 |
| Role Avg IP | 4.4000 |
| Recent Avg IP | 4.4000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 71,
"wins": 31,
"losses": 40,
"win_pct": 0.4366,
"runs_scored": 319.0,
"runs_allowed": 354.0,
"run_differential": -35.0,
"run_differential_per_game": -0.493,
"avg_runs_scored": 4.493,
"avg_runs_allowed": 4.9859,
"offense_index": 1.0044,
"defense_index": 0.8972,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 4.7,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0795
},
"opponent": {
"team": "PIT",
"games": 68,
"wins": 35,
"losses": 33,
"win_pct": 0.5147,
"runs_scored": 339.0,
"runs_allowed": 315.0,
"run_differential": 24.0,
"run_differential_per_game": 0.3529,
"avg_runs_scored": 4.9853,
"avg_runs_allowed": 4.6324,
"offense_index": 1.1145,
"defense_index": 0.9656,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 5.4,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.1259
},
"edges": {
"quality_edge": -0.2054,
"offense_edge": 0.0044,
"opponent_offense_edge": 0.1145,
"defense_strength": -0.1028,
"opponent_defense_weakness": 0.0344,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9841,
"run_prevention": 1.0389,
"strikeout": 0.9847
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "678906",
"profile": {
"available": true,
"pitcher_id": "678906",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 145.0,
"k_percent": 25.7,
"bb_percent": 11.4,
"woba": 0.28,
"xwoba": 0.3,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 35.9,
"avg_best_speed": 81.489,
"avg_hyper_speed": 94.1517,
"whiff_percent": 25.4,
"swing_percent": 42.7
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.3174,
"command_and_miss": 0.0757,
"regression_edge": -0.5714,
"xwoba_edge": 0.4286,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.3571,
"whiff_edge": -0.0571,
"bb_edge": -0.55,
"pitch_design_score": -0.0252
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678906",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 56,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 56,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"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": 56,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2497,
"release_spin_rate": 2518.2918,
"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.0252,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1802,
"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.0802,
"sample_weight": 0.58,
"run_prevention_factor": 0.9932,
"strikeout_factor": 1.0093,
"walk_factor": 1.0255,
"homer_factor": 0.9698,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678906",
"espn_id": 42242,
"player_name": "Kai-Wei Teng",
"team": "HOU",
"role": "pitcher",
"espn_rank": 57,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 57,
"gp_value": 18.0,
"gp_rank": 164,
"gs_value": 5.0,
"gs_rank": 154,
"qs_value": 1.0,
"qs_rank": 127,
"era_value": 2.5714,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 3.0,
"hld_rank": 124,
"ip_value": 42.0,
"ip_rank": 134,
"h_value": 27.0,
"h_rank": 184,
"er_value": 12.0,
"er_rank": 220,
"hr_value": 5.0,
"hr_rank": 120,
"bb_value": 19.0,
"bb_rank": 82,
"k_value": 43.0,
"k_rank": 111,
"k_per_9_value": 9.214286,
"k_per_9_rank": 22,
"whip_value": 1.0952,
"whip_rank": null,
"war_value": 1.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9961,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9961,
"adjusted": 4
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0148,
"adjusted": 3
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9825,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0054,
"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": 30.1,
"ER": 9,
"H": 21,
"BB": 15,
"SO": 32,
"HR": 3,
"ERA": 2.6703296703296706,
"WHIP": 1.1868131868131868,
"K9": 9.494505494505495,
"HR9": 0.8901098901098902,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "678906",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 56,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 56,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"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": 56,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2497,
"release_spin_rate": 2518.2918,
"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.0252,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1802,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.29,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6238,
"prior_weight": 0.3762
},
"role": "pitcher",
"player_id": "678906",
"report_date": "20260604_P",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 6.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.0,
"ER": 6.0,
"R": 6.0,
"H": 13.0,
"BB": 12.0,
"SO": 23.0,
"HR": 2.0,
"BF": 85.0,
"Pitches": 350.0
},
"per_game": {
"IP": 4.1,
"ER": 1.2,
"R": 1.2,
"H": 2.6,
"BB": 2.4,
"SO": 4.6,
"HR": 0.4,
"BF": 17.0,
"Pitches": 70.0
},
"rates": {
"ERA": 2.5714,
"WHIP": 1.1905,
"ER_per_IP": 0.28571,
"H_per_IP": 0.61905,
"BB_per_IP": 0.57143,
"SO_per_IP": 1.09524,
"HR_per_IP": 0.09524
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 30.1,
"ER": 9.0,
"R": 9.0,
"H": 21.0,
"BB": 15.0,
"SO": 32.0,
"HR": 3.0,
"BF": 122.0,
"Pitches": 490.0
},
"per_game": {
"IP": 3.0,
"ER": 0.9,
"R": 0.9,
"H": 2.1,
"BB": 1.5,
"SO": 3.2,
"HR": 0.3,
"BF": 12.2,
"Pitches": 49.0
},
"rates": {
"ERA": 2.6703,
"WHIP": 1.1868,
"ER_per_IP": 0.2967,
"H_per_IP": 0.69231,
"BB_per_IP": 0.49451,
"SO_per_IP": 1.05495,
"HR_per_IP": 0.0989
}
},
"season": {
"games": 18,
"totals": {
"IP": 42.0,
"ER": 12.0,
"R": 12.0,
"H": 27.0,
"BB": 19.0,
"SO": 43.0,
"HR": 5.0,
"BF": 167.0,
"Pitches": 672.0
},
"per_game": {
"IP": 2.1,
"ER": 0.6667,
"R": 0.6667,
"H": 1.5,
"BB": 1.0556,
"SO": 2.3889,
"HR": 0.2778,
"BF": 9.2778,
"Pitches": 37.3333
},
"rates": {
"ERA": 2.5714,
"WHIP": 1.0952,
"ER_per_IP": 0.28571,
"H_per_IP": 0.64286,
"BB_per_IP": 0.45238,
"SO_per_IP": 1.02381,
"HR_per_IP": 0.11905
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 1.691,
"predicted_H": 3.572,
"predicted_BB": 2.162,
"predicted_SO": 4.762,
"predicted_HR": 0.536,
"predicted_ERA": 3.2593,
"predicted_WHIP": 1.2275
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5089,
"form_weight": 0.4911,
"form_reliability": 0.6238,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.29,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6238,
"prior_weight": 0.3762
},
"applied_metrics": {
"predicted_IP": {
"model": 6.2,
"form": 4.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.691,
"final": 1.3393,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 3.572,
"final": 2.7719,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.162,
"final": 2.0796,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 4.762,
"final": 6.41,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.536,
"final": 0.7722,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2593,
"final": 3.2593,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2275,
"final": 1.2275,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan King |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0606 |
| ESPN Rank | 162 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0620 |
| Avg Velo | 88.5925 |
| Avg Spin | 2105.2170 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.7342 |
| Season WHIP | 1.3291 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 71,
"wins": 31,
"losses": 40,
"win_pct": 0.4366,
"runs_scored": 319.0,
"runs_allowed": 354.0,
"run_differential": -35.0,
"run_differential_per_game": -0.493,
"avg_runs_scored": 4.493,
"avg_runs_allowed": 4.9859,
"offense_index": 1.0044,
"defense_index": 0.8972,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 4.7,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0795
},
"opponent": {
"team": "PIT",
"games": 68,
"wins": 35,
"losses": 33,
"win_pct": 0.5147,
"runs_scored": 339.0,
"runs_allowed": 315.0,
"run_differential": 24.0,
"run_differential_per_game": 0.3529,
"avg_runs_scored": 4.9853,
"avg_runs_allowed": 4.6324,
"offense_index": 1.1145,
"defense_index": 0.9656,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 5.4,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.1259
},
"edges": {
"quality_edge": -0.2054,
"offense_edge": 0.0044,
"opponent_offense_edge": 0.1145,
"defense_strength": -0.1028,
"opponent_defense_weakness": 0.0344,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9841,
"run_prevention": 1.0389,
"strikeout": 0.9847
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687911",
"profile": {
"available": true,
"pitcher_id": "687911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 17.4,
"bb_percent": 8.7,
"woba": 0.298,
"xwoba": 0.294,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.0187,
"avg_hyper_speed": 93.246,
"whiff_percent": 18.2,
"swing_percent": 48.6
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.546,
"command_and_miss": -0.6829,
"regression_edge": 0.1143,
"xwoba_edge": 0.6,
"barrel_edge": 1.0444,
"hard_hit_edge": 0.0857,
"whiff_edge": -1.0857,
"bb_edge": 0.125,
"pitch_design_score": -0.062
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687911",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 88.59250053146236,
"release_spin_rate": 2105.216952554819,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 88.59250053146236,
"release_spin_rate": 2105.216952554819,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.5925,
"release_spin_rate": 2105.217,
"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.062,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4431,
"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.0606,
"sample_weight": 0.45,
"run_prevention_factor": 0.9948,
"strikeout_factor": 0.9673,
"walk_factor": 0.9955,
"homer_factor": 0.9528,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687911",
"espn_id": 5201821,
"player_name": "Bryan King",
"team": "HOU",
"role": "pitcher",
"espn_rank": 162,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 162,
"gp_value": 23.0,
"gp_rank": 108,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.7341,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 6.0,
"sv_rank": 21,
"hld_value": 5.0,
"hld_rank": 75,
"ip_value": 26.1,
"ip_rank": 234,
"h_value": 25.0,
"h_rank": 214,
"er_value": 8.0,
"er_rank": 334,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 10.0,
"bb_rank": 258,
"k_value": 20.0,
"k_rank": 303,
"k_per_9_value": 6.835443,
"k_per_9_rank": 34,
"whip_value": 1.3291,
"whip_rank": null,
"war_value": 0.55,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9977,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9977,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.998,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9788,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9853,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 2,
"H": 9,
"BB": 5,
"SO": 5,
"HR": 1,
"ERA": 1.6875,
"WHIP": 1.3125,
"K9": 4.21875,
"HR9": 0.84375,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "687911",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 88.59250053146236,
"release_spin_rate": 2105.216952554819,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 88.59250053146236,
"release_spin_rate": 2105.216952554819,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.5925,
"release_spin_rate": 2105.217,
"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.062,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4431,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.197,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5097,
"prior_weight": 0.4903
},
"role": "pitcher",
"player_id": "687911",
"report_date": "20260604_P",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 1.0,
"SO": 3.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 0.6,
"HR": 0.2,
"BF": 4.6,
"Pitches": 19.2
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.125,
"ER_per_IP": 0.1875,
"H_per_IP": 0.9375,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.5625,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 2.0,
"R": 2.0,
"H": 9.0,
"BB": 5.0,
"SO": 5.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 200.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.5,
"SO": 0.5,
"HR": 0.1,
"BF": 4.6,
"Pitches": 20.0
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.3125,
"ER_per_IP": 0.1875,
"H_per_IP": 0.84375,
"BB_per_IP": 0.46875,
"SO_per_IP": 0.46875,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 23,
"totals": {
"IP": 26.1,
"ER": 8.0,
"R": 10.0,
"H": 25.0,
"BB": 10.0,
"SO": 20.0,
"HR": 1.0,
"BF": 115.0,
"Pitches": 463.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3478,
"R": 0.4348,
"H": 1.087,
"BB": 0.4348,
"SO": 0.8696,
"HR": 0.0435,
"BF": 5.0,
"Pitches": 20.1304
},
"rates": {
"ERA": 2.7342,
"WHIP": 1.3291,
"ER_per_IP": 0.3038,
"H_per_IP": 0.94937,
"BB_per_IP": 0.37975,
"SO_per_IP": 0.75949,
"HR_per_IP": 0.03797
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.344,
"predicted_H": 0.931,
"predicted_BB": 0.345,
"predicted_SO": 0.751,
"predicted_HR": 0.131,
"predicted_ERA": 3.096,
"predicted_WHIP": 1.2762
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5572,
"form_weight": 0.4428,
"form_reliability": 0.5097,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.197,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5097,
"prior_weight": 0.4903
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.344,
"final": 0.1523,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.931,
"final": 0.9694,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.345,
"final": 0.1528,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.751,
"final": 1.4469,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.131,
"final": 0.058,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.096,
"final": 3.096,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2762,
"final": 1.2762,
"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 | Enyel De Los Santos |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3288 |
| ESPN Rank | 244 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0006 |
| Avg Velo | 89.7115 |
| Avg Spin | 2101.6931 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.3288 |
| Season WHIP | 1.0274 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 71,
"wins": 31,
"losses": 40,
"win_pct": 0.4366,
"runs_scored": 319.0,
"runs_allowed": 354.0,
"run_differential": -35.0,
"run_differential_per_game": -0.493,
"avg_runs_scored": 4.493,
"avg_runs_allowed": 4.9859,
"offense_index": 1.0044,
"defense_index": 0.8972,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 4.7,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0795
},
"opponent": {
"team": "PIT",
"games": 68,
"wins": 35,
"losses": 33,
"win_pct": 0.5147,
"runs_scored": 339.0,
"runs_allowed": 315.0,
"run_differential": 24.0,
"run_differential_per_game": 0.3529,
"avg_runs_scored": 4.9853,
"avg_runs_allowed": 4.6324,
"offense_index": 1.1145,
"defense_index": 0.9656,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 5.4,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.1259
},
"edges": {
"quality_edge": -0.2054,
"offense_edge": 0.0044,
"opponent_offense_edge": 0.1145,
"defense_strength": -0.1028,
"opponent_defense_weakness": 0.0344,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9841,
"run_prevention": 1.0389,
"strikeout": 0.9847
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "660853",
"profile": {
"available": true,
"pitcher_id": "660853",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 24.5,
"bb_percent": 5.1,
"woba": 0.254,
"xwoba": 0.251,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 36.2,
"avg_best_speed": 78.7999,
"avg_hyper_speed": 93.5723,
"whiff_percent": 28.9,
"swing_percent": 55.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.0627,
"command_and_miss": 0.4886,
"regression_edge": 0.0857,
"xwoba_edge": 1.8286,
"barrel_edge": 0.6444,
"hard_hit_edge": 0.3143,
"whiff_edge": 0.4429,
"bb_edge": 1.025,
"pitch_design_score": 0.0006
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "660853",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.71152464183415,
"release_spin_rate": 2101.6930941773076,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 89.71152464183415,
"release_spin_rate": 2101.6930941773076,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7115,
"release_spin_rate": 2101.6931,
"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.0006,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0045,
"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.3288,
"sample_weight": 0.45,
"run_prevention_factor": 0.972,
"strikeout_factor": 1.0131,
"walk_factor": 0.9631,
"homer_factor": 0.9465,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660853",
"espn_id": 35026,
"player_name": "Enyel De Los Santos",
"team": "HOU",
"role": "pitcher",
"espn_rank": 244,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 244,
"gp_value": 23.0,
"gp_rank": 108,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.3287,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 4.0,
"sv_rank": 27,
"hld_value": 4.0,
"hld_rank": 99,
"ip_value": 24.1,
"ip_rank": 269,
"h_value": 20.0,
"h_rank": 276,
"er_value": 9.0,
"er_rank": 297,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 5.0,
"bb_rank": 433,
"k_value": 24.0,
"k_rank": 263,
"k_per_9_value": 8.876713,
"k_per_9_rank": 26,
"whip_value": 1.0273,
"whip_rank": null,
"war_value": 0.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9834,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9759,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0059,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 1,
"H": 5,
"BB": 1,
"SO": 12,
"HR": 0,
"ERA": 0.8709677419354839,
"WHIP": 0.5806451612903225,
"K9": 10.451612903225806,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "660853",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.71152464183415,
"release_spin_rate": 2101.6930941773076,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 89.71152464183415,
"release_spin_rate": 2101.6930941773076,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7115,
"release_spin_rate": 2101.6931,
"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.0006,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0045,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.803,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"role": "pitcher",
"player_id": "660853",
"report_date": "20260604_P",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 77.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3333,
"ER_per_IP": 0.0,
"H_per_IP": 0.16667,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 1.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 12.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 131.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.5,
"BB": 0.1,
"SO": 1.2,
"HR": 0.0,
"BF": 3.7,
"Pitches": 13.1
},
"rates": {
"ERA": 0.871,
"WHIP": 0.5806,
"ER_per_IP": 0.09677,
"H_per_IP": 0.48387,
"BB_per_IP": 0.09677,
"SO_per_IP": 1.16129,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 24.1,
"ER": 9.0,
"R": 10.0,
"H": 20.0,
"BB": 5.0,
"SO": 24.0,
"HR": 1.0,
"BF": 98.0,
"Pitches": 368.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3913,
"R": 0.4348,
"H": 0.8696,
"BB": 0.2174,
"SO": 1.0435,
"HR": 0.0435,
"BF": 4.2609,
"Pitches": 16.0
},
"rates": {
"ERA": 3.3288,
"WHIP": 1.0274,
"ER_per_IP": 0.36986,
"H_per_IP": 0.82192,
"BB_per_IP": 0.20548,
"SO_per_IP": 0.9863,
"HR_per_IP": 0.0411
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.321,
"predicted_H": 0.738,
"predicted_BB": 0.28,
"predicted_SO": 1.148,
"predicted_HR": 0.079,
"predicted_ERA": 2.6907,
"predicted_WHIP": 0.9484
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5655,
"form_weight": 0.4345,
"form_reliability": 0.4899,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.803,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.321,
"final": 0.1395,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.738,
"final": 0.3206,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.28,
"final": 0.1217,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.148,
"final": 1.0643,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.079,
"final": 0.0343,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6907,
"final": 2.6907,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9484,
"final": 0.9484,
"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 | Josh Hader |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0061 |
| ESPN Rank | 327 |
| 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 | 0 |
| Season WHIP | 1 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 71,
"wins": 31,
"losses": 40,
"win_pct": 0.4366,
"runs_scored": 319.0,
"runs_allowed": 354.0,
"run_differential": -35.0,
"run_differential_per_game": -0.493,
"avg_runs_scored": 4.493,
"avg_runs_allowed": 4.9859,
"offense_index": 1.0044,
"defense_index": 0.8972,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 4.7,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0795
},
"opponent": {
"team": "PIT",
"games": 68,
"wins": 35,
"losses": 33,
"win_pct": 0.5147,
"runs_scored": 339.0,
"runs_allowed": 315.0,
"run_differential": 24.0,
"run_differential_per_game": 0.3529,
"avg_runs_scored": 4.9853,
"avg_runs_allowed": 4.6324,
"offense_index": 1.1145,
"defense_index": 0.9656,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.8,
"avg_runs_allowed": 5.4,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.1259
},
"edges": {
"quality_edge": -0.2054,
"offense_edge": 0.0044,
"opponent_offense_edge": 0.1145,
"defense_strength": -0.1028,
"opponent_defense_weakness": 0.0344,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9841,
"run_prevention": 1.0389,
"strikeout": 0.9847
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623352",
"profile": {
"available": true,
"pitcher_id": "623352",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.312,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0343,
"command_and_miss": 0.0,
"regression_edge": -0.0571,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623352",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0061,
"sample_weight": 0.45,
"run_prevention_factor": 0.9995,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9988,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623352",
"espn_id": 32760,
"player_name": "Josh Hader",
"team": "HOU",
"role": "pitcher",
"espn_rank": 327,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 327,
"gp_value": 1.0,
"gp_rank": 600,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 0.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 1.0,
"ip_rank": 640,
"h_value": 0.0,
"h_rank": 649,
"er_value": 0.0,
"er_rank": 621,
"hr_value": 0.0,
"hr_rank": 536,
"bb_value": 1.0,
"bb_rank": 588,
"k_value": 1.0,
"k_rank": 596,
"k_per_9_value": 9.0,
"k_per_9_rank": 25,
"whip_value": 1.0,
"whip_rank": null,
"war_value": 0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0,
"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": "insufficient_data"
},
"pitching": {
"IP": 1.0,
"ER": 0,
"H": 0,
"BB": 1,
"SO": 1,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.0,
"K9": 9.0,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-06-03T00:00:00"
}{
"available": false,
"pitcher_id": "623352",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.197,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.038,
"prior_weight": 0.962
},
"role": "pitcher",
"player_id": "623352",
"report_date": "20260604_P",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 1.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 1.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 1.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.166,
"predicted_H": 0.33,
"predicted_BB": 0.14,
"predicted_SO": 0.338,
"predicted_HR": 0.047,
"predicted_ERA": 4.1776,
"predicted_WHIP": 1.3105
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7564,
"form_weight": 0.2436,
"form_reliability": 0.038,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.197,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.038,
"prior_weight": 0.962
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.166,
"final": 0.0404,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.33,
"final": 0.0804,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.14,
"final": 0.0341,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.338,
"final": 0.8388,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.047,
"final": 0.0114,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1776,
"final": 4.1776,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3105,
"final": 1.3105,
"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.207 | 0.000 | 0.000 | Hitting_2B | 0.207 | 1.000 | -0.207 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.640 | 4.000 | 7.000 | Hitting_AB | 4.152 | 3.000 | -0.152 | 1.000 |
| predicted_AVG | 0.260 | 0.000 | 0.286 | Hitting_AVG | 0.259 | 0.667 | -0.259 | -0.667 |
| predicted_BB | 0.217 | 0.000 | 0.000 | Hitting_BB | 0.217 | 2.000 | -0.217 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.200 | 0.000 | 2.000 | Hitting_H | 1.076 | 2.000 | -1.076 | -2.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_OBP | 0.357 | 0.000 | 0.286 | Hitting_OBP | 0.314 | 0.800 | -0.314 | -0.800 |
| predicted_R | 0.674 | 0.000 | 1.000 | Hitting_R | 0.674 | 3.000 | -0.674 | -3.000 |
| predicted_RBI | 0.600 | 0.000 | 1.000 | Hitting_RBI | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_SLG | 0.463 | 0.000 | 0.286 | Hitting_SLG | 0.387 | 1.000 | -0.387 | -1.000 |
| predicted_SO | 0.576 | 0.000 | 1.000 | Hitting_SO | 0.576 | 0.000 | -0.576 | 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_AVG: 0.2600 -> 0.2913 (boost 0.0313, better) |
| Biggest Deboost | predicted_H: 1.2000 -> 0.0000 (deboost -1.2000, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.6400 -> 7.4718 (boost 2.8318, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2828 -> 0.2913 (boost 0.0085, better) | predicted_OBP: 0.3610 -> 0.3309 (deboost -0.0301, 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 | 1 | 6 | predicted_RBI: 0.9215 -> 1.0000 (boost 0.0785, better) | predicted_AB: 7.4718 -> 7.0000 (deboost -0.4718, worse) | AB rounded to 7 (raw=7.47), rates preserved: AVG=0.291 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4803 -> 1.0000 (deboost -0.4803, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4577 -> 0.2860 (deboost -0.1717, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2860 -> 0.4577 (boost 0.1717, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665161",
"player_name": "Jeremy Peña",
"position": "SS",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.207,
"predicted_3B": 0.0,
"predicted_AB": 4.64,
"predicted_AVG": 0.26,
"predicted_BB": 0.217,
"predicted_H": 1.2,
"predicted_HR": 0.17,
"predicted_OBP": 0.357,
"predicted_R": 0.674,
"predicted_RBI": 0.6,
"predicted_SLG": 0.463,
"predicted_SO": 0.576
},
"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.3538,
"predicted_3B": 0.0013,
"predicted_AB": 7.4718,
"predicted_AVG": 0.2828,
"predicted_BB": 0.4443,
"predicted_H": 2.1944,
"predicted_HBP": 0.25,
"predicted_HR": 0.2974,
"predicted_OBP": 0.361,
"predicted_R": 1.5053,
"predicted_RBI": 0.9371,
"predicted_SLG": 0.4733,
"predicted_SO": 1.0276
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.207,
"after": 0.3538,
"delta": 0.1468,
"percent_delta": 0.7092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.64,
"after": 7.4718,
"delta": 2.8318,
"percent_delta": 0.6103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2828,
"delta": 0.0228,
"percent_delta": 0.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.217,
"after": 0.4443,
"delta": 0.2273,
"percent_delta": 1.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2,
"after": 2.1944,
"delta": 0.9944,
"percent_delta": 0.8287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.2974,
"delta": 0.1274,
"percent_delta": 0.7494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.357,
"after": 0.361,
"delta": 0.004,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.674,
"after": 1.5053,
"delta": 0.8313,
"percent_delta": 1.2334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.9371,
"delta": 0.3371,
"percent_delta": 0.5618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.463,
"after": 0.4733,
"delta": 0.0103,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.576,
"after": 1.0276,
"delta": 0.4516,
"percent_delta": 0.784,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.64,
"after": 7.4718,
"delta": 2.8318,
"percent_delta": 0.6103,
"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": 25
}
},
{
"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.3538,
"predicted_3B": 0.0013,
"predicted_AB": 7.4718,
"predicted_AVG": 0.2913,
"predicted_BB": 0.4416,
"predicted_H": 2.1768,
"predicted_HBP": 0.25,
"predicted_HR": 0.2955,
"predicted_OBP": 0.3309,
"predicted_R": 1.4803,
"predicted_RBI": 0.9215,
"predicted_SLG": 0.4577,
"predicted_SO": 1.0338
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3538,
"after": 0.3538,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.4718,
"after": 7.4718,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2828,
"after": 0.2913,
"delta": 0.0085,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4443,
"after": 0.4416,
"delta": -0.0027,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1944,
"after": 2.1768,
"delta": -0.0176,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.25,
"after": 0.25,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2974,
"after": 0.2955,
"delta": -0.0019,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3309,
"delta": -0.0301,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.5053,
"after": 1.4803,
"delta": -0.025,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9371,
"after": 0.9215,
"delta": -0.0156,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4733,
"after": 0.4577,
"delta": -0.0156,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0276,
"after": 1.0338,
"delta": 0.0062,
"percent_delta": 0.006,
"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.2828,
"after": 0.2913,
"delta": 0.0085,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3309,
"delta": -0.0301,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.47), rates preserved: AVG=0.291 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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.3538,
"after": 0.0,
"delta": -0.3538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.4718,
"after": 7.0,
"delta": -0.4718,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4416,
"after": 0.0,
"delta": -0.4416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1768,
"after": 2.0,
"delta": -0.1768,
"percent_delta": -0.0812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2955,
"after": 0.0,
"delta": -0.2955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9215,
"after": 1.0,
"delta": 0.0785,
"percent_delta": 0.0852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0338,
"after": 1.0,
"delta": -0.0338,
"percent_delta": -0.0327,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.9215,
"after": 1.0,
"delta": 0.0785,
"percent_delta": 0.0852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.4718,
"after": 7.0,
"delta": -0.4718,
"percent_delta": -0.0631,
"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": 7.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": 7.0,
"after": 7.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": 1.4803,
"after": 1.0,
"delta": -0.4803,
"percent_delta": -0.3245,
"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": 1.4803,
"after": 1.0,
"delta": -0.4803,
"percent_delta": -0.3245,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2913,
"after": 0.286,
"delta": -0.0053,
"percent_delta": -0.0182,
"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": 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.3309,
"after": 0.286,
"delta": -0.0449,
"percent_delta": -0.1357,
"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.4577,
"after": 0.286,
"delta": -0.1717,
"percent_delta": -0.3751,
"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.4577,
"after": 0.286,
"delta": -0.1717,
"percent_delta": -0.3751,
"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": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 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": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2913,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3309,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4577,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.286,
"after": 0.2913,
"delta": 0.0053,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3309,
"delta": 0.0449,
"percent_delta": 0.157,
"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.286,
"after": 0.4577,
"delta": 0.1717,
"percent_delta": 0.6003,
"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.286,
"after": 0.4577,
"delta": 0.1717,
"percent_delta": 0.6003,
"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.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.64,
"after": 4.0,
"delta": -0.64,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2913,
"delta": 0.0313,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.217,
"after": 0.0,
"delta": -0.217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2,
"after": 0.0,
"delta": -1.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.357,
"after": 0.3309,
"delta": -0.0261,
"percent_delta": -0.0731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.674,
"after": 0.0,
"delta": -0.674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.463,
"after": 0.4577,
"delta": -0.0053,
"percent_delta": -0.0114,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.576,
"after": 0.0,
"delta": -0.576,
"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_AVG",
"before": 0.26,
"after": 0.2913,
"delta": 0.0313,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.2,
"after": 0.0,
"delta": -1.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.207 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.640 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.217 | - |
| predicted_H | 1.200 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.357 | - |
| predicted_R | 0.674 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.463 | - |
| predicted_SO | 0.576 | - |
Final model 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.354 | 0.147 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.472 | 2.832 |
| predicted_AVG | 0.283 | 0.023 |
| predicted_BB | 0.444 | 0.227 |
| predicted_H | 2.194 | 0.994 |
| predicted_HBP | 0.250 | - |
| predicted_HR | 0.297 | 0.127 |
| predicted_OBP | 0.361 | 0.004 |
| predicted_R | 1.505 | 0.831 |
| predicted_RBI | 0.937 | 0.337 |
| predicted_SLG | 0.473 | 0.010 |
| predicted_SO | 1.028 | 0.452 |
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.354 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.472 | 0.000 |
| predicted_AVG | 0.291 | 0.009 |
| predicted_BB | 0.442 | -0.003 |
| predicted_H | 2.177 | -0.018 |
| predicted_HBP | 0.250 | 0.000 |
| predicted_HR | 0.295 | -0.002 |
| predicted_OBP | 0.331 | -0.030 |
| predicted_R | 1.480 | -0.025 |
| predicted_RBI | 0.921 | -0.016 |
| predicted_SLG | 0.458 | -0.016 |
| predicted_SO | 1.034 | 0.006 |
AB rounded to 7 (raw=7.47), rates preserved: AVG=0.291 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.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.354 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | -0.472 |
| predicted_AVG | 0.286 | -0.005 |
| predicted_BB | 0.000 | -0.442 |
| predicted_H | 2.000 | -0.177 |
| predicted_HR | 0.000 | -0.295 |
| predicted_OBP | 0.286 | -0.045 |
| predicted_R | 1.000 | -0.480 |
| predicted_RBI | 1.000 | 0.079 |
| predicted_SLG | 0.286 | -0.172 |
| predicted_SO | 1.000 | -0.034 |
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 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 8.000 | 1.000 | 0.000 | 1.000 | 4.000 | 8.000 | 2.000 | 3.000 | 0.4444 | 0.5000 | 0.6667 | 0.4444 | 0.0556 | 0.2222 | 0.1111 | 0.1667 |
| last_10 | 0.20 | 7 | - | 39.000 | 17.000 | 1.000 | 0.000 | 5.000 | 8.000 | 12.000 | 2.000 | 3.000 | 0.4359 | 0.4634 | 0.8462 | 0.4359 | 0.1282 | 0.2051 | 0.0513 | 0.0769 |
| season | 0.60 | 25 | - | 382.000 | 99.000 | 19.000 | 0.000 | 10.000 | 30.000 | 62.000 | 20.000 | 53.000 | 0.2592 | 0.3143 | 0.3874 | 0.2592 | 0.0262 | 0.0785 | 0.0524 | 0.1387 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5480 |
| predicted_3B | 0.0030 |
| predicted_AB | 11.2180 |
| predicted_AVG | 0.3129 |
| predicted_BB | 0.7450 |
| predicted_H | 3.5100 |
| predicted_HBP | 0.2500 |
| predicted_HR | 0.4660 |
| predicted_OBP | 0.3663 |
| predicted_R | 2.6050 |
| predicted_RBI | 1.3830 |
| predicted_SLG | 0.4870 |
| predicted_SO | 1.6250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2070 | 0.5480 | 0.3538 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 4.6400 | 11.2180 | 7.4718 | model_form_blend |
| predicted_AVG | 0.2600 | 0.3129 | 0.2828 | model_form_blend |
| predicted_BB | 0.2170 | 0.7450 | 0.4443 | model_form_blend |
| predicted_H | 1.2000 | 3.5100 | 2.1944 | model_form_blend |
| predicted_HBP | - | 0.2500 | 0.2500 | form_only |
| predicted_HR | 0.1700 | 0.4660 | 0.2974 | model_form_blend |
| predicted_OBP | 0.3570 | 0.3663 | 0.3610 | model_form_blend |
| predicted_R | 0.6740 | 2.6050 | 1.5053 | model_form_blend |
| predicted_RBI | 0.6000 | 1.3830 | 0.9371 | model_form_blend |
| predicted_SLG | 0.4630 | 0.4870 | 0.4733 | model_form_blend |
| predicted_SO | 0.5760 | 1.6250 | 1.0276 | 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 | 92 |
| Season rows before report date | 92 |
| Report year | 2026 |
| Profile rows used | 92 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | SS |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 665161 |
| playerID | 665161 |
| playerName | Jeremy Peña |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| sl_k_percent | 14.5 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.344 |
| sl_xwoba | 0.368 |
| sl_xba | 0.321 |
| sl_xslg | 0.473 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 27.1 |
| sl_exit_velocity_avg | 85.0 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 54.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.186 | 1.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | 0.814 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.900 | 4.000 | 7.000 | Hitting_AB | 3.735 | 4.000 | 0.265 | 0.000 |
| predicted_AVG | 0.225 | 0.250 | 0.286 | Hitting_AVG | 0.240 | 0.500 | 0.010 | -0.250 |
| predicted_BB | 0.409 | 0.000 | 1.000 | Hitting_BB | 0.409 | 1.000 | -0.409 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.880 | 1.000 | 2.000 | Hitting_H | 0.898 | 2.000 | 0.102 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.126 | 1.000 | -0.126 | -1.000 |
| predicted_OBP | 0.315 | 0.250 | 0.375 | Hitting_OBP | 0.336 | 0.600 | -0.086 | -0.350 |
| predicted_R | 0.456 | 1.000 | 1.000 | Hitting_R | 0.456 | 2.000 | 0.544 | -1.000 |
| predicted_RBI | 0.570 | 1.000 | 1.000 | Hitting_RBI | 0.493 | 3.000 | 0.507 | -2.000 |
| predicted_SLG | 0.396 | 0.500 | 0.286 | Hitting_SLG | 0.391 | 1.250 | 0.109 | -0.750 |
| predicted_SO | 0.647 | 0.000 | 1.000 | Hitting_SO | 0.647 | 1.000 | -0.647 | -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_2B: 0.1860 -> 1.0000 (boost 0.8140, better) |
| Biggest Deboost | predicted_SO: 0.6470 -> 0.0000 (deboost -0.6470, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.9000 -> 6.9540 (boost 3.0540, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3242 -> 0.3130 (deboost -0.0112, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 1.6005 -> 2.0000 (boost 0.3995, better) | predicted_2B: 0.4051 -> 0.0000 (deboost -0.4051, worse) | AB rounded to 7 (raw=6.95), rates preserved: AVG=0.230 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8857 -> 1.0000 (boost 0.1143, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3130 -> 0.3750 (boost 0.0620, better) | predicted_SLG: 0.4215 -> 0.2860 (deboost -0.1355, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4215 (boost 0.1355, better) | predicted_OBP: 0.3750 -> 0.3130 (deboost -0.0620, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670623",
"player_name": "Isaac Paredes",
"position": "3B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.186,
"predicted_3B": 0.0,
"predicted_AB": 3.9,
"predicted_AVG": 0.225,
"predicted_BB": 0.409,
"predicted_H": 0.88,
"predicted_HR": 0.14,
"predicted_OBP": 0.315,
"predicted_R": 0.456,
"predicted_RBI": 0.57,
"predicted_SLG": 0.396,
"predicted_SO": 0.647
},
"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.4051,
"predicted_3B": 0.0004,
"predicted_AB": 6.954,
"predicted_AVG": 0.2294,
"predicted_BB": 0.8436,
"predicted_H": 1.6134,
"predicted_HBP": 0.252,
"predicted_HR": 0.3101,
"predicted_OBP": 0.3242,
"predicted_R": 0.9007,
"predicted_RBI": 1.2016,
"predicted_SLG": 0.4172,
"predicted_SO": 1.2826
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.4051,
"delta": 0.2191,
"percent_delta": 1.178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.9,
"after": 6.954,
"delta": 3.054,
"percent_delta": 0.7831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2294,
"delta": 0.0044,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.8436,
"delta": 0.4346,
"percent_delta": 1.0626,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.6134,
"delta": 0.7334,
"percent_delta": 0.8334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.3101,
"delta": 0.1701,
"percent_delta": 1.215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3242,
"delta": 0.0092,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.9007,
"delta": 0.4447,
"percent_delta": 0.9752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.2016,
"delta": 0.6316,
"percent_delta": 1.1081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.4172,
"delta": 0.0212,
"percent_delta": 0.0535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.647,
"after": 1.2826,
"delta": 0.6356,
"percent_delta": 0.9824,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.9,
"after": 6.954,
"delta": 3.054,
"percent_delta": 0.7831,
"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": 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.4051,
"predicted_3B": 0.0004,
"predicted_AB": 6.954,
"predicted_AVG": 0.2302,
"predicted_BB": 0.8385,
"predicted_H": 1.6005,
"predicted_HBP": 0.252,
"predicted_HR": 0.3081,
"predicted_OBP": 0.313,
"predicted_R": 0.8857,
"predicted_RBI": 1.1817,
"predicted_SLG": 0.4215,
"predicted_SO": 1.2903
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4051,
"after": 0.4051,
"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": 6.954,
"after": 6.954,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2294,
"after": 0.2302,
"delta": 0.0008,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8436,
"after": 0.8385,
"delta": -0.0051,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6134,
"after": 1.6005,
"delta": -0.0129,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.252,
"after": 0.252,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3101,
"after": 0.3081,
"delta": -0.002,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3242,
"after": 0.313,
"delta": -0.0112,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9007,
"after": 0.8857,
"delta": -0.015,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2016,
"after": 1.1817,
"delta": -0.0199,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4172,
"after": 0.4215,
"delta": 0.0043,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2826,
"after": 1.2903,
"delta": 0.0077,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3242,
"after": 0.313,
"delta": -0.0112,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.95), rates preserved: AVG=0.230 HR/AB=0.044",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.4051,
"after": 0.0,
"delta": -0.4051,
"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": 6.954,
"after": 7.0,
"delta": 0.046,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8385,
"after": 1.0,
"delta": 0.1615,
"percent_delta": 0.1926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6005,
"after": 2.0,
"delta": 0.3995,
"percent_delta": 0.2496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.252,
"after": 0.0,
"delta": -0.252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3081,
"after": 0.0,
"delta": -0.3081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1817,
"after": 1.0,
"delta": -0.1817,
"percent_delta": -0.1538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2903,
"after": 1.0,
"delta": -0.2903,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.6005,
"after": 2.0,
"delta": 0.3995,
"percent_delta": 0.2496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4051,
"after": 0.0,
"delta": -0.4051,
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.8857,
"after": 1.0,
"delta": 0.1143,
"percent_delta": 0.1291,
"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.8857,
"after": 1.0,
"delta": 0.1143,
"percent_delta": 0.1291,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2302,
"after": 0.286,
"delta": 0.0558,
"percent_delta": 0.2424,
"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": 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.313,
"after": 0.375,
"delta": 0.062,
"percent_delta": 0.1981,
"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.4215,
"after": 0.286,
"delta": -0.1355,
"percent_delta": -0.3215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.375,
"delta": 0.062,
"percent_delta": 0.1981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4215,
"after": 0.286,
"delta": -0.1355,
"percent_delta": -0.3215,
"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": 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2302,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.313,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4215,
"predicted_SO": 0.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": 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.286,
"after": 0.2302,
"delta": -0.0558,
"percent_delta": -0.1953,
"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.375,
"after": 0.313,
"delta": -0.062,
"percent_delta": -0.1653,
"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.286,
"after": 0.4215,
"delta": 0.1355,
"percent_delta": 0.4736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4215,
"delta": 0.1355,
"percent_delta": 0.4736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.313,
"delta": -0.062,
"percent_delta": -0.1653,
"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.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"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.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2302,
"delta": 0.0052,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"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.315,
"after": 0.313,
"delta": -0.002,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 1.0,
"delta": 0.544,
"percent_delta": 1.193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.4215,
"delta": 0.0255,
"percent_delta": 0.0644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"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_2B",
"before": 0.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"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.186 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.900 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.409 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.456 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 0.647 | - |
Final model 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.405 | 0.219 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.954 | 3.054 |
| predicted_AVG | 0.229 | 0.004 |
| predicted_BB | 0.844 | 0.435 |
| predicted_H | 1.613 | 0.733 |
| predicted_HBP | 0.252 | - |
| predicted_HR | 0.310 | 0.170 |
| predicted_OBP | 0.324 | 0.009 |
| predicted_R | 0.901 | 0.445 |
| predicted_RBI | 1.202 | 0.632 |
| predicted_SLG | 0.417 | 0.021 |
| predicted_SO | 1.283 | 0.636 |
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.405 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.954 | 0.000 |
| predicted_AVG | 0.230 | 0.001 |
| predicted_BB | 0.839 | -0.005 |
| predicted_H | 1.601 | -0.013 |
| predicted_HBP | 0.252 | 0.000 |
| predicted_HR | 0.308 | -0.002 |
| predicted_OBP | 0.313 | -0.011 |
| predicted_R | 0.886 | -0.015 |
| predicted_RBI | 1.182 | -0.020 |
| predicted_SLG | 0.421 | 0.004 |
| predicted_SO | 1.290 | 0.008 |
AB rounded to 7 (raw=6.95), rates preserved: AVG=0.230 HR/AB=0.044
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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.405 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | 0.046 |
| predicted_AVG | 0.286 | 0.056 |
| predicted_BB | 1.000 | 0.161 |
| predicted_H | 2.000 | 0.399 |
| predicted_HR | 0.000 | -0.308 |
| predicted_OBP | 0.375 | 0.062 |
| predicted_R | 1.000 | 0.114 |
| predicted_RBI | 1.000 | -0.182 |
| predicted_SLG | 0.286 | -0.136 |
| predicted_SO | 1.000 | -0.290 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | - | 19.000 | 4.000 | 2.000 | 0.000 | 1.000 | 5.000 | 2.000 | 3.000 | 5.000 | 0.2105 | 0.3182 | 0.4737 | 0.2105 | 0.0526 | 0.2632 | 0.1579 | 0.2632 |
| last_10 | 0.20 | 7 | - | 32.000 | 8.000 | 2.000 | 0.000 | 5.000 | 13.000 | 10.000 | 7.000 | 5.000 | 0.2500 | 0.3846 | 0.7812 | 0.2500 | 0.1562 | 0.4062 | 0.2188 | 0.1562 |
| season | 0.60 | 56 | - | 803.000 | 193.000 | 40.000 | 0.000 | 27.000 | 106.000 | 98.000 | 88.000 | 139.000 | 0.2403 | 0.3362 | 0.3910 | 0.2404 | 0.0336 | 0.1320 | 0.1096 | 0.1731 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6830 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.8290 |
| predicted_AVG | 0.2349 |
| predicted_BB | 1.3950 |
| predicted_H | 2.5440 |
| predicted_HBP | 0.2520 |
| predicted_HR | 0.5260 |
| predicted_OBP | 0.3358 |
| predicted_R | 1.4650 |
| predicted_RBI | 2.0030 |
| predicted_SLG | 0.4441 |
| predicted_SO | 2.0890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.6830 | 0.4051 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9000 | 10.8290 | 6.9540 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2349 | 0.2294 | model_form_blend |
| predicted_BB | 0.4090 | 1.3950 | 0.8436 | model_form_blend |
| predicted_H | 0.8800 | 2.5440 | 1.6134 | model_form_blend |
| predicted_HBP | - | 0.2520 | 0.2520 | form_only |
| predicted_HR | 0.1400 | 0.5260 | 0.3101 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3358 | 0.3242 | model_form_blend |
| predicted_R | 0.4560 | 1.4650 | 0.9007 | model_form_blend |
| predicted_RBI | 0.5700 | 2.0030 | 1.2016 | model_form_blend |
| predicted_SLG | 0.3960 | 0.4441 | 0.4172 | model_form_blend |
| predicted_SO | 0.6470 | 2.0890 | 1.2826 | 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 | 215 |
| Season rows before report date | 215 |
| Report year | 2026 |
| Profile rows used | 215 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 670623 |
| playerID | 670623 |
| playerName | Isaac Paredes |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| sl_k_percent | 16.2 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.326 |
| sl_xwoba | 0.314 |
| sl_xba | 0.239 |
| sl_xslg | 0.364 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 28.6 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 24.5 |
| sl_whiff_percent | 16.5 |
| sl_swing_percent | 43.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.100 | 1.000 | 7.000 | Hitting_AB | 3.708 | 5.000 | -2.708 | -4.000 |
| predicted_AVG | 0.275 | 0.000 | 0.286 | Hitting_AVG | 0.332 | 0.800 | -0.332 | -0.800 |
| predicted_BB | 0.720 | 1.000 | 1.000 | Hitting_BB | 0.720 | 0.000 | 0.280 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.130 | 0.000 | 2.000 | Hitting_H | 1.232 | 4.000 | -1.232 | -4.000 |
| predicted_HR | 0.290 | 0.000 | 1.000 | Hitting_HR | 0.396 | 0.000 | -0.396 | 0.000 |
| predicted_OBP | 0.402 | 0.750 | 0.375 | Hitting_OBP | 0.447 | 0.800 | 0.303 | -0.050 |
| predicted_R | 0.732 | 1.000 | 1.000 | Hitting_R | 0.732 | 1.000 | 0.268 | 0.000 |
| predicted_RBI | 0.810 | 0.000 | 1.000 | Hitting_RBI | 0.756 | 2.000 | -0.756 | -2.000 |
| predicted_SLG | 0.594 | 0.000 | 0.714 | Hitting_SLG | 0.707 | 0.800 | -0.707 | -0.800 |
| predicted_SO | 0.752 | 0.000 | 2.000 | Hitting_SO | 0.752 | 0.000 | -0.752 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.7200 -> 1.0000 (boost 0.2800, better) |
| Biggest Deboost | predicted_AB: 4.1000 -> 1.0000 (deboost -3.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.1000 -> 7.3896 (boost 3.2896, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.3050 -> 0.3194 (boost 0.0144, better) | - | 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_HR: 0.6184 -> 1.0000 (boost 0.3816, better) | predicted_RBI: 1.5049 -> 1.0000 (deboost -0.5049, worse) | AB rounded to 7 (raw=7.39), rates preserved: AVG=0.319 HR/AB=0.084 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4217 -> 1.0000 (deboost -0.4217, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.6206 -> 0.7140 (boost 0.0934, better) | predicted_OBP: 0.4234 -> 0.3750 (deboost -0.0484, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_HBP: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 7.0000 -> 1.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3750 -> 0.4234 (boost 0.0484, better) | predicted_SLG: 0.7140 -> 0.6206 (deboost -0.0934, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"team": "HOU",
"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.2,
"predicted_3B": 0.0,
"predicted_AB": 4.1,
"predicted_AVG": 0.275,
"predicted_BB": 0.72,
"predicted_H": 1.13,
"predicted_HR": 0.29,
"predicted_OBP": 0.402,
"predicted_R": 0.732,
"predicted_RBI": 0.81,
"predicted_SLG": 0.594,
"predicted_SO": 0.752
},
"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.3699,
"predicted_3B": 0.0004,
"predicted_AB": 7.3896,
"predicted_AVG": 0.305,
"predicted_BB": 1.3399,
"predicted_H": 2.3795,
"predicted_HBP": 0.308,
"predicted_HR": 0.6223,
"predicted_OBP": 0.4255,
"predicted_R": 1.4457,
"predicted_RBI": 1.5303,
"predicted_SLG": 0.6251,
"predicted_SO": 1.613
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.3699,
"delta": 0.1699,
"percent_delta": 0.8495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.1,
"after": 7.3896,
"delta": 3.2896,
"percent_delta": 0.8023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.305,
"delta": 0.03,
"percent_delta": 0.1091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.72,
"after": 1.3399,
"delta": 0.6199,
"percent_delta": 0.861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 2.3795,
"delta": 1.2495,
"percent_delta": 1.1058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.29,
"after": 0.6223,
"delta": 0.3323,
"percent_delta": 1.1459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.402,
"after": 0.4255,
"delta": 0.0235,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.732,
"after": 1.4457,
"delta": 0.7137,
"percent_delta": 0.975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.81,
"after": 1.5303,
"delta": 0.7203,
"percent_delta": 0.8893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.594,
"after": 0.6251,
"delta": 0.0311,
"percent_delta": 0.0524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 1.613,
"delta": 0.861,
"percent_delta": 1.1449,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 7.3896,
"delta": 3.2896,
"percent_delta": 0.8023,
"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": 61
}
},
{
"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.3699,
"predicted_3B": 0.0004,
"predicted_AB": 7.3896,
"predicted_AVG": 0.3194,
"predicted_BB": 1.3319,
"predicted_H": 2.3605,
"predicted_HBP": 0.308,
"predicted_HR": 0.6184,
"predicted_OBP": 0.4234,
"predicted_R": 1.4217,
"predicted_RBI": 1.5049,
"predicted_SLG": 0.6206,
"predicted_SO": 1.6227
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3699,
"after": 0.3699,
"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": 7.3896,
"after": 7.3896,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.305,
"after": 0.3194,
"delta": 0.0144,
"percent_delta": 0.0472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3399,
"after": 1.3319,
"delta": -0.008,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3795,
"after": 2.3605,
"delta": -0.019,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.308,
"after": 0.308,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.6223,
"after": 0.6184,
"delta": -0.0039,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4255,
"after": 0.4234,
"delta": -0.0021,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.4457,
"after": 1.4217,
"delta": -0.024,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.5303,
"after": 1.5049,
"delta": -0.0254,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6251,
"after": 0.6206,
"delta": -0.0045,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.613,
"after": 1.6227,
"delta": 0.0097,
"percent_delta": 0.006,
"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_AVG",
"before": 0.305,
"after": 0.3194,
"delta": 0.0144,
"percent_delta": 0.0472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.39), rates preserved: AVG=0.319 HR/AB=0.084",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3699,
"after": 0.0,
"delta": -0.3699,
"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": 7.3896,
"after": 7.0,
"delta": -0.3896,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3319,
"after": 1.0,
"delta": -0.3319,
"percent_delta": -0.2492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3605,
"after": 2.0,
"delta": -0.3605,
"percent_delta": -0.1527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.6184,
"after": 1.0,
"delta": 0.3816,
"percent_delta": 0.6171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5049,
"after": 1.0,
"delta": -0.5049,
"percent_delta": -0.3355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6227,
"after": 2.0,
"delta": 0.3773,
"percent_delta": 0.2325,
"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_HR",
"before": 0.6184,
"after": 1.0,
"delta": 0.3816,
"percent_delta": 0.6171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.5049,
"after": 1.0,
"delta": -0.5049,
"percent_delta": -0.3355,
"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": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 7.0,
"after": 7.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.4217,
"after": 1.0,
"delta": -0.4217,
"percent_delta": -0.2966,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.4217,
"after": 1.0,
"delta": -0.4217,
"percent_delta": -0.2966,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.714,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3194,
"after": 0.286,
"delta": -0.0334,
"percent_delta": -0.1046,
"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": 2.0,
"after": 2.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_OBP",
"before": 0.4234,
"after": 0.375,
"delta": -0.0484,
"percent_delta": -0.1143,
"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.6206,
"after": 0.714,
"delta": 0.0934,
"percent_delta": 0.1505,
"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.6206,
"after": 0.714,
"delta": 0.0934,
"percent_delta": 0.1505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4234,
"after": 0.375,
"delta": -0.0484,
"percent_delta": -0.1143,
"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": 1.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 2.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": 7.0,
"after": 1.0,
"delta": -6.0,
"percent_delta": -0.8571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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": 2.0,
"after": 0.0,
"delta": -2.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_HBP",
"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": 7.0,
"after": 1.0,
"delta": -6.0,
"percent_delta": -0.8571,
"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": 1.0,
"predicted_AVG": 0.3194,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4234,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6206,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.3194,
"delta": 0.0334,
"percent_delta": 0.1169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 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.375,
"after": 0.4234,
"delta": 0.0484,
"percent_delta": 0.129,
"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.714,
"after": 0.6206,
"delta": -0.0934,
"percent_delta": -0.1308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.4234,
"delta": 0.0484,
"percent_delta": 0.129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.714,
"after": 0.6206,
"delta": -0.0934,
"percent_delta": -0.1308,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 1.0,
"delta": -3.1,
"percent_delta": -0.7561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.3194,
"delta": 0.0444,
"percent_delta": 0.1615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 0.0,
"delta": -1.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.402,
"after": 0.4234,
"delta": 0.0214,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.732,
"after": 1.0,
"delta": 0.268,
"percent_delta": 0.3661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.594,
"after": 0.6206,
"delta": 0.0266,
"percent_delta": 0.0448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 0.0,
"delta": -0.752,
"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_BB",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 1.0,
"delta": -3.1,
"percent_delta": -0.7561,
"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.200 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.720 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.290 | - |
| predicted_OBP | 0.402 | - |
| predicted_R | 0.732 | - |
| predicted_RBI | 0.810 | - |
| predicted_SLG | 0.594 | - |
| predicted_SO | 0.752 | - |
Final model 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.370 | 0.170 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.390 | 3.290 |
| predicted_AVG | 0.305 | 0.030 |
| predicted_BB | 1.340 | 0.620 |
| predicted_H | 2.380 | 1.250 |
| predicted_HBP | 0.308 | - |
| predicted_HR | 0.622 | 0.332 |
| predicted_OBP | 0.425 | 0.023 |
| predicted_R | 1.446 | 0.714 |
| predicted_RBI | 1.530 | 0.720 |
| predicted_SLG | 0.625 | 0.031 |
| predicted_SO | 1.613 | 0.861 |
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.370 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.390 | 0.000 |
| predicted_AVG | 0.319 | 0.014 |
| predicted_BB | 1.332 | -0.008 |
| predicted_H | 2.361 | -0.019 |
| predicted_HBP | 0.308 | 0.000 |
| predicted_HR | 0.618 | -0.004 |
| predicted_OBP | 0.423 | -0.002 |
| predicted_R | 1.422 | -0.024 |
| predicted_RBI | 1.505 | -0.025 |
| predicted_SLG | 0.621 | -0.004 |
| predicted_SO | 1.623 | 0.010 |
AB rounded to 7 (raw=7.39), rates preserved: AVG=0.319 HR/AB=0.084
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.370 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.390 |
| predicted_AVG | 0.286 | -0.033 |
| predicted_BB | 1.000 | -0.332 |
| predicted_H | 2.000 | -0.361 |
| predicted_HR | 1.000 | 0.382 |
| predicted_OBP | 0.375 | -0.048 |
| predicted_R | 1.000 | -0.422 |
| predicted_RBI | 1.000 | -0.505 |
| predicted_SLG | 0.714 | 0.093 |
| predicted_SO | 2.000 | 0.377 |
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 | 1.000 | -6.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 2.000 | 2.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -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 | - | 20.000 | 8.000 | 1.000 | 0.000 | 1.000 | 5.000 | 4.000 | 3.000 | 6.000 | 0.4000 | 0.5000 | 0.6000 | 0.4000 | 0.0500 | 0.2500 | 0.1500 | 0.3000 |
| last_10 | 0.20 | 7 | - | 36.000 | 11.000 | 1.000 | 0.000 | 3.000 | 7.000 | 10.000 | 8.000 | 11.000 | 0.3056 | 0.4444 | 0.5833 | 0.3056 | 0.0833 | 0.1944 | 0.2222 | 0.3056 |
| season | 0.60 | 61 | - | 927.000 | 308.000 | 50.000 | 0.000 | 99.000 | 189.000 | 183.000 | 180.000 | 188.000 | 0.3323 | 0.4470 | 0.7066 | 0.3322 | 0.1068 | 0.2039 | 0.1942 | 0.2028 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5840 |
| predicted_3B | 0.0010 |
| predicted_AB | 11.5350 |
| predicted_AVG | 0.3428 |
| predicted_BB | 2.1210 |
| predicted_H | 3.9540 |
| predicted_HBP | 0.3080 |
| predicted_HR | 1.0410 |
| predicted_OBP | 0.4551 |
| predicted_R | 2.3450 |
| predicted_RBI | 2.4380 |
| predicted_SLG | 0.6644 |
| predicted_SO | 2.6980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.5840 | 0.3699 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1000 | 11.5350 | 7.3896 | model_form_blend |
| predicted_AVG | 0.2750 | 0.3428 | 0.3050 | model_form_blend |
| predicted_BB | 0.7200 | 2.1210 | 1.3399 | model_form_blend |
| predicted_H | 1.1300 | 3.9540 | 2.3795 | model_form_blend |
| predicted_HBP | - | 0.3080 | 0.3080 | form_only |
| predicted_HR | 0.2900 | 1.0410 | 0.6223 | model_form_blend |
| predicted_OBP | 0.4020 | 0.4551 | 0.4255 | model_form_blend |
| predicted_R | 0.7320 | 2.3450 | 1.4457 | model_form_blend |
| predicted_RBI | 0.8100 | 2.4380 | 1.5303 | model_form_blend |
| predicted_SLG | 0.5940 | 0.6644 | 0.6251 | model_form_blend |
| predicted_SO | 0.7520 | 2.6980 | 1.6130 | 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 | 250 |
| Season rows before report date | 250 |
| Report year | 2026 |
| Profile rows used | 250 |
| 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 | 1 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 2 |
| season_avg | 0.332 |
| 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.8 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 670541 |
| playerID | 670541 |
| playerName | Yordan Alvarez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| sl_k_percent | 17.6 |
| sl_bb_percent | 14.7 |
| sl_woba | 0.451 |
| sl_xwoba | 0.493 |
| sl_xba | 0.346 |
| sl_xslg | 0.744 |
| sl_sweet_spot_percent | 46.4 |
| sl_barrel_batted_rate | 19.2 |
| sl_hard_hit_percent | 54.2 |
| sl_exit_velocity_avg | 94.8 |
| sl_launch_angle_avg | 18.9 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 42.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.179 | 1.000 | 0.000 | Hitting_2B | 0.179 | 0.000 | 0.821 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.120 | 4.000 | 7.000 | Hitting_AB | 3.809 | 5.000 | 0.191 | -1.000 |
| predicted_AVG | 0.226 | 0.750 | 0.286 | Hitting_AVG | 0.274 | 0.200 | 0.476 | 0.550 |
| predicted_BB | 0.387 | 0.000 | 1.000 | Hitting_BB | 0.387 | 0.000 | -0.387 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.930 | 3.000 | 2.000 | Hitting_H | 1.043 | 1.000 | 1.957 | 2.000 |
| predicted_HR | 0.220 | 2.000 | 0.000 | Hitting_HR | 0.285 | 0.000 | 1.715 | 2.000 |
| predicted_OBP | 0.298 | 0.750 | 0.375 | Hitting_OBP | 0.348 | 0.200 | 0.402 | 0.550 |
| predicted_R | 0.655 | 1.000 | 1.000 | Hitting_R | 0.655 | 1.000 | 0.345 | 0.000 |
| predicted_RBI | 0.750 | 6.000 | 1.000 | Hitting_RBI | 0.791 | 1.000 | 5.209 | 5.000 |
| predicted_SLG | 0.442 | 2.500 | 0.286 | Hitting_SLG | 0.545 | 0.200 | 1.955 | 2.300 |
| predicted_SO | 0.787 | 1.000 | 2.000 | Hitting_SO | 0.787 | 2.000 | 0.213 | -1.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_RBI: 0.7500 -> 6.0000 (boost 5.2500, better) |
| Biggest Deboost | predicted_BB: 0.3870 -> 0.0000 (deboost -0.3870, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.1200 -> 7.4592 (boost 3.3392, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3024 -> 0.2932 (deboost -0.0092, 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_BB: 0.6155 -> 1.0000 (boost 0.3845, better) | predicted_AB: 7.4592 -> 7.0000 (deboost -0.4592, worse) | AB rounded to 7 (raw=7.46), rates preserved: AVG=0.235 HR/AB=0.060 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2372 -> 1.0000 (deboost -0.2372, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2932 -> 0.3750 (boost 0.0818, better) | predicted_SLG: 0.4529 -> 0.2860 (deboost -0.1669, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 4 | 3 | 5 | 2 | predicted_RBI: 1.0000 -> 6.0000 (boost 5.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4529 (boost 0.1669, better) | predicted_OBP: 0.3750 -> 0.2932 (deboost -0.0818, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "572233",
"player_name": "Christian Walker",
"position": "1B",
"team": "HOU",
"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": 4.12,
"predicted_AVG": 0.226,
"predicted_BB": 0.387,
"predicted_H": 0.93,
"predicted_HR": 0.22,
"predicted_OBP": 0.298,
"predicted_R": 0.655,
"predicted_RBI": 0.75,
"predicted_SLG": 0.442,
"predicted_SO": 0.787
},
"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.2753,
"predicted_3B": 0.0004,
"predicted_AB": 7.4592,
"predicted_AVG": 0.2329,
"predicted_BB": 0.6192,
"predicted_H": 1.7658,
"predicted_HBP": 0.251,
"predicted_HR": 0.4531,
"predicted_OBP": 0.3024,
"predicted_R": 1.2581,
"predicted_RBI": 1.4688,
"predicted_SLG": 0.4534,
"predicted_SO": 1.6987
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.2753,
"delta": 0.0963,
"percent_delta": 0.538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 7.4592,
"delta": 3.3392,
"percent_delta": 0.8105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2329,
"delta": 0.0069,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.6192,
"delta": 0.2322,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.7658,
"delta": 0.8358,
"percent_delta": 0.8987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4531,
"delta": 0.2331,
"percent_delta": 1.0595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3024,
"delta": 0.0044,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.655,
"after": 1.2581,
"delta": 0.6031,
"percent_delta": 0.9208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.75,
"after": 1.4688,
"delta": 0.7188,
"percent_delta": 0.9584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4534,
"delta": 0.0114,
"percent_delta": 0.0258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.787,
"after": 1.6987,
"delta": 0.9117,
"percent_delta": 1.1584,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 7.4592,
"delta": 3.3392,
"percent_delta": 0.8105,
"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": 6,
"season": 61
}
},
{
"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.2753,
"predicted_3B": 0.0004,
"predicted_AB": 7.4592,
"predicted_AVG": 0.2348,
"predicted_BB": 0.6155,
"predicted_H": 1.7517,
"predicted_HBP": 0.251,
"predicted_HR": 0.4502,
"predicted_OBP": 0.2932,
"predicted_R": 1.2372,
"predicted_RBI": 1.4444,
"predicted_SLG": 0.4529,
"predicted_SO": 1.7089
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2753,
"after": 0.2753,
"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": 7.4592,
"after": 7.4592,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2329,
"after": 0.2348,
"delta": 0.0019,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6192,
"after": 0.6155,
"delta": -0.0037,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7658,
"after": 1.7517,
"delta": -0.0141,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.251,
"after": 0.251,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4531,
"after": 0.4502,
"delta": -0.0029,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3024,
"after": 0.2932,
"delta": -0.0092,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2581,
"after": 1.2372,
"delta": -0.0209,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.4688,
"after": 1.4444,
"delta": -0.0244,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4534,
"after": 0.4529,
"delta": -0.0005,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.6987,
"after": 1.7089,
"delta": 0.0102,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3024,
"after": 0.2932,
"delta": -0.0092,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.46), rates preserved: AVG=0.235 HR/AB=0.060",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2753,
"after": 0.0,
"delta": -0.2753,
"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": 7.4592,
"after": 7.0,
"delta": -0.4592,
"percent_delta": -0.0616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6155,
"after": 1.0,
"delta": 0.3845,
"percent_delta": 0.6247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7517,
"after": 2.0,
"delta": 0.2483,
"percent_delta": 0.1417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.251,
"after": 0.0,
"delta": -0.251,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4502,
"after": 0.0,
"delta": -0.4502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4444,
"after": 1.0,
"delta": -0.4444,
"percent_delta": -0.3077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7089,
"after": 2.0,
"delta": 0.2911,
"percent_delta": 0.1703,
"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_BB",
"before": 0.6155,
"after": 1.0,
"delta": 0.3845,
"percent_delta": 0.6247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.4592,
"after": 7.0,
"delta": -0.4592,
"percent_delta": -0.0616,
"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": 7.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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": 1.2372,
"after": 1.0,
"delta": -0.2372,
"percent_delta": -0.1917,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.2372,
"after": 1.0,
"delta": -0.2372,
"percent_delta": -0.1917,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2348,
"after": 0.286,
"delta": 0.0512,
"percent_delta": 0.2181,
"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": 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.2932,
"after": 0.375,
"delta": 0.0818,
"percent_delta": 0.279,
"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.4529,
"after": 0.286,
"delta": -0.1669,
"percent_delta": -0.3685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2932,
"after": 0.375,
"delta": 0.0818,
"percent_delta": 0.279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4529,
"after": 0.286,
"delta": -0.1669,
"percent_delta": -0.3685,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 2.0,
"predicted_R": 1.0,
"predicted_RBI": 6.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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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": 6.0,
"delta": 5.0,
"percent_delta": 5.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 6.0,
"delta": 5.0,
"percent_delta": 5.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2348,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 2.0,
"predicted_OBP": 0.2932,
"predicted_R": 1.0,
"predicted_RBI": 6.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4529,
"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": 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.286,
"after": 0.2348,
"delta": -0.0512,
"percent_delta": -0.1789,
"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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2932,
"delta": -0.0818,
"percent_delta": -0.2182,
"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": 6.0,
"after": 6.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.286,
"after": 0.4529,
"delta": 0.1669,
"percent_delta": 0.5837,
"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.286,
"after": 0.4529,
"delta": 0.1669,
"percent_delta": 0.5837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2932,
"delta": -0.0818,
"percent_delta": -0.2182,
"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": 4.12,
"after": 4.0,
"delta": -0.12,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2348,
"delta": 0.0088,
"percent_delta": 0.0389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 3.0,
"delta": 2.07,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 2.0,
"delta": 1.78,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2932,
"delta": -0.0048,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.655,
"after": 1.0,
"delta": 0.345,
"percent_delta": 0.5267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.75,
"after": 6.0,
"delta": 5.25,
"percent_delta": 7.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4529,
"delta": 0.0109,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.787,
"after": 1.0,
"delta": 0.213,
"percent_delta": 0.2706,
"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_RBI",
"before": 0.75,
"after": 6.0,
"delta": 5.25,
"percent_delta": 7.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"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 | 4.120 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.387 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.655 | - |
| predicted_RBI | 0.750 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 0.787 | - |
Final model 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.275 | 0.096 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.459 | 3.339 |
| predicted_AVG | 0.233 | 0.007 |
| predicted_BB | 0.619 | 0.232 |
| predicted_H | 1.766 | 0.836 |
| predicted_HBP | 0.251 | - |
| predicted_HR | 0.453 | 0.233 |
| predicted_OBP | 0.302 | 0.004 |
| predicted_R | 1.258 | 0.603 |
| predicted_RBI | 1.469 | 0.719 |
| predicted_SLG | 0.453 | 0.011 |
| predicted_SO | 1.699 | 0.912 |
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.275 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.459 | 0.000 |
| predicted_AVG | 0.235 | 0.002 |
| predicted_BB | 0.616 | -0.004 |
| predicted_H | 1.752 | -0.014 |
| predicted_HBP | 0.251 | 0.000 |
| predicted_HR | 0.450 | -0.003 |
| predicted_OBP | 0.293 | -0.009 |
| predicted_R | 1.237 | -0.021 |
| predicted_RBI | 1.444 | -0.024 |
| predicted_SLG | 0.453 | -0.001 |
| predicted_SO | 1.709 | 0.010 |
AB rounded to 7 (raw=7.46), rates preserved: AVG=0.235 HR/AB=0.060
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 2.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.275 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.459 |
| predicted_AVG | 0.286 | 0.051 |
| predicted_BB | 1.000 | 0.384 |
| predicted_H | 2.000 | 0.248 |
| predicted_HR | 0.000 | -0.450 |
| predicted_OBP | 0.375 | 0.082 |
| predicted_R | 1.000 | -0.237 |
| predicted_RBI | 1.000 | -0.444 |
| predicted_SLG | 0.286 | -0.167 |
| predicted_SO | 2.000 | 0.291 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 2.000 | 2.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 6.000 | 5.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 4.000 | 0.000 | 0.000 | 1.000 | 5.000 | 4.000 | 0.000 | 8.000 | 0.1739 | 0.2083 | 0.3043 | 0.1739 | 0.0435 | 0.2174 | 0.0000 | 0.3478 |
| last_10 | 0.20 | 6 | - | 43.000 | 4.000 | 0.000 | 0.000 | 1.000 | 5.000 | 9.000 | 5.000 | 13.000 | 0.0930 | 0.2041 | 0.1628 | 0.0930 | 0.0233 | 0.1163 | 0.1163 | 0.3023 |
| season | 0.60 | 61 | - | 895.000 | 245.000 | 42.000 | 0.000 | 67.000 | 186.000 | 154.000 | 91.000 | 185.000 | 0.2737 | 0.3480 | 0.5453 | 0.2737 | 0.0749 | 0.2078 | 0.1017 | 0.2067 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3970 |
| predicted_3B | 0.0010 |
| predicted_AB | 11.6830 |
| predicted_AVG | 0.2416 |
| predicted_BB | 0.9130 |
| predicted_H | 2.8230 |
| predicted_HBP | 0.2510 |
| predicted_HR | 0.7480 |
| predicted_OBP | 0.3080 |
| predicted_R | 2.0210 |
| predicted_RBI | 2.3780 |
| predicted_SLG | 0.4679 |
| predicted_SO | 2.8520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.3970 | 0.2753 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1200 | 11.6830 | 7.4592 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2416 | 0.2329 | model_form_blend |
| predicted_BB | 0.3870 | 0.9130 | 0.6192 | model_form_blend |
| predicted_H | 0.9300 | 2.8230 | 1.7658 | model_form_blend |
| predicted_HBP | - | 0.2510 | 0.2510 | form_only |
| predicted_HR | 0.2200 | 0.7480 | 0.4531 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3080 | 0.3024 | model_form_blend |
| predicted_R | 0.6550 | 2.0210 | 1.2581 | model_form_blend |
| predicted_RBI | 0.7500 | 2.3780 | 1.4688 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4679 | 0.4534 | model_form_blend |
| predicted_SO | 0.7870 | 2.8520 | 1.6987 | 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 | 235 |
| Season rows before report date | 235 |
| Report year | 2026 |
| Profile rows used | 235 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 2 |
| R | 1 |
| RBI | 6 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.274 |
| 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 | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 572233 |
| playerID | 572233 |
| playerName | Christian Walker |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.353 |
| sl_xwoba | 0.328 |
| sl_xba | 0.243 |
| sl_xslg | 0.443 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 45.8 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 49.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.271 | 0.000 | 0.000 | Hitting_2B | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_3B | 0.083 | 0.000 | 0.000 | Hitting_3B | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_AB | 3.438 | 4.000 | 5.000 | Hitting_AB | 3.367 | 1.000 | 0.633 | 3.000 |
| predicted_AVG | 0.235 | 0.250 | 0.200 | Hitting_AVG | 0.333 | 0.000 | -0.083 | 0.250 |
| predicted_BB | 0.229 | 0.000 | 0.000 | Hitting_BB | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.310 | 1.000 | 1.000 | Hitting_H | 1.122 | 0.000 | -0.122 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.280 | 0.250 | 0.200 | Hitting_OBP | 0.382 | 0.000 | -0.132 | 0.250 |
| predicted_R | 0.542 | 1.000 | 1.000 | Hitting_R | 0.531 | 0.000 | 0.469 | 1.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.490 | 0.000 | -0.490 | 0.000 |
| predicted_SLG | 0.358 | 0.250 | 0.200 | Hitting_SLG | 0.461 | 0.000 | -0.211 | 0.250 |
| predicted_SO | 1.208 | 2.000 | 2.000 | Hitting_SO | 1.184 | 1.000 | 0.816 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.2080 -> 2.0000 (boost 0.7920, worse) |
| Biggest Deboost | predicted_2B: 0.2710 -> 0.0000 (deboost -0.2710, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.4380 -> 5.0041 (boost 1.5661, 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.2952 -> 0.2387 (deboost -0.0565, 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: 1.8504 -> 2.0000 (boost 0.1496, worse) | predicted_RBI: 0.4612 -> 0.0000 (deboost -0.4612, worse) | AB rounded to 5 (raw=5.00), rates preserved: AVG=0.196 HR/AB=0.006 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7094 -> 1.0000 (boost 0.2906, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3220 -> 0.2000 (deboost -0.1220, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2000 -> 0.3220 (boost 0.1220, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666211",
"player_name": "Taylor Trammell",
"position": "LF",
"team": "HOU",
"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.271,
"predicted_3B": 0.083,
"predicted_AB": 3.438,
"predicted_AVG": 0.235,
"predicted_BB": 0.229,
"predicted_H": 0.31,
"predicted_HR": 0.03,
"predicted_OBP": 0.28,
"predicted_R": 0.542,
"predicted_RBI": 0.16,
"predicted_SLG": 0.358,
"predicted_SO": 1.208
},
"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.3501,
"predicted_3B": 0.0928,
"predicted_AB": 5.0041,
"predicted_AVG": 0.2496,
"predicted_BB": 0.2844,
"predicted_H": 0.9871,
"predicted_HBP": 0.134,
"predicted_HR": 0.0324,
"predicted_OBP": 0.2952,
"predicted_R": 0.7214,
"predicted_RBI": 0.469,
"predicted_SLG": 0.3664,
"predicted_SO": 1.8394
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.271,
"after": 0.3501,
"delta": 0.0791,
"percent_delta": 0.2919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.083,
"after": 0.0928,
"delta": 0.0098,
"percent_delta": 0.1181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.438,
"after": 5.0041,
"delta": 1.5661,
"percent_delta": 0.4555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2496,
"delta": 0.0146,
"percent_delta": 0.0621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.229,
"after": 0.2844,
"delta": 0.0554,
"percent_delta": 0.2419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.9871,
"delta": 0.6771,
"percent_delta": 2.1842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0324,
"delta": 0.0024,
"percent_delta": 0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2952,
"delta": 0.0152,
"percent_delta": 0.0543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 0.7214,
"delta": 0.1794,
"percent_delta": 0.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.469,
"delta": 0.309,
"percent_delta": 1.9312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3664,
"delta": 0.0084,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.208,
"after": 1.8394,
"delta": 0.6314,
"percent_delta": 0.5227,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.438,
"after": 5.0041,
"delta": 1.5661,
"percent_delta": 0.4555,
"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": 17
}
},
{
"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.3501,
"predicted_3B": 0.0928,
"predicted_AB": 5.0041,
"predicted_AVG": 0.1957,
"predicted_BB": 0.2827,
"predicted_H": 0.9792,
"predicted_HBP": 0.134,
"predicted_HR": 0.0322,
"predicted_OBP": 0.2387,
"predicted_R": 0.7094,
"predicted_RBI": 0.4612,
"predicted_SLG": 0.322,
"predicted_SO": 1.8504
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3501,
"after": 0.3501,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0928,
"after": 0.0928,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0041,
"after": 5.0041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2496,
"after": 0.1957,
"delta": -0.0539,
"percent_delta": -0.2159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2844,
"after": 0.2827,
"delta": -0.0017,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9871,
"after": 0.9792,
"delta": -0.0079,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0324,
"after": 0.0322,
"delta": -0.0002,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2952,
"after": 0.2387,
"delta": -0.0565,
"percent_delta": -0.1914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7214,
"after": 0.7094,
"delta": -0.012,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.469,
"after": 0.4612,
"delta": -0.0078,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3664,
"after": 0.322,
"delta": -0.0444,
"percent_delta": -0.1212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8394,
"after": 1.8504,
"delta": 0.011,
"percent_delta": 0.006,
"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.2952,
"after": 0.2387,
"delta": -0.0565,
"percent_delta": -0.1914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.00), rates preserved: AVG=0.196 HR/AB=0.006",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3501,
"after": 0.0,
"delta": -0.3501,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0928,
"after": 0.0,
"delta": -0.0928,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.0041,
"after": 5.0,
"delta": -0.0041,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2827,
"after": 0.0,
"delta": -0.2827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9792,
"after": 1.0,
"delta": 0.0208,
"percent_delta": 0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0322,
"after": 0.0,
"delta": -0.0322,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4612,
"after": 0.0,
"delta": -0.4612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8504,
"after": 2.0,
"delta": 0.1496,
"percent_delta": 0.0808,
"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": 1.8504,
"after": 2.0,
"delta": 0.1496,
"percent_delta": 0.0808,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4612,
"after": 0.0,
"delta": -0.4612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 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.7094,
"after": 1.0,
"delta": 0.2906,
"percent_delta": 0.4096,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7094,
"after": 1.0,
"delta": 0.2906,
"percent_delta": 0.4096,
"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": 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": 0.0,
"predicted_SLG": 0.2,
"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.1957,
"after": 0.2,
"delta": 0.0043,
"percent_delta": 0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2387,
"after": 0.2,
"delta": -0.0387,
"percent_delta": -0.1621,
"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.322,
"after": 0.2,
"delta": -0.122,
"percent_delta": -0.3789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.2,
"delta": -0.122,
"percent_delta": -0.3789,
"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": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1957,
"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.2387,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.322,
"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.2,
"after": 0.1957,
"delta": -0.0043,
"percent_delta": -0.0216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2387,
"delta": 0.0387,
"percent_delta": 0.1934,
"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.2,
"after": 0.322,
"delta": 0.122,
"percent_delta": 0.6102,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.322,
"delta": 0.122,
"percent_delta": 0.6102,
"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.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.438,
"after": 4.0,
"delta": 0.562,
"percent_delta": 0.1635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.1957,
"delta": -0.0393,
"percent_delta": -0.1672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.229,
"after": 0.0,
"delta": -0.229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2387,
"delta": -0.0413,
"percent_delta": -0.1475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 1.0,
"delta": 0.458,
"percent_delta": 0.845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.322,
"delta": -0.036,
"percent_delta": -0.1006,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.208,
"after": 2.0,
"delta": 0.792,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.208,
"after": 2.0,
"delta": 0.792,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"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.271 | - |
| predicted_3B | 0.083 | - |
| predicted_AB | 3.438 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.229 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.542 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.358 | - |
| predicted_SO | 1.208 | - |
Final model 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.350 | 0.079 |
| predicted_3B | 0.093 | 0.010 |
| predicted_AB | 5.004 | 1.566 |
| predicted_AVG | 0.250 | 0.015 |
| predicted_BB | 0.284 | 0.055 |
| predicted_H | 0.987 | 0.677 |
| predicted_HBP | 0.134 | - |
| predicted_HR | 0.032 | 0.002 |
| predicted_OBP | 0.295 | 0.015 |
| predicted_R | 0.721 | 0.179 |
| predicted_RBI | 0.469 | 0.309 |
| predicted_SLG | 0.366 | 0.008 |
| predicted_SO | 1.839 | 0.631 |
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.350 | 0.000 |
| predicted_3B | 0.093 | 0.000 |
| predicted_AB | 5.004 | 0.000 |
| predicted_AVG | 0.196 | -0.054 |
| predicted_BB | 0.283 | -0.002 |
| predicted_H | 0.979 | -0.008 |
| predicted_HBP | 0.134 | 0.000 |
| predicted_HR | 0.032 | -0.000 |
| predicted_OBP | 0.239 | -0.057 |
| predicted_R | 0.709 | -0.012 |
| predicted_RBI | 0.461 | -0.008 |
| predicted_SLG | 0.322 | -0.044 |
| predicted_SO | 1.850 | 0.011 |
AB rounded to 5 (raw=5.00), rates preserved: AVG=0.196 HR/AB=0.006
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.350 |
| predicted_3B | 0.000 | -0.093 |
| predicted_AB | 5.000 | -0.004 |
| predicted_AVG | 0.200 | 0.004 |
| predicted_BB | 0.000 | -0.283 |
| predicted_H | 1.000 | 0.021 |
| predicted_HR | 0.000 | -0.032 |
| predicted_OBP | 0.200 | -0.039 |
| predicted_R | 1.000 | 0.291 |
| predicted_RBI | 0.000 | -0.461 |
| predicted_SLG | 0.200 | -0.122 |
| predicted_SO | 2.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 | 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 | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 9.000 | 0.1176 | 0.1667 | 0.1176 | 0.1177 | 0.0000 | 0.0588 | 0.0000 | 0.5294 |
| last_10 | 0.20 | 7 | - | 36.000 | 8.000 | 5.000 | 0.000 | 0.000 | 5.000 | 6.000 | 0.000 | 18.000 | 0.2222 | 0.2432 | 0.3611 | 0.2222 | 0.0000 | 0.1389 | 0.0000 | 0.5000 |
| season | 0.60 | 17 | - | 165.000 | 55.000 | 13.000 | 4.000 | 0.000 | 24.000 | 26.000 | 11.000 | 58.000 | 0.3333 | 0.3785 | 0.4606 | 0.3333 | 0.0000 | 0.1454 | 0.0667 | 0.3515 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4650 |
| predicted_3B | 0.1070 |
| predicted_AB | 7.2800 |
| predicted_AVG | 0.2707 |
| predicted_BB | 0.3650 |
| predicted_H | 1.9710 |
| predicted_HBP | 0.1340 |
| predicted_HR | 0.0360 |
| predicted_OBP | 0.3174 |
| predicted_R | 0.9820 |
| predicted_RBI | 0.9180 |
| predicted_SLG | 0.3786 |
| predicted_SO | 2.7570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2710 | 0.4650 | 0.3501 | model_form_blend |
| predicted_3B | 0.0830 | 0.1070 | 0.0928 | model_form_blend |
| predicted_AB | 3.4380 | 7.2800 | 5.0041 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2707 | 0.2496 | model_form_blend |
| predicted_BB | 0.2290 | 0.3650 | 0.2844 | model_form_blend |
| predicted_H | 0.3100 | 1.9710 | 0.9871 | model_form_blend |
| predicted_HBP | - | 0.1340 | 0.1340 | form_only |
| predicted_HR | 0.0300 | 0.0360 | 0.0324 | model_form_blend |
| predicted_OBP | 0.2800 | 0.3174 | 0.2952 | model_form_blend |
| predicted_R | 0.5420 | 0.9820 | 0.7214 | model_form_blend |
| predicted_RBI | 0.1600 | 0.9180 | 0.4690 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3786 | 0.3664 | model_form_blend |
| predicted_SO | 1.2080 | 2.7570 | 1.8394 | 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 | 49 |
| Season rows before report date | 49 |
| Report year | 2026 |
| Profile rows used | 48 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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-LF |
| gameID | 20260603_PIT@HOU |
| game_type | ph |
| mlbID | 666211 |
| note | Struck out for Dezenzo in the 6th. |
| playerID | 666211 |
| playerName | Taylor Trammell |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| sl_k_percent | 35.5 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.324 |
| sl_xwoba | 0.243 |
| sl_xba | 0.198 |
| sl_xslg | 0.268 |
| sl_sweet_spot_percent | 25.7 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 31.4 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 7.5 |
| sl_whiff_percent | 37.3 |
| sl_swing_percent | 46.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.157 | 0.000 | 0.000 | Hitting_2B | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.800 | 4.000 | 6.000 | Hitting_AB | 3.595 | 4.000 | 0.405 | 0.000 |
| predicted_AVG | 0.246 | 0.000 | 0.167 | Hitting_AVG | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_BB | 0.314 | 0.000 | 0.000 | Hitting_BB | 0.297 | 1.000 | -0.297 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_H | 0.750 | 0.000 | 1.000 | Hitting_H | 0.797 | 0.000 | -0.797 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.167 | Hitting_OBP | 0.292 | 0.200 | -0.292 | -0.200 |
| predicted_R | 0.514 | 0.000 | 1.000 | Hitting_R | 0.486 | 0.000 | -0.486 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 1.000 | Hitting_RBI | 0.338 | 0.000 | -0.338 | 0.000 |
| predicted_SLG | 0.379 | 0.000 | 0.167 | Hitting_SLG | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_SO | 0.786 | 2.000 | 1.000 | Hitting_SO | 0.743 | 2.000 | 1.257 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.7860 -> 2.0000 (boost 1.2140, worse) |
| Biggest Deboost | predicted_H: 0.7500 -> 0.0000 (deboost -0.7500, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.8000 -> 6.0034 (boost 2.2034, 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.3756 -> 0.3463 (deboost -0.0293, 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_RBI: 0.5627 -> 1.0000 (boost 0.4373, better) | predicted_BB: 0.4909 -> 0.0000 (deboost -0.4909, worse) | AB rounded to 6 (raw=6.00), rates preserved: AVG=0.223 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7506 -> 1.0000 (boost 0.2494, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3463 -> 0.1670 (deboost -0.1793, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3463 (boost 0.1793, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676694",
"player_name": "Jake Meyers",
"position": "CF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0,
"predicted_AB": 3.8,
"predicted_AVG": 0.246,
"predicted_BB": 0.314,
"predicted_H": 0.75,
"predicted_HR": 0.09,
"predicted_OBP": 0.301,
"predicted_R": 0.514,
"predicted_RBI": 0.35,
"predicted_SLG": 0.379,
"predicted_SO": 0.786
},
"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.3077,
"predicted_3B": 0.0013,
"predicted_AB": 6.0034,
"predicted_AVG": 0.2439,
"predicted_BB": 0.4939,
"predicted_H": 1.351,
"predicted_HBP": 0.133,
"predicted_HR": 0.1438,
"predicted_OBP": 0.3032,
"predicted_R": 0.7633,
"predicted_RBI": 0.5722,
"predicted_SLG": 0.3756,
"predicted_SO": 1.2215
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.3077,
"delta": 0.1507,
"percent_delta": 0.9599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 6.0034,
"delta": 2.2034,
"percent_delta": 0.5798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2439,
"delta": -0.0021,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.314,
"after": 0.4939,
"delta": 0.1799,
"percent_delta": 0.5729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.351,
"delta": 0.601,
"percent_delta": 0.8013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1438,
"delta": 0.0538,
"percent_delta": 0.5978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3032,
"delta": 0.0022,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.7633,
"delta": 0.2493,
"percent_delta": 0.485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.5722,
"delta": 0.2222,
"percent_delta": 0.6349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3756,
"delta": -0.0034,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.786,
"after": 1.2215,
"delta": 0.4355,
"percent_delta": 0.5541,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.8,
"after": 6.0034,
"delta": 2.2034,
"percent_delta": 0.5798,
"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": 22
}
},
{
"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.3077,
"predicted_3B": 0.0013,
"predicted_AB": 6.0034,
"predicted_AVG": 0.2232,
"predicted_BB": 0.4909,
"predicted_H": 1.3402,
"predicted_HBP": 0.133,
"predicted_HR": 0.1429,
"predicted_OBP": 0.282,
"predicted_R": 0.7506,
"predicted_RBI": 0.5627,
"predicted_SLG": 0.3463,
"predicted_SO": 1.2288
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3077,
"after": 0.3077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0034,
"after": 6.0034,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2439,
"after": 0.2232,
"delta": -0.0207,
"percent_delta": -0.0849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4939,
"after": 0.4909,
"delta": -0.003,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.351,
"after": 1.3402,
"delta": -0.0108,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.133,
"after": 0.133,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1438,
"after": 0.1429,
"delta": -0.0009,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3032,
"after": 0.282,
"delta": -0.0212,
"percent_delta": -0.0699,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7633,
"after": 0.7506,
"delta": -0.0127,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5722,
"after": 0.5627,
"delta": -0.0095,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3756,
"after": 0.3463,
"delta": -0.0293,
"percent_delta": -0.078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2215,
"after": 1.2288,
"delta": 0.0073,
"percent_delta": 0.006,
"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.3756,
"after": 0.3463,
"delta": -0.0293,
"percent_delta": -0.078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.00), rates preserved: AVG=0.223 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3077,
"after": 0.0,
"delta": -0.3077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0034,
"after": 6.0,
"delta": -0.0034,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4909,
"after": 0.0,
"delta": -0.4909,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3402,
"after": 1.0,
"delta": -0.3402,
"percent_delta": -0.2538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1429,
"after": 0.0,
"delta": -0.1429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5627,
"after": 1.0,
"delta": 0.4373,
"percent_delta": 0.7771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2288,
"after": 1.0,
"delta": -0.2288,
"percent_delta": -0.1862,
"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_RBI",
"before": 0.5627,
"after": 1.0,
"delta": 0.4373,
"percent_delta": 0.7771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4909,
"after": 0.0,
"delta": -0.4909,
"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": 6.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7506,
"after": 1.0,
"delta": 0.2494,
"percent_delta": 0.3323,
"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.7506,
"after": 1.0,
"delta": 0.2494,
"percent_delta": 0.3323,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.2232,
"after": 0.167,
"delta": -0.0562,
"percent_delta": -0.2518,
"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.282,
"after": 0.167,
"delta": -0.115,
"percent_delta": -0.4078,
"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.3463,
"after": 0.167,
"delta": -0.1793,
"percent_delta": -0.5178,
"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.3463,
"after": 0.167,
"delta": -0.1793,
"percent_delta": -0.5178,
"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": 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": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 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.2232,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.282,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3463,
"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.167,
"after": 0.2232,
"delta": 0.0562,
"percent_delta": 0.3368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.282,
"delta": 0.115,
"percent_delta": 0.6884,
"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.167,
"after": 0.3463,
"delta": 0.1793,
"percent_delta": 1.0738,
"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.167,
"after": 0.3463,
"delta": 0.1793,
"percent_delta": 1.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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.246,
"after": 0.2232,
"delta": -0.0228,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.314,
"after": 0.0,
"delta": -0.314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.282,
"delta": -0.019,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3463,
"delta": -0.0327,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.786,
"after": 2.0,
"delta": 1.214,
"percent_delta": 1.5445,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.786,
"after": 2.0,
"delta": 1.214,
"percent_delta": 1.5445,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"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.157 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.800 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.314 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 0.786 | - |
Final model 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.151 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.003 | 2.203 |
| predicted_AVG | 0.244 | -0.002 |
| predicted_BB | 0.494 | 0.180 |
| predicted_H | 1.351 | 0.601 |
| predicted_HBP | 0.133 | - |
| predicted_HR | 0.144 | 0.054 |
| predicted_OBP | 0.303 | 0.002 |
| predicted_R | 0.763 | 0.249 |
| predicted_RBI | 0.572 | 0.222 |
| predicted_SLG | 0.376 | -0.003 |
| predicted_SO | 1.222 | 0.435 |
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.001 | 0.000 |
| predicted_AB | 6.003 | 0.000 |
| predicted_AVG | 0.223 | -0.021 |
| predicted_BB | 0.491 | -0.003 |
| predicted_H | 1.340 | -0.011 |
| predicted_HBP | 0.133 | 0.000 |
| predicted_HR | 0.143 | -0.001 |
| predicted_OBP | 0.282 | -0.021 |
| predicted_R | 0.751 | -0.013 |
| predicted_RBI | 0.563 | -0.010 |
| predicted_SLG | 0.346 | -0.029 |
| predicted_SO | 1.229 | 0.007 |
AB rounded to 6 (raw=6.00), rates preserved: AVG=0.223 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.001 |
| predicted_AB | 6.000 | -0.003 |
| predicted_AVG | 0.167 | -0.056 |
| predicted_BB | 0.000 | -0.491 |
| predicted_H | 1.000 | -0.340 |
| predicted_HR | 0.000 | -0.143 |
| predicted_OBP | 0.167 | -0.115 |
| predicted_R | 1.000 | 0.249 |
| predicted_RBI | 1.000 | 0.437 |
| predicted_SLG | 0.167 | -0.179 |
| predicted_SO | 1.000 | -0.229 |
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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 6.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 3.000 | 0.3158 | 0.3500 | 0.4211 | 0.3158 | 0.0000 | 0.1053 | 0.0526 | 0.1579 |
| last_10 | 0.20 | 7 | - | 32.000 | 6.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 5.000 | 8.000 | 0.1875 | 0.2973 | 0.2500 | 0.1875 | 0.0000 | 0.0625 | 0.1562 | 0.2500 |
| season | 0.60 | 22 | - | 266.000 | 59.000 | 11.000 | 0.000 | 9.000 | 25.000 | 36.000 | 22.000 | 55.000 | 0.2218 | 0.2919 | 0.3647 | 0.2218 | 0.0338 | 0.0940 | 0.0827 | 0.2068 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5130 |
| predicted_3B | 0.0030 |
| predicted_AB | 9.0060 |
| predicted_AVG | 0.2410 |
| predicted_BB | 0.7390 |
| predicted_H | 2.1700 |
| predicted_HBP | 0.1330 |
| predicted_HR | 0.2170 |
| predicted_OBP | 0.3063 |
| predicted_R | 1.1030 |
| predicted_RBI | 0.8750 |
| predicted_SLG | 0.3709 |
| predicted_SO | 1.8150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.5130 | 0.3077 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.8000 | 9.0060 | 6.0034 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2410 | 0.2439 | model_form_blend |
| predicted_BB | 0.3140 | 0.7390 | 0.4939 | model_form_blend |
| predicted_H | 0.7500 | 2.1700 | 1.3510 | model_form_blend |
| predicted_HBP | - | 0.1330 | 0.1330 | form_only |
| predicted_HR | 0.0900 | 0.2170 | 0.1438 | model_form_blend |
| predicted_OBP | 0.3010 | 0.3063 | 0.3032 | model_form_blend |
| predicted_R | 0.5140 | 1.1030 | 0.7633 | model_form_blend |
| predicted_RBI | 0.3500 | 0.8750 | 0.5722 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3709 | 0.3756 | model_form_blend |
| predicted_SO | 0.7860 | 1.8150 | 1.2215 | 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 | 74 |
| Season rows before report date | 74 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.222 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | CF |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 676694 |
| playerID | 676694 |
| playerName | Jake Meyers |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.284 |
| sl_xwoba | 0.282 |
| sl_xba | 0.221 |
| sl_xslg | 0.362 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 31.7 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 54.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.147 | 0.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_3B | 0.005 | 0.000 | 0.000 | Hitting_3B | 0.005 | 1.000 | -0.005 | -1.000 |
| predicted_AB | 3.500 | 3.000 | 6.000 | Hitting_AB | 3.484 | 5.000 | -0.484 | -2.000 |
| predicted_AVG | 0.241 | 0.000 | 0.167 | Hitting_AVG | 0.220 | 0.400 | -0.220 | -0.400 |
| predicted_BB | 0.413 | 1.000 | 1.000 | Hitting_BB | 0.411 | 0.000 | 0.589 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 0.810 | 0.000 | 1.000 | Hitting_H | 0.767 | 2.000 | -0.767 | -2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_OBP | 0.328 | 0.250 | 0.286 | Hitting_OBP | 0.314 | 0.400 | -0.064 | -0.150 |
| predicted_R | 0.459 | 1.000 | 1.000 | Hitting_R | 0.457 | 0.000 | 0.543 | 1.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.416 | 3.000 | -0.416 | -3.000 |
| predicted_SLG | 0.428 | 0.000 | 0.167 | Hitting_SLG | 0.343 | 0.800 | -0.343 | -0.800 |
| predicted_SO | 1.087 | 1.000 | 2.000 | Hitting_SO | 1.082 | 1.000 | -0.082 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4130 -> 1.0000 (boost 0.5870, better) |
| Biggest Deboost | predicted_H: 0.8100 -> 0.0000 (deboost -0.8100, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.5000 -> 6.2044 (boost 2.7044, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4236 -> 0.4059 (deboost -0.0177, 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_BB: 0.7528 -> 1.0000 (boost 0.2472, better) | predicted_H: 1.4797 -> 1.0000 (deboost -0.4797, worse) | AB rounded to 6 (raw=6.20), rates preserved: AVG=0.238 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7523 -> 1.0000 (boost 0.2477, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4059 -> 0.1670 (deboost -0.2389, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.4059 (boost 0.2389, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701358",
"player_name": "Cam Smith",
"position": "RF",
"team": "HOU",
"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.147,
"predicted_3B": 0.005,
"predicted_AB": 3.5,
"predicted_AVG": 0.241,
"predicted_BB": 0.413,
"predicted_H": 0.81,
"predicted_HR": 0.13,
"predicted_OBP": 0.328,
"predicted_R": 0.459,
"predicted_RBI": 0.51,
"predicted_SLG": 0.428,
"predicted_SO": 1.087
},
"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.2681,
"predicted_3B": 0.0688,
"predicted_AB": 6.2044,
"predicted_AVG": 0.2426,
"predicted_BB": 0.7573,
"predicted_H": 1.4916,
"predicted_HBP": 0.145,
"predicted_HR": 0.2123,
"predicted_OBP": 0.3311,
"predicted_R": 0.765,
"predicted_RBI": 0.9851,
"predicted_SLG": 0.4236,
"predicted_SO": 1.7752
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.2681,
"delta": 0.1211,
"percent_delta": 0.8238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.005,
"after": 0.0688,
"delta": 0.0638,
"percent_delta": 12.76,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 6.2044,
"delta": 2.7044,
"percent_delta": 0.7727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2426,
"delta": 0.0016,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.413,
"after": 0.7573,
"delta": 0.3443,
"percent_delta": 0.8337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 1.4916,
"delta": 0.6816,
"percent_delta": 0.8415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2123,
"delta": 0.0823,
"percent_delta": 0.6331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3311,
"delta": 0.0031,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.765,
"delta": 0.306,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.9851,
"delta": 0.4751,
"percent_delta": 0.9316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4236,
"delta": -0.0044,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.087,
"after": 1.7752,
"delta": 0.6882,
"percent_delta": 0.6331,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 6.2044,
"delta": 2.7044,
"percent_delta": 0.7727,
"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": 61
}
},
{
"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.2681,
"predicted_3B": 0.0688,
"predicted_AB": 6.2044,
"predicted_AVG": 0.2385,
"predicted_BB": 0.7528,
"predicted_H": 1.4797,
"predicted_HBP": 0.145,
"predicted_HR": 0.211,
"predicted_OBP": 0.3209,
"predicted_R": 0.7523,
"predicted_RBI": 0.9687,
"predicted_SLG": 0.4059,
"predicted_SO": 1.7859
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2681,
"after": 0.2681,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0688,
"after": 0.0688,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.2044,
"after": 6.2044,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2426,
"after": 0.2385,
"delta": -0.0041,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7573,
"after": 0.7528,
"delta": -0.0045,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4916,
"after": 1.4797,
"delta": -0.0119,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.145,
"after": 0.145,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2123,
"after": 0.211,
"delta": -0.0013,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3311,
"after": 0.3209,
"delta": -0.0102,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.765,
"after": 0.7523,
"delta": -0.0127,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9851,
"after": 0.9687,
"delta": -0.0164,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4236,
"after": 0.4059,
"delta": -0.0177,
"percent_delta": -0.0418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7752,
"after": 1.7859,
"delta": 0.0107,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4236,
"after": 0.4059,
"delta": -0.0177,
"percent_delta": -0.0418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.20), rates preserved: AVG=0.238 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2681,
"after": 0.0,
"delta": -0.2681,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0688,
"after": 0.0,
"delta": -0.0688,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.2044,
"after": 6.0,
"delta": -0.2044,
"percent_delta": -0.0329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7528,
"after": 1.0,
"delta": 0.2472,
"percent_delta": 0.3284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4797,
"after": 1.0,
"delta": -0.4797,
"percent_delta": -0.3242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9687,
"after": 1.0,
"delta": 0.0313,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.7859,
"after": 2.0,
"delta": 0.2141,
"percent_delta": 0.1199,
"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_BB",
"before": 0.7528,
"after": 1.0,
"delta": 0.2472,
"percent_delta": 0.3284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4797,
"after": 1.0,
"delta": -0.4797,
"percent_delta": -0.3242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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.7523,
"after": 1.0,
"delta": 0.2477,
"percent_delta": 0.3293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7523,
"after": 1.0,
"delta": 0.2477,
"percent_delta": 0.3293,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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": 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.2385,
"after": 0.167,
"delta": -0.0715,
"percent_delta": -0.2998,
"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.3209,
"after": 0.286,
"delta": -0.0349,
"percent_delta": -0.1088,
"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.4059,
"after": 0.167,
"delta": -0.2389,
"percent_delta": -0.5886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4059,
"after": 0.167,
"delta": -0.2389,
"percent_delta": -0.5886,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"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.2385,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3209,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4059,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2385,
"delta": 0.0715,
"percent_delta": 0.4281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3209,
"delta": 0.0349,
"percent_delta": 0.122,
"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.167,
"after": 0.4059,
"delta": 0.2389,
"percent_delta": 1.4304,
"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.167,
"after": 0.4059,
"delta": 0.2389,
"percent_delta": 1.4304,
"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.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 3.0,
"delta": -0.5,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2385,
"delta": -0.0025,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.413,
"after": 1.0,
"delta": 0.587,
"percent_delta": 1.4213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3209,
"delta": -0.0071,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 1.0,
"delta": 0.541,
"percent_delta": 1.1786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4059,
"delta": -0.0221,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.087,
"after": 1.0,
"delta": -0.087,
"percent_delta": -0.08,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.413,
"after": 1.0,
"delta": 0.587,
"percent_delta": 1.4213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | - |
| predicted_3B | 0.005 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.413 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.459 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.428 | - |
| predicted_SO | 1.087 | - |
Final model 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.268 | 0.121 |
| predicted_3B | 0.069 | 0.064 |
| predicted_AB | 6.204 | 2.704 |
| predicted_AVG | 0.243 | 0.002 |
| predicted_BB | 0.757 | 0.344 |
| predicted_H | 1.492 | 0.682 |
| predicted_HBP | 0.145 | - |
| predicted_HR | 0.212 | 0.082 |
| predicted_OBP | 0.331 | 0.003 |
| predicted_R | 0.765 | 0.306 |
| predicted_RBI | 0.985 | 0.475 |
| predicted_SLG | 0.424 | -0.004 |
| predicted_SO | 1.775 | 0.688 |
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.268 | 0.000 |
| predicted_3B | 0.069 | 0.000 |
| predicted_AB | 6.204 | 0.000 |
| predicted_AVG | 0.238 | -0.004 |
| predicted_BB | 0.753 | -0.004 |
| predicted_H | 1.480 | -0.012 |
| predicted_HBP | 0.145 | 0.000 |
| predicted_HR | 0.211 | -0.001 |
| predicted_OBP | 0.321 | -0.010 |
| predicted_R | 0.752 | -0.013 |
| predicted_RBI | 0.969 | -0.016 |
| predicted_SLG | 0.406 | -0.018 |
| predicted_SO | 1.786 | 0.011 |
AB rounded to 6 (raw=6.20), rates preserved: AVG=0.238 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.268 |
| predicted_3B | 0.000 | -0.069 |
| predicted_AB | 6.000 | -0.204 |
| predicted_AVG | 0.167 | -0.071 |
| predicted_BB | 1.000 | 0.247 |
| predicted_H | 1.000 | -0.480 |
| predicted_HR | 0.000 | -0.211 |
| predicted_OBP | 0.286 | -0.035 |
| predicted_R | 1.000 | 0.248 |
| predicted_RBI | 1.000 | 0.031 |
| predicted_SLG | 0.167 | -0.239 |
| predicted_SO | 2.000 | 0.214 |
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 | -3.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 1.000 | 1.000 | 5.000 | 2.000 | 3.000 | 4.000 | 0.2778 | 0.3810 | 0.6111 | 0.2778 | 0.0556 | 0.2778 | 0.1667 | 0.2222 |
| last_10 | 0.20 | 7 | - | 38.000 | 13.000 | 1.000 | 1.000 | 1.000 | 9.000 | 2.000 | 3.000 | 6.000 | 0.3421 | 0.3902 | 0.5000 | 0.3421 | 0.0263 | 0.2368 | 0.0790 | 0.1579 |
| season | 0.60 | 61 | - | 763.000 | 168.000 | 32.000 | 1.000 | 20.000 | 91.000 | 100.000 | 90.000 | 237.000 | 0.2202 | 0.3136 | 0.3434 | 0.2202 | 0.0262 | 0.1193 | 0.1180 | 0.3106 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4220 |
| predicted_3B | 0.1500 |
| predicted_AB | 9.6420 |
| predicted_AVG | 0.2446 |
| predicted_BB | 1.1950 |
| predicted_H | 2.3580 |
| predicted_HBP | 0.1450 |
| predicted_HR | 0.3170 |
| predicted_OBP | 0.3351 |
| predicted_R | 1.1540 |
| predicted_RBI | 1.5890 |
| predicted_SLG | 0.4181 |
| predicted_SO | 2.6500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.4220 | 0.2681 | model_form_blend |
| predicted_3B | 0.0050 | 0.1500 | 0.0688 | model_form_blend |
| predicted_AB | 3.5000 | 9.6420 | 6.2044 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2446 | 0.2426 | model_form_blend |
| predicted_BB | 0.4130 | 1.1950 | 0.7573 | model_form_blend |
| predicted_H | 0.8100 | 2.3580 | 1.4916 | model_form_blend |
| predicted_HBP | - | 0.1450 | 0.1450 | form_only |
| predicted_HR | 0.1300 | 0.3170 | 0.2123 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3351 | 0.3311 | model_form_blend |
| predicted_R | 0.4590 | 1.1540 | 0.7650 | model_form_blend |
| predicted_RBI | 0.5100 | 1.5890 | 0.9851 | model_form_blend |
| predicted_SLG | 0.4280 | 0.4181 | 0.4236 | model_form_blend |
| predicted_SO | 1.0870 | 2.6500 | 1.7752 | 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 | 219 |
| Season rows before report date | 219 |
| Report year | 2026 |
| Profile rows used | 218 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.22 |
| 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 | 1 |
| 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 | 0 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| 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 | RF |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 701358 |
| playerID | 701358 |
| playerName | Cam Smith |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.303 |
| sl_xwoba | 0.344 |
| sl_xba | 0.248 |
| sl_xslg | 0.454 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 43.8 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 11.0 |
| sl_whiff_percent | 31.2 |
| sl_swing_percent | 45.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.097 | 0.000 | 0.000 | Hitting_2B | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.503 | 4.000 | 6.000 | Hitting_AB | 3.437 | 2.000 | 0.563 | 2.000 |
| predicted_AVG | 0.231 | 0.500 | 0.167 | Hitting_AVG | 0.208 | 0.000 | 0.292 | 0.500 |
| predicted_BB | 0.258 | 0.000 | 0.000 | Hitting_BB | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_H | 0.620 | 2.000 | 1.000 | Hitting_H | 0.715 | 0.000 | 1.285 | 2.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_OBP | 0.269 | 0.500 | 0.167 | Hitting_OBP | 0.261 | 0.000 | 0.239 | 0.500 |
| predicted_R | 0.400 | 1.000 | 1.000 | Hitting_R | 0.392 | 0.000 | 0.608 | 1.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_SLG | 0.321 | 0.500 | 0.167 | Hitting_SLG | 0.339 | 0.000 | 0.161 | 0.500 |
| predicted_SO | 1.110 | 2.000 | 2.000 | Hitting_SO | 1.089 | 2.000 | 0.911 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_H: 0.6200 -> 2.0000 (boost 1.3800, better) |
| Biggest Deboost | predicted_RBI: 0.2700 -> 0.0000 (deboost -0.2700, 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 | 10 | 7 | 3 | 6 | 4 | predicted_AB: 3.5030 -> 6.0368 (boost 2.5338, better) | predicted_AVG: 0.2310 -> 0.2104 (deboost -0.0206, 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.2104 -> 0.1801 (deboost -0.0303, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_RBI: 0.4429 -> 0.0000 (deboost -0.4429, worse) | AB rounded to 6 (raw=6.04), rates preserved: AVG=0.180 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6372 -> 1.0000 (boost 0.3628, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2811 -> 0.1670 (deboost -0.1141, worse) | 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_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.2811 (boost 0.1141, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694728",
"player_name": "Brice Matthews",
"position": "2B",
"team": "HOU",
"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.097,
"predicted_3B": 0.026,
"predicted_AB": 3.503,
"predicted_AVG": 0.231,
"predicted_BB": 0.258,
"predicted_H": 0.62,
"predicted_HR": 0.07,
"predicted_OBP": 0.269,
"predicted_R": 0.4,
"predicted_RBI": 0.27,
"predicted_SLG": 0.321,
"predicted_SO": 1.11
},
"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.1445,
"predicted_3B": 0.0369,
"predicted_AB": 6.0368,
"predicted_AVG": 0.2104,
"predicted_BB": 0.4018,
"predicted_H": 1.0959,
"predicted_HBP": 0.004,
"predicted_HR": 0.1314,
"predicted_OBP": 0.2515,
"predicted_R": 0.648,
"predicted_RBI": 0.4504,
"predicted_SLG": 0.3052,
"predicted_SO": 2.132
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.097,
"after": 0.1445,
"delta": 0.0475,
"percent_delta": 0.4897,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0369,
"delta": 0.0109,
"percent_delta": 0.4192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.503,
"after": 6.0368,
"delta": 2.5338,
"percent_delta": 0.7233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2104,
"delta": -0.0206,
"percent_delta": -0.0892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.4018,
"delta": 0.1438,
"percent_delta": 0.5574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.0959,
"delta": 0.4759,
"percent_delta": 0.7676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1314,
"delta": 0.0614,
"percent_delta": 0.8771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.2515,
"delta": -0.0175,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.648,
"delta": 0.248,
"percent_delta": 0.62,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.4504,
"delta": 0.1804,
"percent_delta": 0.6681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.3052,
"delta": -0.0158,
"percent_delta": -0.0492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.11,
"after": 2.132,
"delta": 1.022,
"percent_delta": 0.9207,
"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_AB",
"before": 3.503,
"after": 6.0368,
"delta": 2.5338,
"percent_delta": 0.7233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2104,
"delta": -0.0206,
"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": 4,
"last_10": 5,
"season": 47
}
},
{
"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.1445,
"predicted_3B": 0.0369,
"predicted_AB": 6.0368,
"predicted_AVG": 0.1801,
"predicted_BB": 0.3994,
"predicted_H": 1.0871,
"predicted_HBP": 0.004,
"predicted_HR": 0.1306,
"predicted_OBP": 0.231,
"predicted_R": 0.6372,
"predicted_RBI": 0.4429,
"predicted_SLG": 0.2811,
"predicted_SO": 2.1448
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1445,
"after": 0.1445,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0369,
"after": 0.0369,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0368,
"after": 6.0368,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2104,
"after": 0.1801,
"delta": -0.0303,
"percent_delta": -0.144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4018,
"after": 0.3994,
"delta": -0.0024,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0959,
"after": 1.0871,
"delta": -0.0088,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1314,
"after": 0.1306,
"delta": -0.0008,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2515,
"after": 0.231,
"delta": -0.0205,
"percent_delta": -0.0815,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.648,
"after": 0.6372,
"delta": -0.0108,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4504,
"after": 0.4429,
"delta": -0.0075,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3052,
"after": 0.2811,
"delta": -0.0241,
"percent_delta": -0.079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.132,
"after": 2.1448,
"delta": 0.0128,
"percent_delta": 0.006,
"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.2104,
"after": 0.1801,
"delta": -0.0303,
"percent_delta": -0.144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.04), rates preserved: AVG=0.180 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1445,
"after": 0.0,
"delta": -0.1445,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0369,
"after": 0.0,
"delta": -0.0369,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0368,
"after": 6.0,
"delta": -0.0368,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3994,
"after": 0.0,
"delta": -0.3994,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0871,
"after": 1.0,
"delta": -0.0871,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1306,
"after": 0.0,
"delta": -0.1306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4429,
"after": 0.0,
"delta": -0.4429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1448,
"after": 2.0,
"delta": -0.1448,
"percent_delta": -0.0675,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4429,
"after": 0.0,
"delta": -0.4429,
"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": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6372,
"after": 1.0,
"delta": 0.3628,
"percent_delta": 0.5694,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6372,
"after": 1.0,
"delta": 0.3628,
"percent_delta": 0.5694,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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": 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.1801,
"after": 0.167,
"delta": -0.0131,
"percent_delta": -0.0727,
"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.231,
"after": 0.167,
"delta": -0.064,
"percent_delta": -0.2771,
"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.2811,
"after": 0.167,
"delta": -0.1141,
"percent_delta": -0.4059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2811,
"after": 0.167,
"delta": -0.1141,
"percent_delta": -0.4059,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"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": 4.0,
"predicted_AVG": 0.1801,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.231,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2811,
"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.167,
"after": 0.1801,
"delta": 0.0131,
"percent_delta": 0.0783,
"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.167,
"after": 0.231,
"delta": 0.064,
"percent_delta": 0.383,
"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.167,
"after": 0.2811,
"delta": 0.1141,
"percent_delta": 0.6834,
"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.167,
"after": 0.2811,
"delta": 0.1141,
"percent_delta": 0.6834,
"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.097,
"after": 0.0,
"delta": -0.097,
"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.503,
"after": 4.0,
"delta": 0.497,
"percent_delta": 0.1419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.1801,
"delta": -0.0509,
"percent_delta": -0.2203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.0,
"delta": -0.258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 2.0,
"delta": 1.38,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.231,
"delta": -0.038,
"percent_delta": -0.1413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.2811,
"delta": -0.0399,
"percent_delta": -0.1243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.11,
"after": 2.0,
"delta": 0.89,
"percent_delta": 0.8018,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.62,
"after": 2.0,
"delta": 1.38,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"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.097 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.503 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.258 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.269 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.321 | - |
| predicted_SO | 1.110 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | 0.047 |
| predicted_3B | 0.037 | 0.011 |
| predicted_AB | 6.037 | 2.534 |
| predicted_AVG | 0.210 | -0.021 |
| predicted_BB | 0.402 | 0.144 |
| predicted_H | 1.096 | 0.476 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.131 | 0.061 |
| predicted_OBP | 0.252 | -0.018 |
| predicted_R | 0.648 | 0.248 |
| predicted_RBI | 0.450 | 0.180 |
| predicted_SLG | 0.305 | -0.016 |
| predicted_SO | 2.132 | 1.022 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | 0.000 |
| predicted_3B | 0.037 | 0.000 |
| predicted_AB | 6.037 | 0.000 |
| predicted_AVG | 0.180 | -0.030 |
| predicted_BB | 0.399 | -0.002 |
| predicted_H | 1.087 | -0.009 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.131 | -0.001 |
| predicted_OBP | 0.231 | -0.020 |
| predicted_R | 0.637 | -0.011 |
| predicted_RBI | 0.443 | -0.008 |
| predicted_SLG | 0.281 | -0.024 |
| predicted_SO | 2.145 | 0.013 |
AB rounded to 6 (raw=6.04), rates preserved: AVG=0.180 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.144 |
| predicted_3B | 0.000 | -0.037 |
| predicted_AB | 6.000 | -0.037 |
| predicted_AVG | 0.167 | -0.013 |
| predicted_BB | 0.000 | -0.399 |
| predicted_H | 1.000 | -0.087 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.167 | -0.064 |
| predicted_R | 1.000 | 0.363 |
| predicted_RBI | 0.000 | -0.443 |
| predicted_SLG | 0.167 | -0.114 |
| predicted_SO | 2.000 | -0.145 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -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 | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.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 | - | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 8.000 | 0.0769 | 0.0769 | 0.0769 | 0.0769 | 0.0000 | 0.0000 | 0.0000 | 0.6154 |
| last_10 | 0.20 | 5 | - | 28.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 10.000 | 0.1786 | 0.2812 | 0.1786 | 0.1786 | 0.0000 | 0.0000 | 0.1429 | 0.3571 |
| season | 0.60 | 47 | - | 543.000 | 113.000 | 15.000 | 4.000 | 16.000 | 51.000 | 62.000 | 40.000 | 172.000 | 0.2081 | 0.2602 | 0.3389 | 0.2081 | 0.0295 | 0.0939 | 0.0737 | 0.3168 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2060 |
| predicted_3B | 0.0510 |
| predicted_AB | 9.3170 |
| predicted_AVG | 0.1838 |
| predicted_BB | 0.5880 |
| predicted_H | 1.7120 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.2110 |
| predicted_OBP | 0.2289 |
| predicted_R | 0.9690 |
| predicted_RBI | 0.6840 |
| predicted_SLG | 0.2848 |
| predicted_SO | 3.4550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0970 | 0.2060 | 0.1445 | model_form_blend |
| predicted_3B | 0.0260 | 0.0510 | 0.0369 | model_form_blend |
| predicted_AB | 3.5030 | 9.3170 | 6.0368 | model_form_blend |
| predicted_AVG | 0.2310 | 0.1838 | 0.2104 | model_form_blend |
| predicted_BB | 0.2580 | 0.5880 | 0.4018 | model_form_blend |
| predicted_H | 0.6200 | 1.7120 | 1.0959 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0700 | 0.2110 | 0.1314 | model_form_blend |
| predicted_OBP | 0.2690 | 0.2289 | 0.2515 | model_form_blend |
| predicted_R | 0.4000 | 0.9690 | 0.6480 | model_form_blend |
| predicted_RBI | 0.2700 | 0.6840 | 0.4504 | model_form_blend |
| predicted_SLG | 0.3210 | 0.2848 | 0.3052 | model_form_blend |
| predicted_SO | 1.1100 | 3.4550 | 2.1320 | 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 | 158 |
| Season rows before report date | 158 |
| Report year | 2026 |
| Profile rows used | 155 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| 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 | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 2 |
| 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 | 20260603_PIT@HOU |
| game_type | ph |
| mlbID | 694728 |
| note | Struck out for Trammell in the 8th. |
| playerID | 694728 |
| playerName | Brice Matthews |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| sl_k_percent | 32.9 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.26 |
| sl_xwoba | 0.259 |
| sl_xba | 0.19 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 40.2 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 10.9 |
| sl_whiff_percent | 37.6 |
| sl_swing_percent | 45.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.164 | 0.000 | 0.000 | Hitting_2B | 0.163 | 1.000 | -0.163 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.311 | 4.000 | 5.000 | Hitting_AB | 3.285 | 4.000 | 0.715 | 0.000 |
| predicted_AVG | 0.250 | 0.250 | 0.200 | Hitting_AVG | 0.270 | 0.250 | -0.020 | 0.000 |
| predicted_BB | 0.287 | 0.000 | 0.000 | Hitting_BB | 0.293 | 0.000 | -0.293 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.670 | 1.000 | 1.000 | Hitting_H | 0.886 | 1.000 | 0.114 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.296 | 0.250 | 0.200 | Hitting_OBP | 0.330 | 0.250 | -0.080 | 0.000 |
| predicted_R | 0.336 | 1.000 | 1.000 | Hitting_R | 0.333 | 1.000 | 0.667 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 1.000 | Hitting_RBI | 0.545 | 1.000 | -0.545 | -1.000 |
| predicted_SLG | 0.367 | 0.250 | 0.200 | Hitting_SLG | 0.438 | 0.500 | -0.188 | -0.250 |
| predicted_SO | 0.557 | 2.000 | 1.000 | Hitting_SO | 0.553 | 1.000 | 1.447 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.5570 -> 2.0000 (boost 1.4430, worse) |
| Biggest Deboost | predicted_RBI: 0.3700 -> 0.0000 (deboost -0.3700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 9 | 0 | 8 | 1 | predicted_AB: 3.3110 -> 5.3186 (boost 2.0076, 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.2483 -> 0.2287 (deboost -0.0196, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.6616 -> 1.0000 (boost 0.3384, better) | predicted_BB: 0.4289 -> 0.0000 (deboost -0.4289, worse) | AB rounded to 5 (raw=5.32), rates preserved: AVG=0.229 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5480 -> 1.0000 (boost 0.4520, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3605 -> 0.2000 (deboost -0.1605, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3605 (boost 0.1605, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543877",
"player_name": "Christian Vázquez",
"position": "C",
"team": "HOU",
"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.0,
"predicted_AB": 3.311,
"predicted_AVG": 0.25,
"predicted_BB": 0.287,
"predicted_H": 0.67,
"predicted_HR": 0.08,
"predicted_OBP": 0.296,
"predicted_R": 0.336,
"predicted_RBI": 0.37,
"predicted_SLG": 0.367,
"predicted_SO": 0.557
},
"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.2701,
"predicted_3B": 0.0009,
"predicted_AB": 5.3186,
"predicted_AVG": 0.2483,
"predicted_BB": 0.4315,
"predicted_H": 1.2264,
"predicted_HBP": 0.005,
"predicted_HR": 0.1438,
"predicted_OBP": 0.298,
"predicted_R": 0.5572,
"predicted_RBI": 0.6728,
"predicted_SLG": 0.3743,
"predicted_SO": 0.8835
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.2701,
"delta": 0.1061,
"percent_delta": 0.647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.311,
"after": 5.3186,
"delta": 2.0076,
"percent_delta": 0.6063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2483,
"delta": -0.0017,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 0.4315,
"delta": 0.1445,
"percent_delta": 0.5035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.2264,
"delta": 0.5564,
"percent_delta": 0.8304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1438,
"delta": 0.0638,
"percent_delta": 0.7975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.298,
"delta": 0.002,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.336,
"after": 0.5572,
"delta": 0.2212,
"percent_delta": 0.6583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.6728,
"delta": 0.3028,
"percent_delta": 0.8184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3743,
"delta": 0.0073,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.557,
"after": 0.8835,
"delta": 0.3265,
"percent_delta": 0.5862,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.311,
"after": 5.3186,
"delta": 2.0076,
"percent_delta": 0.6063,
"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": 6,
"season": 40
}
},
{
"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.2701,
"predicted_3B": 0.0009,
"predicted_AB": 5.3186,
"predicted_AVG": 0.2287,
"predicted_BB": 0.4289,
"predicted_H": 1.2166,
"predicted_HBP": 0.005,
"predicted_HR": 0.1429,
"predicted_OBP": 0.2863,
"predicted_R": 0.548,
"predicted_RBI": 0.6616,
"predicted_SLG": 0.3605,
"predicted_SO": 0.8888
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2701,
"after": 0.2701,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3186,
"after": 5.3186,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2483,
"after": 0.2287,
"delta": -0.0196,
"percent_delta": -0.0789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4315,
"after": 0.4289,
"delta": -0.0026,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2264,
"after": 1.2166,
"delta": -0.0098,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1438,
"after": 0.1429,
"delta": -0.0009,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2863,
"delta": -0.0117,
"percent_delta": -0.0393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5572,
"after": 0.548,
"delta": -0.0092,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6728,
"after": 0.6616,
"delta": -0.0112,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3743,
"after": 0.3605,
"delta": -0.0138,
"percent_delta": -0.0369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8835,
"after": 0.8888,
"delta": 0.0053,
"percent_delta": 0.006,
"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.2483,
"after": 0.2287,
"delta": -0.0196,
"percent_delta": -0.0789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.32), rates preserved: AVG=0.229 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2701,
"after": 0.0,
"delta": -0.2701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3186,
"after": 5.0,
"delta": -0.3186,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4289,
"after": 0.0,
"delta": -0.4289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2166,
"after": 1.0,
"delta": -0.2166,
"percent_delta": -0.178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1429,
"after": 0.0,
"delta": -0.1429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6616,
"after": 1.0,
"delta": 0.3384,
"percent_delta": 0.5115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8888,
"after": 1.0,
"delta": 0.1112,
"percent_delta": 0.1251,
"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_RBI",
"before": 0.6616,
"after": 1.0,
"delta": 0.3384,
"percent_delta": 0.5115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4289,
"after": 0.0,
"delta": -0.4289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.548,
"after": 1.0,
"delta": 0.452,
"percent_delta": 0.8248,
"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.548,
"after": 1.0,
"delta": 0.452,
"percent_delta": 0.8248,
"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": 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.2287,
"after": 0.2,
"delta": -0.0287,
"percent_delta": -0.1255,
"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.2863,
"after": 0.2,
"delta": -0.0863,
"percent_delta": -0.3014,
"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.3605,
"after": 0.2,
"delta": -0.1605,
"percent_delta": -0.4452,
"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.3605,
"after": 0.2,
"delta": -0.1605,
"percent_delta": -0.4452,
"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": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 4.0,
"predicted_AVG": 0.2287,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2863,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3605,
"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.2,
"after": 0.2287,
"delta": 0.0287,
"percent_delta": 0.1437,
"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.2,
"after": 0.2863,
"delta": 0.0863,
"percent_delta": 0.4315,
"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.2,
"after": 0.3605,
"delta": 0.1605,
"percent_delta": 0.8023,
"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.3605,
"delta": 0.1605,
"percent_delta": 0.8023,
"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.164,
"after": 0.0,
"delta": -0.164,
"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.311,
"after": 4.0,
"delta": 0.689,
"percent_delta": 0.2081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2287,
"delta": -0.0213,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 0.0,
"delta": -0.287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.0,
"delta": 0.33,
"percent_delta": 0.4925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2863,
"delta": -0.0097,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.336,
"after": 1.0,
"delta": 0.664,
"percent_delta": 1.9762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3605,
"delta": -0.0065,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.557,
"after": 2.0,
"delta": 1.443,
"percent_delta": 2.5907,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.557,
"after": 2.0,
"delta": 1.443,
"percent_delta": 2.5907,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.311 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.287 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.336 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 0.557 | - |
Final model 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.270 | 0.106 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.319 | 2.008 |
| predicted_AVG | 0.248 | -0.002 |
| predicted_BB | 0.431 | 0.145 |
| predicted_H | 1.226 | 0.556 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.144 | 0.064 |
| predicted_OBP | 0.298 | 0.002 |
| predicted_R | 0.557 | 0.221 |
| predicted_RBI | 0.673 | 0.303 |
| predicted_SLG | 0.374 | 0.007 |
| predicted_SO | 0.883 | 0.326 |
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.270 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.319 | 0.000 |
| predicted_AVG | 0.229 | -0.020 |
| predicted_BB | 0.429 | -0.003 |
| predicted_H | 1.217 | -0.010 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.143 | -0.001 |
| predicted_OBP | 0.286 | -0.012 |
| predicted_R | 0.548 | -0.009 |
| predicted_RBI | 0.662 | -0.011 |
| predicted_SLG | 0.360 | -0.014 |
| predicted_SO | 0.889 | 0.005 |
AB rounded to 5 (raw=5.32), rates preserved: AVG=0.229 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.270 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.319 |
| predicted_AVG | 0.200 | -0.029 |
| predicted_BB | 0.000 | -0.429 |
| predicted_H | 1.000 | -0.217 |
| predicted_HR | 0.000 | -0.143 |
| predicted_OBP | 0.200 | -0.086 |
| predicted_R | 1.000 | 0.452 |
| predicted_RBI | 1.000 | 0.338 |
| predicted_SLG | 0.200 | -0.160 |
| predicted_SO | 1.000 | 0.111 |
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 | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 2.000 | 0.1875 | 0.2353 | 0.2500 | 0.1875 | 0.0000 | 0.0625 | 0.0625 | 0.1250 |
| last_10 | 0.20 | 6 | - | 34.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 8.000 | 0.1765 | 0.2000 | 0.2059 | 0.1765 | 0.0000 | 0.0294 | 0.0294 | 0.2353 |
| season | 0.60 | 40 | - | 404.000 | 109.000 | 20.000 | 0.000 | 16.000 | 67.000 | 41.000 | 35.000 | 68.000 | 0.2698 | 0.3280 | 0.4381 | 0.2698 | 0.0396 | 0.1658 | 0.0866 | 0.1683 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4100 |
| predicted_3B | 0.0020 |
| predicted_AB | 7.9660 |
| predicted_AVG | 0.2460 |
| predicted_BB | 0.6220 |
| predicted_H | 1.9600 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.2280 |
| predicted_OBP | 0.3007 |
| predicted_R | 0.8490 |
| predicted_RBI | 1.0720 |
| predicted_SLG | 0.3839 |
| predicted_SO | 1.3140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1640 | 0.4100 | 0.2701 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3110 | 7.9660 | 5.3186 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2460 | 0.2483 | model_form_blend |
| predicted_BB | 0.2870 | 0.6220 | 0.4315 | model_form_blend |
| predicted_H | 0.6700 | 1.9600 | 1.2264 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0800 | 0.2280 | 0.1438 | model_form_blend |
| predicted_OBP | 0.2960 | 0.3007 | 0.2980 | model_form_blend |
| predicted_R | 0.3360 | 0.8490 | 0.5572 | model_form_blend |
| predicted_RBI | 0.3700 | 1.0720 | 0.6728 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3839 | 0.3743 | model_form_blend |
| predicted_SO | 0.5570 | 1.3140 | 0.8835 | 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 | 123 |
| Season rows before report date | 123 |
| Report year | 2026 |
| Profile rows used | 122 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| 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 | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 543877 |
| playerID | 543877 |
| playerName | Christian Vázquez |
| pos | C |
| started | True |
| startingPosition | C |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| sl_k_percent | 15.7 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.309 |
| sl_xwoba | 0.256 |
| sl_xba | 0.215 |
| sl_xslg | 0.293 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 2.0 |
| sl_hard_hit_percent | 23.5 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 18.3 |
| sl_swing_percent | 45.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.056 | 4.000 | 0.944 | -2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.667 | 3.000 | 0.333 | -2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.500 | 3.000 | 0.500 | -1.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 2.178 | 5.000 | 3.822 | 1.000 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 2.389 | 7.000 | 5.611 | 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: 6.6667 -> 6.0000 (deboost -0.6667, 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: 6.6667 -> 6.0000 (deboost -0.6667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 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": "678906",
"player_name": "Kai-Wei Teng",
"position": "Starter",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.6667,
"predicted_SO": 8.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.0,
"delta": -0.6667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.0,
"delta": -0.6667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"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": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 1.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.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": 6.6667,
"after": 6.0,
"delta": -0.6667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.0,
"delta": -0.6667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.667 | - |
| predicted_SO | 8.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.000 | -0.667 |
| predicted_SO | 8.000 | 0.000 |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 8.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 | 21.000 | 6.000 | 13.000 | 12.000 | 23.000 | 2.000 | 2.5714 | 1.1905 | 0.2857 | 0.6190 | 0.5714 | 1.0952 | 0.0952 |
| last_10 | 0.35 | 10 | 30.100 | 9.000 | 21.000 | 15.000 | 32.000 | 3.000 | 2.6703 | 1.1868 | 0.2967 | 0.6923 | 0.4945 | 1.0550 | 0.0989 |
| season | 0.20 | 18 | 42.000 | 12.000 | 27.000 | 19.000 | 43.000 | 5.000 | 2.5714 | 1.0952 | 0.2857 | 0.6429 | 0.4524 | 1.0238 | 0.1191 |
| Metric | Value |
|---|---|
| predicted_BB | 2.1620 |
| predicted_ER | 1.6910 |
| predicted_ERA | 3.2593 |
| predicted_H | 3.5720 |
| predicted_HR | 0.5360 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.7620 |
| predicted_WHIP | 1.2275 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.1620 | 2.0796 | model_form_blend |
| predicted_ER | 1.0000 | 1.6910 | 1.3393 | model_form_blend |
| predicted_ERA | - | 3.2593 | 3.2593 | form_only |
| predicted_H | 2.0000 | 3.5720 | 2.7719 | model_form_blend |
| predicted_HR | 1.0000 | 0.5360 | 0.7722 | model_form_blend |
| predicted_IP | 6.2000 | 4.2000 | 5.2000 | model_form_blend |
| predicted_SO | 8.0000 | 4.7620 | 6.4100 | model_form_blend |
| predicted_WHIP | - | 1.2275 | 1.2275 | 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 | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 2 |
| SO | 8 |
| HR | 1 |
| BF | 22 |
| Pitches | 102 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 3 |
| Pitching_ERA | 2.57 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 5 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 91 |
| Pitching_R | 3 |
| Pitching_SO | 7 |
| Pitching_Strikes | 53 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260529_MIL@HOU |
| game_type | full |
| mlbID | 678906 |
| playerID | 678906 |
| playerName | Kai-Wei Teng |
| pos | P |
| started | True |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-29 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.28 |
| sl_xwoba | 0.3 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 35.9 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 42.7 |
| sl_avg_best_speed | 81.488963725 |
| sl_avg_hyper_speed | 94.151717157 |
| 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.435 | 0.000 | -0.435 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.087 | 2.000 | -0.087 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.983 | 1.000 | 0.017 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.870 | 1.000 | 1.130 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687911",
"player_name": "Bryan King",
"position": "Middle Reliever",
"team": "HOU",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 1.000 | 5.000 | 1.000 | 3.000 | 1.000 | 1.6875 | 1.1250 | 0.1875 | 0.9375 | 0.1875 | 0.5625 | 0.1875 |
| last_10 | 0.35 | 10 | 10.200 | 2.000 | 9.000 | 5.000 | 5.000 | 1.000 | 1.6875 | 1.3125 | 0.1875 | 0.8438 | 0.4688 | 0.4688 | 0.0938 |
| season | 0.20 | 23 | 26.100 | 8.000 | 25.000 | 10.000 | 20.000 | 1.000 | 2.7342 | 1.3291 | 0.3038 | 0.9494 | 0.3797 | 0.7595 | 0.0380 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3450 |
| predicted_ER | 0.3440 |
| predicted_ERA | 3.0960 |
| predicted_H | 0.9310 |
| predicted_HR | 0.1310 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7510 |
| predicted_WHIP | 1.2762 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3450 | 0.1528 | model_form_blend |
| predicted_ER | 0.0000 | 0.3440 | 0.1523 | model_form_blend |
| predicted_ERA | - | 3.0960 | 3.0960 | form_only |
| predicted_H | 1.0000 | 0.9310 | 0.9694 | model_form_blend |
| predicted_HR | 0.0000 | 0.1310 | 0.0580 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7510 | 1.4469 | model_form_blend |
| predicted_WHIP | - | 1.2762 | 1.2762 | 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 | 23 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.73 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 23 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 687911 |
| playerID | 687911 |
| playerName | Bryan King |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| sl_k_percent | 17.4 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.298 |
| sl_xwoba | 0.294 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 37.8 |
| sl_whiff_percent | 18.2 |
| sl_swing_percent | 48.6 |
| sl_avg_best_speed | 77.018706829 |
| sl_avg_hyper_speed | 93.24598321 |
| 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.217 | 0.000 | -0.217 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.391 | 0.000 | -0.391 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.870 | 1.000 | -0.870 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.896 | 1.000 | 0.204 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.043 | 2.000 | -0.043 | -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": "660853",
"player_name": "Enyel De Los Santos",
"position": "Middle Reliever",
"team": "HOU",
"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 | 6.000 | 0.000 | 1.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.3333 | 0.0000 | 0.1667 | 0.1667 | 1.3333 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 1.000 | 5.000 | 1.000 | 12.000 | 0.000 | 0.8710 | 0.5806 | 0.0968 | 0.4839 | 0.0968 | 1.1613 | 0.0000 |
| season | 0.20 | 23 | 24.100 | 9.000 | 20.000 | 5.000 | 24.000 | 1.000 | 3.3288 | 1.0274 | 0.3699 | 0.8219 | 0.2055 | 0.9863 | 0.0411 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2800 |
| predicted_ER | 0.3210 |
| predicted_ERA | 2.6907 |
| predicted_H | 0.7380 |
| predicted_HR | 0.0790 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1480 |
| predicted_WHIP | 0.9484 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2800 | 0.1217 | model_form_blend |
| predicted_ER | 0.0000 | 0.3210 | 0.1395 | model_form_blend |
| predicted_ERA | - | 2.6907 | 2.6907 | form_only |
| predicted_H | 0.0000 | 0.7380 | 0.3206 | model_form_blend |
| predicted_HR | 0.0000 | 0.0790 | 0.0343 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1480 | 1.0643 | model_form_blend |
| predicted_WHIP | - | 0.9484 | 0.9484 | 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 | 23 |
| 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 | 1 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.33 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260602_PIT@HOU |
| game_type | full |
| mlbID | 660853 |
| playerID | 660853 |
| playerName | Enyel De Los Santos |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-02 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.254 |
| sl_xwoba | 0.251 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 36.2 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 55.4 |
| sl_avg_best_speed | 78.799923235 |
| sl_avg_hyper_speed | 93.572340147 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 1.000 | 1.000 | -0.800 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 1.000 | 0.000 | 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: 0.1000 -> 0.2000 (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: 0.1000 -> 0.2000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "623352",
"player_name": "Josh Hader",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.0000 | 1.0000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 1 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.0000 | 1.0000 | 1.0000 | 0.0000 |
| season | 0.20 | 1 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.0000 | 1.0000 | 1.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1400 |
| predicted_ER | 0.1660 |
| predicted_ERA | 4.1776 |
| predicted_H | 0.3300 |
| predicted_HR | 0.0470 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3380 |
| predicted_WHIP | 1.3105 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1400 | 0.0341 | model_form_blend |
| predicted_ER | 0.0000 | 0.1660 | 0.0404 | model_form_blend |
| predicted_ERA | - | 4.1776 | 4.1776 | form_only |
| predicted_H | 0.0000 | 0.3300 | 0.0804 | model_form_blend |
| predicted_HR | 0.0000 | 0.0470 | 0.0114 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3380 | 0.8388 | model_form_blend |
| predicted_WHIP | - | 1.3105 | 1.3105 | 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 | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| 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 | 2 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| 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 | 17 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260603_PIT@HOU |
| game_type | full |
| mlbID | 623352 |
| playerID | 623352 |
| playerName | Josh Hader |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-03 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | SD 1 - 3 PHI | PHI | 0.527 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | SD 1 - 4 PHI | PHI | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| 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 | 7 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5266 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 4.519 | 5.022 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 2 | 0.5266 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 1 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 1 | 3 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 1 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5140800000000001,
"base_low_score_probability": 0.42424242424242425,
"low_score_signal_threshold": 0.5042424242424243,
"low_score_signal_strength": 0.08983757575757584,
"confidence": 0.7058800000000001,
"factors": {
"environmental": 1.1016000000000001,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.2117600000000002
},
"prediction": "low_scoring",
"expected_total_runs": 4,
"pre_simulation_expected_total_runs": 7.0,
"low_score_model_expected_total_runs": 7.0,
"final_simulation_total_runs": 5,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 48,
"near_bucket_sample_size": 48,
"medium_bucket_sample_size": 96,
"wide_bucket_sample_size": 107,
"global_sample_size": 107,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.4792,
"bayesian_hit_rate": 0.4848,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7273,
"confidence_cap": 0.545,
"raw_pick_probability": 0.5965,
"calibrated_pick_probability": 0.5266,
"predicted_side": "home"
}{
"applied": false,
"home": {
"team": "PHI",
"games": 61,
"wins": 32,
"losses": 29,
"win_pct": 0.5245901639344263,
"runs_scored": 236,
"runs_allowed": 260,
"run_differential": -24,
"run_differential_per_game": -0.39344262295081966,
"available": true
},
"away": {
"team": "SD",
"games": 60,
"wins": 32,
"losses": 28,
"win_pct": 0.5333333333333333,
"runs_scored": 231,
"runs_allowed": 239,
"run_differential": -8,
"run_differential_per_game": -0.13333333333333333,
"available": true
},
"run_differential_edge_per_game": -0.2601,
"win_pct_edge": -0.0087,
"quality_edge": -0.2732,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "PHI",
"guardrail_predicted_team": "PHI",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "PHI",
"output_opponent_team": "SD",
"final_score_winner": "PHI",
"pre_simulation_winner": "PHI",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "SD 1 - 3 PHI",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 4,
"score_text": "SD 1 - 4 PHI",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "PHI",
"games": 61,
"wins": 32,
"losses": 29,
"win_pct": 0.5245901639344263,
"runs_scored": 236,
"runs_allowed": 260,
"run_differential": -24,
"run_differential_per_game": -0.39344262295081966,
"available": true
},
"away": {
"team": "SD",
"games": 60,
"wins": 32,
"losses": 28,
"win_pct": 0.5333333333333333,
"runs_scored": 231,
"runs_allowed": 239,
"run_differential": -8,
"run_differential_per_game": -0.13333333333333333,
"available": true
}
}
}{
"applied": false,
"raw_margin": 1.0322,
"final_margin": 1.0322,
"margin_cap": 1.5,
"season_quality_edge": 0.2732,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.526556,
"final_confidence": 0.526556,
"confidence_cap": 0.545,
"score_gap": 1.0322,
"calibration_sample_size": 48,
"calibration_empirical_hit_rate": 0.4792,
"calibration_bayesian_hit_rate": 0.4848,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.2732,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"Bayesian-smoothed bucket hit rate is below coin flip",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "SD 1 - 3 PHI",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 4,
"score_text": "SD 1 - 4 PHI",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 1,
"home_runs": 3,
"confidence": 0.526556,
"home_win_probability": 0.526556,
"away_win_probability": 0.473444,
"predicted_score_text": "SD 1 - 3 PHI",
"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": "SD",
"original_runs": 1,
"run_delta": -0.1668,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 55.0,
"quality": 0.10361194908624574,
"contact": -0.06125553385002391,
"power": -0.05123206146115968,
"discipline": -0.1347667042965403,
"xwoba": 0.3042909090909091,
"recent_xwoba": 0.3042909090909091,
"barrel": 7.327272727272726,
"ab_hard_contact": 0.11481270859673455,
"ab_bat_speed": 70.44555821002723,
"ab_strikeout_rate": 0.23551643029517927,
"available_players": 9,
"top_players": [
{
"player_id": "666023",
"player_name": "Freddy Fermin",
"position": "C",
"weight": 5.0,
"quality": -0.6435238244687176,
"contact": -1.7102694482369671,
"power": -1.7777456998684862,
"discipline": 0.0984503016348969,
"xwoba": 0.238,
"recent_xwoba": 0.238,
"barrel": 0.0,
"ab_hard_contact": -0.7335806640364135,
"ab_bat_speed": 67.52339285714285,
"ab_strikeout_rate": 0.20919540229885056,
"available": 1.0
},
{
"player_id": "669369",
"player_name": "Bryce Johnson",
"position": "RF",
"weight": 4.0,
"quality": -0.28075214474024796,
"contact": -2.0,
"power": -2.0,
"discipline": -1.1120714285714284,
"xwoba": 0.169,
"recent_xwoba": 0.169,
"barrel": 0.0,
"ab_hard_contact": -1.7506035930709802,
"ab_bat_speed": 64.36720085470085,
"ab_strikeout_rate": 0.4358974358974359,
"available": 1.0
},
{
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "2B",
"weight": 8.0,
"quality": 0.6221108959176712,
"contact": 0.8536343862015826,
"power": 0.49988062571122605,
"discipline": -0.07382132903328563,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 9.9,
"ab_hard_contact": 0.797231561843548,
"ab_bat_speed": 72.76390277777777,
"ab_strikeout_rate": 0.22403846153846155,
"available": 1.0
},
{
"player_id": "664034",
"player_name": "Ty France",
"position": "1B",
"weight": 5.0,
"quality": 0.23873946430721707,
"contact": 0.6173983215495681,
"power": 1.1608610345100656,
"discipline": -0.8959971532091097,
"xwoba": 0.331,
"recent_xwoba": 0.331,
"barrel": 13.3,
"ab_hard_contact": 0.005792118772730982,
"ab_bat_speed": 69.51782840722495,
"ab_strikeout_rate": 0.3,
"available": 1.0
},
{
"player_id": "657757",
"player_name": "Gavin Sheets",
"position": "LF",
"weight": 6.0,
"quality": 0.2910878627034997,
"contact": 0.37626244446623547,
"power": 0.49268941795883214,
"discipline": 0.34357030710835046,
"xwoba": 0.336,
"recent_xwoba": 0.336,
"barrel": 9.5,
"ab_hard_contact": 0.9593121687004283,
"ab_bat_speed": 73.19456219806763,
"ab_strikeout_rate": 0.21736111111111112,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "554430",
"player_name": "Zack Wheeler",
"quality": 0.22981137710443567,
"contact": 0.6809032337996711,
"command": 0.20309523809523794,
"movement": 0.4657742477904387,
"xwoba": 0.284,
"whiff": 25.8,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
},
"home": {
"team": "PHI",
"original_runs": 2,
"run_delta": 0.5691,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 62.0,
"quality": 0.21739198912277807,
"contact": 0.22731219849003412,
"power": 0.28082553752962686,
"discipline": -0.06191060836051037,
"xwoba": 0.32212903225806455,
"recent_xwoba": 0.32212903225806455,
"barrel": 8.743548387096775,
"ab_hard_contact": 0.24672887655257547,
"ab_bat_speed": 70.87038456164139,
"ab_strikeout_rate": 0.22208165791637755,
"available_players": 9,
"top_players": [
{
"player_id": "547180",
"player_name": "Bryce Harper",
"position": "1B",
"weight": 7.0,
"quality": 1.294005824480343,
"contact": 1.2816740158397397,
"power": 1.5193531611426978,
"discipline": 0.6743291420888837,
"xwoba": 0.413,
"recent_xwoba": 0.413,
"barrel": 14.2,
"ab_hard_contact": 1.5333489371396547,
"ab_bat_speed": 72.87975995807128,
"ab_strikeout_rate": 0.18731656184486373,
"available": 1.0
},
{
"player_id": "656941",
"player_name": "Kyle Schwarber",
"position": "DH",
"weight": 8.0,
"quality": 0.9880953153771542,
"contact": 0.654933304852377,
"power": 1.940956847958138,
"discipline": -0.0962865304984869,
"xwoba": 0.38,
"recent_xwoba": 0.38,
"barrel": 23.8,
"ab_hard_contact": 0.7099941020198771,
"ab_bat_speed": 74.57395451770452,
"ab_strikeout_rate": 0.33621794871794874,
"available": 1.0
},
{
"player_id": "702222",
"player_name": "Justin Crawford",
"position": "CF",
"weight": 6.0,
"quality": -0.5391285963598079,
"contact": -0.593268401288139,
"power": -1.041746541636804,
"discipline": 0.03882257468204671,
"xwoba": 0.267,
"recent_xwoba": 0.267,
"barrel": 1.5,
"ab_hard_contact": -0.7930260708313154,
"ab_bat_speed": 66.64708616780045,
"ab_strikeout_rate": 0.19353741496598637,
"available": 1.0
},
{
"player_id": "669016",
"player_name": "Brandon Marsh",
"position": "LF",
"weight": 7.0,
"quality": 0.364700587857598,
"contact": 0.8408712279635623,
"power": 0.4197434462489311,
"discipline": -0.4485719831410826,
"xwoba": 0.339,
"recent_xwoba": 0.339,
"barrel": 6.6,
"ab_hard_contact": 0.3122022583119356,
"ab_bat_speed": 70.35567857142857,
"ab_strikeout_rate": 0.2370748299319728,
"available": 1.0
},
{
"player_id": "607208",
"player_name": "Trea Turner",
"position": "SS",
"weight": 9.0,
"quality": -0.247653819450155,
"contact": -0.29197190943333756,
"power": -0.24402476951160634,
"discipline": -0.3614873851993418,
"xwoba": 0.287,
"recent_xwoba": 0.287,
"barrel": 5.8,
"ab_hard_contact": 0.03607603833927546,
"ab_bat_speed": 70.81053472222222,
"ab_strikeout_rate": 0.21591880341880343,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "608337",
"player_name": "Lucas Giolito",
"quality": -0.12272870934990339,
"contact": -0.4537424080081857,
"command": -1.293761904761905,
"movement": -1.3798965437290986,
"xwoba": 0.35,
"whiff": 21.5,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 1,
"home_runs": 3,
"predicted_score_text": "SD 1 - 3 PHI",
"confidence": 0.526556,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "SD 1 - 3 PHI",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 4,
"score_text": "SD 1 - 4 PHI",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 SD | True | 1.0082 | 1.0082 | 1 | 9 | 0 |
| Home PHI | True | 1.0268 | 1.0268 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Ty France | 82 | 1.0220 | 0.2928 | negative_batter_regression | 0.3310 | 0.2610 | 0.4780 | 13.30 | 52.40 | 92.10 | 7.50 | 28.40 | 22.40 | 3.40 | -1.1429 |
| 2B | Fernando Tatis Jr. | 164 | 1.0693 | 0.9243 | positive_batter_regression | 0.3470 | 0.2800 | 0.4060 | 9.90 | 51.70 | 90.30 | 1.70 | 29.40 | 21.70 | 9.50 | 1.1714 |
| 3B | Manny Machado | 522 | 1.0258 | 0.3444 | positive_batter_regression | 0.3120 | 0.2300 | 0.3930 | 8.20 | 44.30 | 89.90 | 10.80 | 25.30 | 23.20 | 11.20 | 1.2000 |
| LF | Gavin Sheets | 218 | 1.0288 | 0.3833 | neutral | 0.3360 | 0.2420 | 0.4300 | 9.50 | 45.20 | 89.70 | 16.10 | 21.70 | 22.80 | 10.90 | -0.5429 |
| CF | Jackson Merrill | 285 | 1.0422 | 0.5625 | positive_batter_regression | 0.3170 | 0.2450 | 0.4190 | 9.70 | 45.50 | 89.50 | 13.40 | 28.30 | 25.30 | 8.40 | 1.3429 |
| SS | Xander Bogaerts | 126 | 1.0196 | 0.2608 | neutral | 0.3240 | 0.2550 | 0.4030 | 6.60 | 35.70 | 87.60 | 8 | 22.80 | 18 | 9.40 | 0.6000 |
| DH | Miguel Andujar | 293 | 0.9859 | -0.1881 | neutral | 0.2920 | 0.2610 | 0.3800 | 4.80 | 37.70 | 88.50 | 7 | 19.30 | 17.20 | 3.20 | -0.7714 |
| C | Freddy Fermin | 369 | 0.9540 | -0.6127 | positive_batter_regression | 0.2380 | 0.1720 | 0.2250 | 0 | 25 | 85.90 | 13.80 | 27.20 | 22.40 | 10.30 | 1.1143 |
| RF | Bryce Johnson | 325 | 0.9260 | -0.9873 | negative_batter_regression | 0.1690 | 0.1280 | 0.1470 | 0 | 10 | 79.70 | 19 | 36.80 | 37.80 | 8.10 | -1.7143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Brandon Marsh | 42 | 1.0436 | 0.5818 | neutral | 0.3390 | 0.3030 | 0.4550 | 6.60 | 45.80 | 90 | 12.40 | 22 | 22.30 | 4.70 | -0.8286 |
| SS | Trea Turner | 250 | 0.9878 | -0.1623 | neutral | 0.2870 | 0.2380 | 0.3620 | 5.80 | 39.70 | 89.40 | 11.30 | 26.50 | 22 | 6.40 | 0.2000 |
| DH | Kyle Schwarber | 48 | 1.1049 | 1.3983 | neutral | 0.3800 | 0.2320 | 0.5420 | 23.80 | 50.80 | 92.90 | 22.10 | 33.30 | 34.40 | 13.90 | -0.6857 |
| 1B | Bryce Harper | 95 | 1.1292 | 1.7228 | positive_batter_regression | 0.4130 | 0.2910 | 0.5710 | 14.20 | 43.80 | 89.80 | 12.20 | 28.40 | 18.70 | 14.30 | 1.0286 |
| 3B | Alec Bohm | 526 | 0.9936 | -0.0853 | neutral | 0.2890 | 0.2370 | 0.3440 | 3.30 | 42.50 | 90.40 | 11.20 | 16.40 | 13.10 | 7 | 0.6571 |
| C | J.T. Realmuto | 159 | 1.0127 | 0.1690 | positive_batter_regression | 0.3190 | 0.2530 | 0.3910 | 4.70 | 40.60 | 88.50 | 11.40 | 22 | 17.20 | 6.20 | 1.0286 |
| RF | Adolis García | 529 | 1.0043 | 0.0572 | neutral | 0.2890 | 0.2180 | 0.3410 | 8.10 | 48.50 | 92.40 | 13.80 | 33.90 | 31 | 8.60 | 0.7143 |
| 2B | Bryson Stott | 490 | 1.0115 | 0.1537 | neutral | 0.3020 | 0.2480 | 0.3940 | 7.50 | 40.30 | 89.90 | 16.50 | 17.40 | 16.90 | 5.80 | 0.5714 |
| CF | Justin Crawford | 468 | 0.9535 | -0.6199 | neutral | 0.2670 | 0.2310 | 0.2970 | 1.50 | 35.80 | 88.10 | 1.20 | 19.10 | 19.60 | 6.90 | -0.4286 |
{
"home": {
"applied": true,
"offense_factor": 1.0268,
"raw_average_factor": 1.0268,
"team_espn_average_rank": 289.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "669016",
"player_name": "Brandon Marsh",
"offense_factor": 1.0436,
"quality_score": 0.5818,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669016",
"espn_id": 40803,
"player_name": "Brandon Marsh",
"team": "PHI",
"role": "batter",
"espn_rank": 42,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 42,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 197.0,
"ab_rank": 118,
"r_value": 29.0,
"r_rank": 75,
"h_value": 66.0,
"h_rank": 12,
"avg_value": 0.3350253,
"avg_rank": 1.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 24.0,
"rbi_rank": 125,
"tb_value": 95.0,
"tb_rank": 541,
"bb_value": 10.0,
"bb_rank": 253,
"so_value": 47.0,
"so_rank": 101,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.3649289,
"obp_rank": "35",
"slg_value": 0.4822335,
"slg_rank": "32",
"ops_value": 0.8471624,
"ops_rank": 33.0,
"war_value": 1.85,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 188.0,
"k_percent": 22.3,
"bb_percent": 4.7,
"woba": 0.368,
"xwoba": 0.339,
"xba": 0.303,
"xslg": 0.455,
"sweet_spot_percent": 45.8,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 45.8,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 12.4,
"whiff_percent": 22.0,
"swing_percent": 53.2
},
"components": {
"expected_quality": 0.9266,
"regression_edge": -0.8286,
"xwoba_edge": 0.9571,
"xba_edge": 1.8857,
"xslg_edge": 1.1286,
"barrel_edge": -0.0667,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 2.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "607208",
"player_name": "Trea Turner",
"offense_factor": 0.9878,
"quality_score": -0.1623,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607208",
"espn_id": 33710,
"player_name": "Trea Turner",
"team": "PHI",
"role": "batter",
"espn_rank": 250,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 250,
"gp_value": 60.0,
"gp_rank": 42,
"ab_value": 246.0,
"ab_rank": 6,
"r_value": 35.0,
"r_rank": 45,
"h_value": 56.0,
"h_rank": 66,
"avg_value": 0.2276422,
"avg_rank": 129.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 19.0,
"rbi_rank": 184,
"tb_value": 86.0,
"tb_rank": 753,
"bb_value": 17.0,
"bb_rank": 146,
"so_value": 58.0,
"so_rank": 51,
"sb_value": 11.0,
"sb_rank": 17,
"obp_value": 0.2765151,
"obp_rank": "158",
"slg_value": 0.3495934,
"slg_rank": "137",
"ops_value": 0.6261085,
"ops_rank": 151.0,
"war_value": 0.2,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 239.0,
"k_percent": 22.0,
"bb_percent": 6.4,
"woba": 0.28,
"xwoba": 0.287,
"xba": 0.238,
"xslg": 0.362,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 39.7,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 11.3,
"whiff_percent": 26.5,
"swing_percent": 51.8
},
"components": {
"expected_quality": -0.2213,
"regression_edge": 0.2,
"xwoba_edge": -0.5286,
"xba_edge": 0.0286,
"xslg_edge": -0.2,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.1714,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "656941",
"player_name": "Kyle Schwarber",
"offense_factor": 1.1049,
"quality_score": 1.3983,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656941",
"espn_id": 33712,
"player_name": "Kyle Schwarber",
"team": "PHI",
"role": "batter",
"espn_rank": 48,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 48,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 219.0,
"ab_rank": 61,
"r_value": 37.0,
"r_rank": 33,
"h_value": 51.0,
"h_rank": 94,
"avg_value": 0.2328767,
"avg_rank": 123.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 23.0,
"hr_rank": 1,
"rbi_value": 40.0,
"rbi_rank": 16,
"tb_value": 131.0,
"tb_rank": 310,
"bb_value": 36.0,
"bb_rank": 17,
"so_value": 89.0,
"so_rank": 2,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3513513,
"obp_rank": "52",
"slg_value": 0.5981735,
"slg_rank": "3",
"ops_value": 0.9495248,
"ops_rank": 3.0,
"war_value": 1.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 34.4,
"bb_percent": 13.9,
"woba": 0.404,
"xwoba": 0.38,
"xba": 0.232,
"xslg": 0.542,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 23.8,
"hard_hit_percent": 50.8,
"exit_velocity_avg": 92.9,
"launch_angle_avg": 22.1,
"whiff_percent": 33.3,
"swing_percent": 43.2
},
"components": {
"expected_quality": 1.7375,
"regression_edge": -0.6857,
"xwoba_edge": 2.1286,
"xba_edge": -0.1429,
"xslg_edge": 2.3714,
"barrel_edge": 2.5,
"hard_hit_edge": 1.7571,
"exit_velocity_edge": 1.64,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "547180",
"player_name": "Bryce Harper",
"offense_factor": 1.1292,
"quality_score": 1.7228,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "547180",
"espn_id": 30951,
"player_name": "Bryce Harper",
"team": "PHI",
"role": "batter",
"espn_rank": 95,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 95,
"gp_value": 61.0,
"gp_rank": 28,
"ab_value": 213.0,
"ab_rank": 83,
"r_value": 36.0,
"r_rank": 40,
"h_value": 55.0,
"h_rank": 73,
"avg_value": 0.2582159,
"avg_rank": 68.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 14.0,
"hr_rank": 15,
"rbi_value": 36.0,
"rbi_rank": 30,
"tb_value": 109.0,
"tb_rank": 302,
"bb_value": 36.0,
"bb_rank": 17,
"so_value": 47.0,
"so_rank": 101,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.3611111,
"obp_rank": "40",
"slg_value": 0.511737,
"slg_rank": "22",
"ops_value": 0.8728481,
"ops_rank": 20.0,
"war_value": 1.2,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 18.7,
"bb_percent": 14.3,
"woba": 0.377,
"xwoba": 0.413,
"xba": 0.291,
"xslg": 0.571,
"sweet_spot_percent": 36.7,
"barrel_batted_rate": 14.2,
"hard_hit_percent": 43.8,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 12.2,
"whiff_percent": 28.4,
"swing_percent": 51.4
},
"components": {
"expected_quality": 1.8358,
"regression_edge": 1.0286,
"xwoba_edge": 2.5,
"xba_edge": 1.5429,
"xslg_edge": 2.5,
"barrel_edge": 1.6222,
"hard_hit_edge": 0.7571,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.5667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "664761",
"player_name": "Alec Bohm",
"offense_factor": 0.9936,
"quality_score": -0.0853,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664761",
"espn_id": 41169,
"player_name": "Alec Bohm",
"team": "PHI",
"role": "batter",
"espn_rank": 526,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 526,
"gp_value": 57.0,
"gp_rank": 108,
"ab_value": 208.0,
"ab_rank": 98,
"r_value": 17.0,
"r_rank": 207,
"h_value": 43.0,
"h_rank": 146,
"avg_value": 0.2067307,
"avg_rank": 156.0,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 24.0,
"rbi_rank": 125,
"tb_value": 68.0,
"tb_rank": 1002,
"bb_value": 16.0,
"bb_rank": 164,
"so_value": 30.0,
"so_rank": 222,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.2663755,
"obp_rank": "167",
"slg_value": 0.326923,
"slg_rank": "155",
"ops_value": 0.5932985,
"ops_rank": 164.0,
"war_value": -0.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 204.0,
"k_percent": 13.1,
"bb_percent": 7.0,
"woba": 0.266,
"xwoba": 0.289,
"xba": 0.237,
"xslg": 0.344,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 42.5,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 11.2,
"whiff_percent": 16.4,
"swing_percent": 43.5
},
"components": {
"expected_quality": -0.2139,
"regression_edge": 0.6571,
"xwoba_edge": -0.4714,
"xba_edge": 0.0,
"xslg_edge": -0.4571,
"barrel_edge": -0.8,
"hard_hit_edge": 0.5714,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "592663",
"player_name": "J.T. Realmuto",
"offense_factor": 1.0127,
"quality_score": 0.169,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "592663",
"espn_id": 32177,
"player_name": "J.T. Realmuto",
"team": "PHI",
"role": "batter",
"espn_rank": 159,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 159,
"gp_value": 40.0,
"gp_rank": 260,
"ab_value": 130.0,
"ab_rank": 225,
"r_value": 12.0,
"r_rank": 279,
"h_value": 29.0,
"h_rank": 236,
"avg_value": 0.2230769,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 267,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 10.0,
"rbi_rank": 289,
"tb_value": 42.0,
"tb_rank": 1461,
"bb_value": 9.0,
"bb_rank": 271,
"so_value": 25.0,
"so_rank": 274,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.2965517,
"obp_rank": "-",
"slg_value": 0.3230769,
"slg_rank": "-",
"ops_value": 0.6196286,
"ops_rank": null,
"war_value": 0.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 130.0,
"k_percent": 17.2,
"bb_percent": 6.2,
"woba": 0.283,
"xwoba": 0.319,
"xba": 0.253,
"xslg": 0.391,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 40.6,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 11.4,
"whiff_percent": 22.0,
"swing_percent": 47.4
},
"components": {
"expected_quality": 0.165,
"regression_edge": 1.0286,
"xwoba_edge": 0.3857,
"xba_edge": 0.4571,
"xslg_edge": 0.2143,
"barrel_edge": -0.4889,
"hard_hit_edge": 0.3,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "666969",
"player_name": "Adolis García",
"offense_factor": 1.0043,
"quality_score": 0.0572,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666969",
"espn_id": 35537,
"player_name": "Adolis Garcia",
"team": "PHI",
"role": "batter",
"espn_rank": 529,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 529,
"gp_value": 60.0,
"gp_rank": 42,
"ab_value": 205.0,
"ab_rank": 104,
"r_value": 17.0,
"r_rank": 207,
"h_value": 40.0,
"h_rank": 166,
"avg_value": 0.1951219,
"avg_rank": 167.0,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 4.0,
"hr_rank": 173,
"rbi_value": 16.0,
"rbi_rank": 218,
"tb_value": 62.0,
"tb_rank": 939,
"bb_value": 20.0,
"bb_rank": 108,
"so_value": 72.0,
"so_rank": 18,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.275862,
"obp_rank": "163",
"slg_value": 0.302439,
"slg_rank": "167",
"ops_value": 0.578301,
"ops_rank": 170.0,
"war_value": -0.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 212.0,
"k_percent": 31.0,
"bb_percent": 8.6,
"woba": 0.264,
"xwoba": 0.289,
"xba": 0.218,
"xslg": 0.341,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 48.5,
"exit_velocity_avg": 92.4,
"launch_angle_avg": 13.8,
"whiff_percent": 33.9,
"swing_percent": 44.5
},
"components": {
"expected_quality": -0.0473,
"regression_edge": 0.7143,
"xwoba_edge": -0.4714,
"xba_edge": -0.5429,
"xslg_edge": -0.5,
"barrel_edge": 0.2667,
"hard_hit_edge": 1.4286,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "681082",
"player_name": "Bryson Stott",
"offense_factor": 1.0115,
"quality_score": 0.1537,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681082",
"espn_id": 42417,
"player_name": "Bryson Stott",
"team": "PHI",
"role": "batter",
"espn_rank": 490,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 490,
"gp_value": 55.0,
"gp_rank": 140,
"ab_value": 191.0,
"ab_rank": 127,
"r_value": 17.0,
"r_rank": 207,
"h_value": 41.0,
"h_rank": 158,
"avg_value": 0.2146596,
"avg_rank": 147.0,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 26.0,
"rbi_rank": 102,
"tb_value": 72.0,
"tb_rank": 638,
"bb_value": 12.0,
"bb_rank": 221,
"so_value": 35.0,
"so_rank": 184,
"sb_value": 10.0,
"sb_rank": 20,
"obp_value": 0.2634146,
"obp_rank": "168",
"slg_value": 0.3769633,
"slg_rank": "122",
"ops_value": 0.6403779,
"ops_rank": 142.0,
"war_value": -0.43,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 182.0,
"k_percent": 16.9,
"bb_percent": 5.8,
"woba": 0.282,
"xwoba": 0.302,
"xba": 0.248,
"xslg": 0.394,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 16.5,
"whiff_percent": 17.4,
"swing_percent": 43.2
},
"components": {
"expected_quality": 0.1229,
"regression_edge": 0.5714,
"xwoba_edge": -0.1,
"xba_edge": 0.3143,
"xslg_edge": 0.2571,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.2571,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "702222",
"player_name": "Justin Crawford",
"offense_factor": 0.9535,
"quality_score": -0.6199,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702222",
"espn_id": 5080642,
"player_name": "Justin Crawford",
"team": "PHI",
"role": "batter",
"espn_rank": 468,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 468,
"gp_value": 55.0,
"gp_rank": 140,
"ab_value": 174.0,
"ab_rank": 152,
"r_value": 14.0,
"r_rank": 255,
"h_value": 40.0,
"h_rank": 166,
"avg_value": 0.229885,
"avg_rank": 126.0,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 12.0,
"rbi_rank": 265,
"tb_value": 58.0,
"tb_rank": 1128,
"bb_value": 13.0,
"bb_rank": 202,
"so_value": 37.0,
"so_rank": 170,
"sb_value": 7.0,
"sb_rank": 49,
"obp_value": 0.2910052,
"obp_rank": "141",
"slg_value": 0.3333333,
"slg_rank": "147",
"ops_value": 0.6243385,
"ops_rank": 153.0,
"war_value": -0.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 173.0,
"k_percent": 19.6,
"bb_percent": 6.9,
"woba": 0.282,
"xwoba": 0.267,
"xba": 0.231,
"xslg": 0.297,
"sweet_spot_percent": 25.5,
"barrel_batted_rate": 1.5,
"hard_hit_percent": 35.8,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 1.2,
"whiff_percent": 19.1,
"swing_percent": 51.0
},
"components": {
"expected_quality": -0.8469,
"regression_edge": -0.4286,
"xwoba_edge": -1.1,
"xba_edge": -0.1714,
"xslg_edge": -1.1286,
"barrel_edge": -1.2,
"hard_hit_edge": -0.3857,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": -1.3,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0082,
"raw_average_factor": 1.0082,
"team_espn_average_rank": 264.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "664034",
"player_name": "Ty France",
"offense_factor": 1.022,
"quality_score": 0.2928,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "664034",
"espn_id": 35591,
"player_name": "Ty France",
"team": "SD",
"role": "batter",
"espn_rank": 82,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 82,
"gp_value": 40.0,
"gp_rank": 260,
"ab_value": 110.0,
"ab_rank": 274,
"r_value": 13.0,
"r_rank": 268,
"h_value": 32.0,
"h_rank": 219,
"avg_value": 0.290909,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 235,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 6.0,
"hr_rank": 115,
"rbi_value": 18.0,
"rbi_rank": 194,
"tb_value": 59.0,
"tb_rank": 821,
"bb_value": 4.0,
"bb_rank": 378,
"so_value": 26.0,
"so_rank": 262,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3217391,
"obp_rank": "-",
"slg_value": 0.5363636,
"slg_rank": "-",
"ops_value": 0.8581027,
"ops_rank": null,
"war_value": 1.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 98.0,
"k_percent": 22.4,
"bb_percent": 3.4,
"woba": 0.371,
"xwoba": 0.331,
"xba": 0.261,
"xslg": 0.478,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 52.4,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 7.5,
"whiff_percent": 28.4,
"swing_percent": 55.0
},
"components": {
"expected_quality": 0.9427,
"regression_edge": -1.1429,
"xwoba_edge": 0.7286,
"xba_edge": 0.6857,
"xslg_edge": 1.4571,
"barrel_edge": 1.4222,
"hard_hit_edge": 1.9857,
"exit_velocity_edge": 1.32,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"offense_factor": 1.0693,
"quality_score": 0.9243,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "665487",
"espn_id": 35983,
"player_name": "Fernando Tatis Jr.",
"team": "SD",
"role": "batter",
"espn_rank": 164,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 164,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 222.0,
"ab_rank": 54,
"r_value": 23.0,
"r_rank": 134,
"h_value": 61.0,
"h_rank": 40,
"avg_value": 0.2747747,
"avg_rank": 48.0,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 18.0,
"rbi_rank": 194,
"tb_value": 73.0,
"tb_rank": 1304,
"bb_value": 24.0,
"bb_rank": 68,
"so_value": 55.0,
"so_rank": 68,
"sb_value": 14.0,
"sb_rank": 8,
"obp_value": 0.345238,
"obp_rank": "65",
"slg_value": 0.3288288,
"slg_rank": "153",
"ops_value": 0.6740668,
"ops_rank": 129.0,
"war_value": 0.64,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 21.7,
"bb_percent": 9.5,
"woba": 0.306,
"xwoba": 0.347,
"xba": 0.28,
"xslg": 0.406,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 51.7,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 1.7,
"whiff_percent": 29.4,
"swing_percent": 48.3
},
"components": {
"expected_quality": 0.8841,
"regression_edge": 1.1714,
"xwoba_edge": 1.1857,
"xba_edge": 1.2286,
"xslg_edge": 0.4286,
"barrel_edge": 0.6667,
"hard_hit_edge": 1.8857,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "592518",
"player_name": "Manny Machado",
"offense_factor": 1.0258,
"quality_score": 0.3444,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "592518",
"espn_id": 31097,
"player_name": "Manny Machado",
"team": "SD",
"role": "batter",
"espn_rank": 522,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 522,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 209.0,
"ab_rank": 95,
"r_value": 28.0,
"r_rank": 83,
"h_value": 36.0,
"h_rank": 185,
"avg_value": 0.1722488,
"avg_rank": 173.0,
"2b_value": 6.0,
"2b_rank": 205,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 10.0,
"hr_rank": 42,
"rbi_value": 30.0,
"rbi_rank": 63,
"tb_value": 72.0,
"tb_rank": 850,
"bb_value": 27.0,
"bb_rank": 46,
"so_value": 56.0,
"so_rank": 62,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.2625,
"obp_rank": "168",
"slg_value": 0.3444976,
"slg_rank": "144",
"ops_value": 0.6069976,
"ops_rank": 161.0,
"war_value": -0.67,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 23.2,
"bb_percent": 11.2,
"woba": 0.27,
"xwoba": 0.312,
"xba": 0.23,
"xslg": 0.393,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 44.3,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 10.8,
"whiff_percent": 25.3,
"swing_percent": 48.3
},
"components": {
"expected_quality": 0.2182,
"regression_edge": 1.2,
"xwoba_edge": 0.1857,
"xba_edge": -0.2,
"xslg_edge": 0.2429,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.8286,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.6,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "657757",
"player_name": "Gavin Sheets",
"offense_factor": 1.0288,
"quality_score": 0.3833,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657757",
"espn_id": 40700,
"player_name": "Gavin Sheets",
"team": "SD",
"role": "batter",
"espn_rank": 218,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 218,
"gp_value": 55.0,
"gp_rank": 140,
"ab_value": 170.0,
"ab_rank": 162,
"r_value": 23.0,
"r_rank": 134,
"h_value": 41.0,
"h_rank": 158,
"avg_value": 0.2411764,
"avg_rank": 107.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 10.0,
"hr_rank": 42,
"rbi_value": 25.0,
"rbi_rank": 115,
"tb_value": 81.0,
"tb_rank": 696,
"bb_value": 21.0,
"bb_rank": 96,
"so_value": 44.0,
"so_rank": 128,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.3316062,
"obp_rank": "83",
"slg_value": 0.4764705,
"slg_rank": "36",
"ops_value": 0.8080767,
"ops_rank": 56.0,
"war_value": 0.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 165.0,
"k_percent": 22.8,
"bb_percent": 10.9,
"woba": 0.355,
"xwoba": 0.336,
"xba": 0.242,
"xslg": 0.43,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 45.2,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 16.1,
"whiff_percent": 21.7,
"swing_percent": 43.2
},
"components": {
"expected_quality": 0.6827,
"regression_edge": -0.5429,
"xwoba_edge": 0.8714,
"xba_edge": 0.1429,
"xslg_edge": 0.7714,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.9571,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.5333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "701538",
"player_name": "Jackson Merrill",
"offense_factor": 1.0422,
"quality_score": 0.5625,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "701538",
"espn_id": 4872691,
"player_name": "Jackson Merrill",
"team": "SD",
"role": "batter",
"espn_rank": 285,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 285,
"gp_value": 57.0,
"gp_rank": 108,
"ab_value": 214.0,
"ab_rank": 79,
"r_value": 26.0,
"r_rank": 105,
"h_value": 44.0,
"h_rank": 136,
"avg_value": 0.2056074,
"avg_rank": 159.0,
"2b_value": 11.0,
"2b_rank": 61,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 22.0,
"rbi_rank": 147,
"tb_value": 70.0,
"tb_rank": 960,
"bb_value": 20.0,
"bb_rank": 108,
"so_value": 60.0,
"so_rank": 43,
"sb_value": 10.0,
"sb_rank": 20,
"obp_value": 0.2765957,
"obp_rank": "158",
"slg_value": 0.3271028,
"slg_rank": "155",
"ops_value": 0.6036985,
"ops_rank": 162.0,
"war_value": 0.11,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 210.0,
"k_percent": 25.3,
"bb_percent": 8.4,
"woba": 0.27,
"xwoba": 0.317,
"xba": 0.245,
"xslg": 0.419,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 45.5,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 13.4,
"whiff_percent": 28.3,
"swing_percent": 54.3
},
"components": {
"expected_quality": 0.4666,
"regression_edge": 1.3429,
"xwoba_edge": 0.3286,
"xba_edge": 0.2286,
"xslg_edge": 0.6143,
"barrel_edge": 0.6222,
"hard_hit_edge": 1.0,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "593428",
"player_name": "Xander Bogaerts",
"offense_factor": 1.0196,
"quality_score": 0.2608,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "593428",
"espn_id": 31606,
"player_name": "Xander Bogaerts",
"team": "SD",
"role": "batter",
"espn_rank": 126,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 126,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 208.0,
"ab_rank": 98,
"r_value": 25.0,
"r_rank": 120,
"h_value": 49.0,
"h_rank": 105,
"avg_value": 0.2355769,
"avg_rank": 117.0,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 8.0,
"hr_rank": 65,
"rbi_value": 27.0,
"rbi_rank": 91,
"tb_value": 76.0,
"tb_rank": 943,
"bb_value": 22.0,
"bb_rank": 79,
"so_value": 42.0,
"so_rank": 138,
"sb_value": 9.0,
"sb_rank": 34,
"obp_value": 0.3090128,
"obp_rank": "124",
"slg_value": 0.3653846,
"slg_rank": "127",
"ops_value": 0.6743974,
"ops_rank": 129.0,
"war_value": 0.87,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 205.0,
"k_percent": 18.0,
"bb_percent": 9.4,
"woba": 0.303,
"xwoba": 0.324,
"xba": 0.255,
"xslg": 0.403,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 8.0,
"whiff_percent": 22.8,
"swing_percent": 44.1
},
"components": {
"expected_quality": 0.2277,
"regression_edge": 0.6,
"xwoba_edge": 0.5286,
"xba_edge": 0.5143,
"xslg_edge": 0.3857,
"barrel_edge": -0.0667,
"hard_hit_edge": -0.4,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": -0.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "609280",
"player_name": "Miguel Andujar",
"offense_factor": 0.9859,
"quality_score": -0.1881,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "609280",
"espn_id": 33743,
"player_name": "Miguel Andujar",
"team": "SD",
"role": "batter",
"espn_rank": 293,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 293,
"gp_value": 49.0,
"gp_rank": 188,
"ab_value": 178.0,
"ab_rank": 147,
"r_value": 18.0,
"r_rank": 196,
"h_value": 47.0,
"h_rank": 118,
"avg_value": 0.2640449,
"avg_rank": 60.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 17.0,
"rbi_rank": 202,
"tb_value": 78.0,
"tb_rank": 608,
"bb_value": 6.0,
"bb_rank": 322,
"so_value": 32.0,
"so_rank": 210,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.2956989,
"obp_rank": "135",
"slg_value": 0.4382022,
"slg_rank": "68",
"ops_value": 0.7339011,
"ops_rank": 94.0,
"war_value": 0.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 160.0,
"k_percent": 17.2,
"bb_percent": 3.2,
"woba": 0.319,
"xwoba": 0.292,
"xba": 0.261,
"xslg": 0.38,
"sweet_spot_percent": 28.8,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 37.7,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 7.0,
"whiff_percent": 19.3,
"swing_percent": 54.5
},
"components": {
"expected_quality": -0.1752,
"regression_edge": -0.7714,
"xwoba_edge": -0.3857,
"xba_edge": 0.6857,
"xslg_edge": 0.0571,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.1143,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.75,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "666023",
"player_name": "Freddy Fermin",
"offense_factor": 0.954,
"quality_score": -0.6127,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666023",
"espn_id": 41928,
"player_name": "Freddy Fermin",
"team": "SD",
"role": "batter",
"espn_rank": 369,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 369,
"gp_value": 44.0,
"gp_rank": 228,
"ab_value": 100.0,
"ab_rank": 287,
"r_value": 11.0,
"r_rank": 296,
"h_value": 13.0,
"h_rank": 368,
"avg_value": 0.13,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 267,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 4.0,
"rbi_rank": 398,
"tb_value": 17.0,
"tb_rank": 2196,
"bb_value": 12.0,
"bb_rank": 221,
"so_value": 26.0,
"so_rank": 262,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.2327586,
"obp_rank": "-",
"slg_value": 0.17,
"slg_rank": "-",
"ops_value": 0.4027586,
"ops_rank": null,
"war_value": -0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 105.0,
"k_percent": 22.4,
"bb_percent": 10.3,
"woba": 0.199,
"xwoba": 0.238,
"xba": 0.172,
"xslg": 0.225,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 25.0,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 13.8,
"whiff_percent": 27.2,
"swing_percent": 50.0
},
"components": {
"expected_quality": -1.6742,
"regression_edge": 1.1143,
"xwoba_edge": -1.9286,
"xba_edge": -1.8571,
"xslg_edge": -2.1571,
"barrel_edge": -1.5333,
"hard_hit_edge": -1.9286,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": -0.7333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "669369",
"player_name": "Bryce Johnson",
"offense_factor": 0.926,
"quality_score": -0.9873,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669369",
"espn_id": 42056,
"player_name": "Bryce Johnson",
"team": "SD",
"role": "batter",
"espn_rank": 325,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 325,
"gp_value": 27.0,
"gp_rank": 351,
"ab_value": 33.0,
"ab_rank": 423,
"r_value": 5.0,
"r_rank": 392,
"h_value": 6.0,
"h_rank": 427,
"avg_value": 0.1818181,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 365,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 2.0,
"rbi_rank": 438,
"tb_value": 8.0,
"tb_rank": 2353,
"bb_value": 3.0,
"bb_rank": 397,
"so_value": 14.0,
"so_rank": 381,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.2424242,
"slg_rank": "-",
"ops_value": 0.4924242,
"ops_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 33.0,
"k_percent": 37.8,
"bb_percent": 8.1,
"woba": 0.229,
"xwoba": 0.169,
"xba": 0.128,
"xslg": 0.147,
"sweet_spot_percent": 20.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 10.0,
"exit_velocity_avg": 79.7,
"launch_angle_avg": 19.0,
"whiff_percent": 36.8,
"swing_percent": 48.9
},
"components": {
"expected_quality": -2.272,
"regression_edge": -1.7143,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -2.5,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": -2.2167,
"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 SD | True | 371 | -0.3101 | 0.4500 | 1.0264 | 0.9581 | 1.0900 | 0.9862 | neutral | 0.3500 | 0.3590 | 10.50 | 21.10 | 21.50 | 2.60 | 42.10 | |
| Home PHI | True | 16 | 0.1766 | 0.5600 | 0.9850 | 1.0061 | 0.9586 | 0.9908 | negative_pitcher_regression | 0.2840 | 0.2500 | 24.40 | 5.50 | 25.80 | 8 | 37.70 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SD | True | None | 82 | 84.13 | 1879 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2800 | |
| Home PHI | True | None | 95 | 90.38 | 2359 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0381 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9916 |
| home_runs_vs_away_pitcher | 1.0119 |
| home_pitcher_quality_edge | 0.4867 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "554430",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 140.0,
"k_percent": 24.4,
"bb_percent": 5.5,
"woba": 0.25,
"xwoba": 0.284,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.2875,
"avg_hyper_speed": 93.6876,
"whiff_percent": 25.8,
"swing_percent": 50.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5884,
"command_and_miss": 0.3071,
"regression_edge": -0.9714,
"xwoba_edge": 0.8857,
"barrel_edge": -0.1778,
"hard_hit_edge": 0.1,
"whiff_edge": 0.0,
"bb_edge": 0.925,
"pitch_design_score": 0.0381
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "554430",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"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.381,
"release_spin_rate": 2359.0459,
"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.0381,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2723,
"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.1766,
"sample_weight": 0.56,
"run_prevention_factor": 0.985,
"strikeout_factor": 1.0061,
"walk_factor": 0.9586,
"homer_factor": 0.9908,
"woba_minus_xwoba": -0.034,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "554430",
"espn_id": 31267,
"player_name": "Zack Wheeler",
"team": "PHI",
"role": "pitcher",
"espn_rank": 16,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 16,
"gp_value": 7.0,
"gp_rank": 415,
"gs_value": 7.0,
"gs_rank": 132,
"qs_value": 5.0,
"qs_rank": 34,
"era_value": 2.2671,
"era_rank": null,
"w_value": 4.0,
"w_rank": 46,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 43.2,
"ip_rank": 131,
"h_value": 28.0,
"h_rank": 176,
"er_value": 11.0,
"er_rank": 242,
"hr_value": 5.0,
"hr_rank": 120,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 40.0,
"k_rank": 127,
"k_per_9_value": 8.244275,
"k_per_9_rank": 26,
"whip_value": 0.8473,
"whip_rank": null,
"war_value": 2.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "608337",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 41.0,
"k_percent": 10.5,
"bb_percent": 21.1,
"woba": 0.359,
"xwoba": 0.35,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 42.1,
"avg_best_speed": 78.3905,
"avg_hyper_speed": 94.3091,
"whiff_percent": 21.5,
"swing_percent": 38.6
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.5462,
"command_and_miss": -1.4864,
"regression_edge": 0.2571,
"xwoba_edge": -1.0,
"barrel_edge": 1.0222,
"hard_hit_edge": -0.5286,
"whiff_edge": -0.6143,
"bb_edge": -2.5,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "608337",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 82,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 84.12649075730471,
"release_spin_rate": 1879.2829457364342,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 84.12649075730471,
"release_spin_rate": 1879.2829457364342,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.1265,
"release_spin_rate": 1879.2829,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.3101,
"sample_weight": 0.45,
"run_prevention_factor": 1.0264,
"strikeout_factor": 0.9581,
"walk_factor": 1.09,
"homer_factor": 0.9862,
"woba_minus_xwoba": 0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608337",
"espn_id": 32697,
"player_name": "Lucas Giolito",
"team": "SD",
"role": "pitcher",
"espn_rank": 371,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 371,
"gp_value": 3.0,
"gp_rank": 514,
"gs_value": 3.0,
"gs_rank": 172,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.9736,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 12.2,
"ip_rank": 426,
"h_value": 10.0,
"h_rank": 445,
"er_value": 7.0,
"er_rank": 363,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 12.0,
"bb_rank": 213,
"k_value": 6.0,
"k_rank": 485,
"k_per_9_value": 4.263158,
"k_per_9_rank": 30,
"whip_value": 1.7368,
"whip_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9916,
"home_runs_vs_away_pitcher": 1.0119,
"home_pitcher_quality_edge": 0.4867
},
"score_before": {
"away_runs": 1.0,
"home_runs": 2.0
},
"score_after": {
"away_runs": 0.9916,
"home_runs": 2.0238,
"home_win_probability": 0.5965
},
"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 SD | 10-45 | 0.182 | 0.80 | 3.20 | -130 | cold | strong | |
| Home PHI | 11-46 | 0.193 | 0.60 | 3.30 | -151 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away SD | 32-28 | 0.533 | -8 | -0.133 | True |
| Home PHI | 32-29 | 0.525 | -24 | -0.393 | True |
| Signal | - | - | -0.260 | -0.273 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target SD | - | - | 1 | - | - | - | - |
| Game target PHI | - | - | 3 | - | - | - | - |
| Player finalized SD | 55 | 11 | 7 | 0 | 6 | 6 | 14 |
| Player finalized PHI | 62 | 13 | 8 | 2 | 7 | 4 | 15 |
| Player model fractional SD | 55.05 | 11.68 | 5.81 | 1.65 | 5.57 | 5.17 | 13.89 |
| Player model fractional PHI | 61.56 | 14.18 | 7.24 | 2.40 | 6.80 | 5.68 | 14.70 |
| Simulation box SD | 32 | 5 | 1 | 1 | 1 | 2 | 7 |
| Simulation box PHI | 34 | 10 | 4 | 0 | 4 | 4 | 9 |
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 SD | Starter | Lucas Giolito | 4.10 | 4 | 3 | 6 | 3 | 4.58 | 1.48 | True |
| Away SD | Middle Reliever | Jeremiah Estrada | 1 | 0 | 2 | 1 | 0 | 4.07 | 1.32 | True |
| Away SD | Middle Reliever | Mason Miller | 1 | 0 | 2 | 0 | 1 | 2.26 | 1.30 | True |
| Away SD | Middle Reliever | Adrian Morejon | 0.20 | 0 | 0 | 2 | 0 | 2.41 | 0.98 | True |
| Away SD | Middle Reliever | Jason Adam | 1 | 0 | 2 | 1 | 0 | 3.99 | 1.51 | True |
| Home PHI | Starter | Zack Wheeler | 6.10 | 1 | 6 | 3 | 0 | 3.10 | 1.02 | True |
| Home PHI | Middle Reliever | Brad Keller | 1 | 0 | 0 | 0 | 0 | 3.81 | 1.38 | True |
| Home PHI | Middle Reliever | Jhoan Duran | 1 | 0 | 0 | 2 | 0 | 2.70 | 0.97 | True |
| Home PHI | Middle Reliever | Orion Kerkering | 0.20 | 0 | 1 | 0 | 2 | 3.45 | 1.22 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | PHI | batter | SS | Trea Turner | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 2.0120 | boost | worse |
| home | PHI | batter | DH | Kyle Schwarber | better | 9 | 5 | 4 | 6 | 3 | predicted_SO | -1.5370 | deboost | better |
| home | PHI | batter | RF | Adolis García | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | 1.3300 | boost | better |
| home | PHI | batter | CF | Justin Crawford | better | 11 | 7 | 4 | 6 | 5 | predicted_SO | 1.3200 | boost | worse |
| home | PHI | batter | LF | Brandon Marsh | worse | 11 | 5 | 6 | 4 | 7 | predicted_SO | 1.2340 | boost | worse |
| away | SD | batter | 2B | Fernando Tatis Jr. | worse | 10 | 1 | 9 | 1 | 9 | predicted_H | -1.1300 | deboost | worse |
| home | PHI | batter | 1B | Bryce Harper | better | 10 | 6 | 4 | 7 | 3 | predicted_H | 1.1000 | boost | better |
| away | SD | batter | CF | Jackson Merrill | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.0810 | deboost | better |
| home | PHI | pitcher | Starter | Zack Wheeler | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| home | PHI | pitcher | Middle Reliever | Jhoan Duran | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| away | SD | batter | 3B | Manny Machado | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -0.9730 | deboost | better |
| away | SD | batter | SS | Xander Bogaerts | worse | 11 | 6 | 5 | 5 | 6 | predicted_HR | 0.8700 | boost | better |
| away | SD | batter | DH | Miguel Andujar | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.8500 | deboost | worse |
| home | PHI | batter | 3B | Alec Bohm | worse | 11 | 3 | 8 | 4 | 7 | predicted_2B | 0.8500 | boost | better |
| away | SD | batter | RF | Bryce Johnson | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 0.8330 | boost | worse |
| away | SD | batter | C | Freddy Fermin | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | 0.8260 | boost | better |
| away | SD | batter | 1B | Ty France | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.8200 | deboost | worse |
| home | PHI | batter | 2B | Bryson Stott | worse | 11 | 2 | 9 | 3 | 8 | predicted_BB | 0.7580 | boost | better |
| away | SD | pitcher | Starter | Lucas Giolito | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.5667 | deboost | worse |
| home | PHI | batter | C | J.T. Realmuto | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 0.5070 | boost | better |
| away | SD | batter | LF | Gavin Sheets | worse | 11 | 4 | 7 | 3 | 8 | predicted_AB | 0.5000 | boost | better |
| away | SD | pitcher | Middle Reliever | Adrian Morejon | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | PHI | pitcher | Middle Reliever | Orion Kerkering | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | SD | pitcher | Middle Reliever | Jason Adam | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Lucas Giolito |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3101 |
| ESPN Rank | 371 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 84.1265 |
| Avg Spin | 1879.2829 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.1000 |
| Pre ER | 4 |
| Pre H | 6 |
| Pre BB | 3 |
| Pre SO | 3 |
| Season ERA | 4.9737 |
| Season WHIP | 1.7368 |
| Role Avg IP | 4.2220 |
| Recent Avg IP | 4.2220 |
| Last Start IP | 2.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 66,
"wins": 34,
"losses": 32,
"win_pct": 0.5152,
"runs_scored": 262.0,
"runs_allowed": 278.0,
"run_differential": -16.0,
"run_differential_per_game": -0.2424,
"avg_runs_scored": 3.9697,
"avg_runs_allowed": 4.2121,
"offense_index": 0.8876,
"defense_index": 1.0617,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 3.9,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1219
},
"opponent": {
"team": "PHI",
"games": 68,
"wins": 33,
"losses": 35,
"win_pct": 0.4853,
"runs_scored": 260.0,
"runs_allowed": 292.0,
"run_differential": -32.0,
"run_differential_per_game": -0.4706,
"avg_runs_scored": 3.8235,
"avg_runs_allowed": 4.2941,
"offense_index": 0.855,
"defense_index": 1.0415,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 2.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0004
},
"edges": {
"quality_edge": -0.1215,
"offense_edge": -0.1124,
"opponent_offense_edge": -0.145,
"defense_strength": 0.0617,
"opponent_defense_weakness": -0.0415,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 1.0028,
"run_prevention": 0.9767,
"strikeout": 1.008
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "608337",
"profile": {
"available": true,
"pitcher_id": "608337",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 41.0,
"k_percent": 10.5,
"bb_percent": 21.1,
"woba": 0.359,
"xwoba": 0.35,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 42.1,
"avg_best_speed": 78.3905,
"avg_hyper_speed": 94.3091,
"whiff_percent": 21.5,
"swing_percent": 38.6
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.5462,
"command_and_miss": -1.4864,
"regression_edge": 0.2571,
"xwoba_edge": -1.0,
"barrel_edge": 1.0222,
"hard_hit_edge": -0.5286,
"whiff_edge": -0.6143,
"bb_edge": -2.5,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "608337",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 82,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 84.12649075730471,
"release_spin_rate": 1879.2829457364342,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 84.12649075730471,
"release_spin_rate": 1879.2829457364342,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.1265,
"release_spin_rate": 1879.2829,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.3101,
"sample_weight": 0.45,
"run_prevention_factor": 1.0264,
"strikeout_factor": 0.9581,
"walk_factor": 1.09,
"homer_factor": 0.9862,
"woba_minus_xwoba": 0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608337",
"espn_id": 32697,
"player_name": "Lucas Giolito",
"team": "SD",
"role": "pitcher",
"espn_rank": 371,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 371,
"gp_value": 3.0,
"gp_rank": 514,
"gs_value": 3.0,
"gs_rank": 172,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.9736,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 12.2,
"ip_rank": 426,
"h_value": 10.0,
"h_rank": 445,
"er_value": 7.0,
"er_rank": 363,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 12.0,
"bb_rank": 213,
"k_value": 6.0,
"k_rank": 485,
"k_per_9_value": 4.263158,
"k_per_9_rank": 30,
"whip_value": 1.7368,
"whip_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0119,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 1.0119,
"adjusted": 4
},
"predicted_BB": {
"original": 4.0,
"factor": 1.0405,
"adjusted": 4
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9938,
"adjusted": 1
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9811,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 12.2,
"ER": 7,
"H": 10,
"BB": 12,
"SO": 6,
"HR": 2,
"ERA": 4.973684210526316,
"WHIP": 1.736842105263158,
"K9": 4.2631578947368425,
"HR9": 1.4210526315789473,
"games_pitched": 3,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 3,
"error_prone": false
},
"games_count": 3,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "608337",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 82,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 84.12649075730471,
"release_spin_rate": 1879.2829457364342,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 84.12649075730471,
"release_spin_rate": 1879.2829457364342,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.1265,
"release_spin_rate": 1879.2829,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"role": "pitcher",
"player_id": "608337",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 3,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 3,
"totals": {
"IP": 12.2,
"ER": 7.0,
"R": 7.0,
"H": 10.0,
"BB": 12.0,
"SO": 6.0,
"HR": 2.0,
"BF": 57.0,
"Pitches": 241.0
},
"per_game": {
"IP": 4.1,
"ER": 2.3333,
"R": 2.3333,
"H": 3.3333,
"BB": 4.0,
"SO": 2.0,
"HR": 0.6667,
"BF": 19.0,
"Pitches": 80.3333
},
"rates": {
"ERA": 4.9737,
"WHIP": 1.7368,
"ER_per_IP": 0.55263,
"H_per_IP": 0.78947,
"BB_per_IP": 0.94737,
"SO_per_IP": 0.47368,
"HR_per_IP": 0.15789
}
},
"last_10": {
"games": 3,
"totals": {
"IP": 12.2,
"ER": 7.0,
"R": 7.0,
"H": 10.0,
"BB": 12.0,
"SO": 6.0,
"HR": 2.0,
"BF": 57.0,
"Pitches": 241.0
},
"per_game": {
"IP": 4.1,
"ER": 2.3333,
"R": 2.3333,
"H": 3.3333,
"BB": 4.0,
"SO": 2.0,
"HR": 0.6667,
"BF": 19.0,
"Pitches": 80.3333
},
"rates": {
"ERA": 4.9737,
"WHIP": 1.7368,
"ER_per_IP": 0.55263,
"H_per_IP": 0.78947,
"BB_per_IP": 0.94737,
"SO_per_IP": 0.47368,
"HR_per_IP": 0.15789
}
},
"season": {
"games": 3,
"totals": {
"IP": 12.2,
"ER": 7.0,
"R": 7.0,
"H": 10.0,
"BB": 12.0,
"SO": 6.0,
"HR": 2.0,
"BF": 57.0,
"Pitches": 241.0
},
"per_game": {
"IP": 4.1,
"ER": 2.3333,
"R": 2.3333,
"H": 3.3333,
"BB": 4.0,
"SO": 2.0,
"HR": 0.6667,
"BF": 19.0,
"Pitches": 80.3333
},
"rates": {
"ERA": 4.9737,
"WHIP": 1.7368,
"ER_per_IP": 0.55263,
"H_per_IP": 0.78947,
"BB_per_IP": 0.94737,
"SO_per_IP": 0.47368,
"HR_per_IP": 0.15789
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.311,
"predicted_H": 4.058,
"predicted_BB": 2.655,
"predicted_SO": 3.478,
"predicted_HR": 0.658,
"predicted_ERA": 4.5793,
"predicted_WHIP": 1.478
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6141,
"form_weight": 0.3859,
"form_reliability": 0.375,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.311,
"final": 3.3482,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.058,
"final": 5.2505,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.655,
"final": 2.8669,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.478,
"final": 3.1845,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.658,
"final": 0.2539,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5793,
"final": 4.5793,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.478,
"final": 1.478,
"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 | Jeremiah Estrada |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1834 |
| ESPN Rank | 233 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0392 |
| Avg Velo | 90.4011 |
| Avg Spin | 1876.6970 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.4839 |
| Season WHIP | 1.1129 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 66,
"wins": 34,
"losses": 32,
"win_pct": 0.5152,
"runs_scored": 262.0,
"runs_allowed": 278.0,
"run_differential": -16.0,
"run_differential_per_game": -0.2424,
"avg_runs_scored": 3.9697,
"avg_runs_allowed": 4.2121,
"offense_index": 0.8876,
"defense_index": 1.0617,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 3.9,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1219
},
"opponent": {
"team": "PHI",
"games": 68,
"wins": 33,
"losses": 35,
"win_pct": 0.4853,
"runs_scored": 260.0,
"runs_allowed": 292.0,
"run_differential": -32.0,
"run_differential_per_game": -0.4706,
"avg_runs_scored": 3.8235,
"avg_runs_allowed": 4.2941,
"offense_index": 0.855,
"defense_index": 1.0415,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 2.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0004
},
"edges": {
"quality_edge": -0.1215,
"offense_edge": -0.1124,
"opponent_offense_edge": -0.145,
"defense_strength": 0.0617,
"opponent_defense_weakness": -0.0415,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 1.0028,
"run_prevention": 0.9767,
"strikeout": 1.008
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669093",
"profile": {
"available": true,
"pitcher_id": "669093",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 67.0,
"k_percent": 28.0,
"bb_percent": 12.2,
"woba": 0.269,
"xwoba": 0.295,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 32.7,
"avg_best_speed": 72.5209,
"avg_hyper_speed": 92.6977,
"whiff_percent": 33.3,
"swing_percent": 47.5
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.586,
"command_and_miss": 0.5786,
"regression_edge": -0.7429,
"xwoba_edge": 0.5714,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.8143,
"whiff_edge": 1.0714,
"bb_edge": -0.75,
"pitch_design_score": 0.0392
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669093",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 9,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 90.40111141933805,
"release_spin_rate": 1876.6969878929222,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 90.40111141933805,
"release_spin_rate": 1876.6969878929222,
"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.4011,
"release_spin_rate": 1876.697,
"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.0392,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2803,
"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.1834,
"sample_weight": 0.45,
"run_prevention_factor": 0.9844,
"strikeout_factor": 1.0334,
"walk_factor": 1.027,
"homer_factor": 0.9856,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669093",
"espn_id": 41014,
"player_name": "Jeremiah Estrada",
"team": "SD",
"role": "pitcher",
"espn_rank": 233,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 233,
"gp_value": 21.0,
"gp_rank": 128,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.4838,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 6.0,
"hld_rank": 57,
"ip_value": 20.2,
"ip_rank": 325,
"h_value": 13.0,
"h_rank": 395,
"er_value": 8.0,
"er_rank": 334,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 10.0,
"bb_rank": 258,
"k_value": 23.0,
"k_rank": 274,
"k_per_9_value": 10.016129,
"k_per_9_rank": 22,
"whip_value": 1.1129,
"whip_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.993,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.993,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0121,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9935,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.015,
"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": 3,
"H": 7,
"BB": 4,
"SO": 7,
"HR": 1,
"ERA": 2.8928571428571432,
"WHIP": 1.1785714285714288,
"K9": 6.750000000000001,
"HR9": 0.9642857142857144,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "669093",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 9,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 90.40111141933805,
"release_spin_rate": 1876.6969878929222,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 90.40111141933805,
"release_spin_rate": 1876.6969878929222,
"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.4011,
"release_spin_rate": 1876.697,
"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.0392,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2803,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.079,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4493,
"prior_weight": 0.5507
},
"role": "pitcher",
"player_id": "669093",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 68.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 3.4,
"Pitches": 13.6
},
"rates": {
"ERA": 4.5,
"WHIP": 1.5,
"ER_per_IP": 0.5,
"H_per_IP": 1.0,
"BB_per_IP": 0.5,
"SO_per_IP": 1.25,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 4.0,
"SO": 7.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 139.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.4,
"SO": 0.7,
"HR": 0.1,
"BF": 3.7,
"Pitches": 13.9
},
"rates": {
"ERA": 2.8929,
"WHIP": 1.1786,
"ER_per_IP": 0.32143,
"H_per_IP": 0.75,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.75,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 21,
"totals": {
"IP": 20.2,
"ER": 8.0,
"R": 10.0,
"H": 13.0,
"BB": 10.0,
"SO": 23.0,
"HR": 2.0,
"BF": 82.0,
"Pitches": 322.0
},
"per_game": {
"IP": 1.0,
"ER": 0.381,
"R": 0.4762,
"H": 0.619,
"BB": 0.4762,
"SO": 1.0952,
"HR": 0.0952,
"BF": 3.9048,
"Pitches": 15.3333
},
"rates": {
"ERA": 3.4839,
"WHIP": 1.1129,
"ER_per_IP": 0.3871,
"H_per_IP": 0.62903,
"BB_per_IP": 0.48387,
"SO_per_IP": 1.1129,
"HR_per_IP": 0.09677
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.422,
"predicted_H": 0.842,
"predicted_BB": 0.386,
"predicted_SO": 0.922,
"predicted_HR": 0.094,
"predicted_ERA": 4.0693,
"predicted_WHIP": 1.3171
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5827,
"form_weight": 0.4173,
"form_reliability": 0.4493,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.079,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4493,
"prior_weight": 0.5507
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.422,
"final": 0.1761,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.842,
"final": 0.9341,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.386,
"final": 0.1611,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.922,
"final": 1.5501,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.094,
"final": 0.0392,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0693,
"final": 4.0693,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3171,
"final": 1.3171,
"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 | Mason Miller |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.7979 |
| ESPN Rank | 43 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2346 |
| Avg Velo | 93.8895 |
| Avg Spin | 2463.0669 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 0.7200 |
| Season WHIP | 0.8400 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 66,
"wins": 34,
"losses": 32,
"win_pct": 0.5152,
"runs_scored": 262.0,
"runs_allowed": 278.0,
"run_differential": -16.0,
"run_differential_per_game": -0.2424,
"avg_runs_scored": 3.9697,
"avg_runs_allowed": 4.2121,
"offense_index": 0.8876,
"defense_index": 1.0617,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 3.9,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1219
},
"opponent": {
"team": "PHI",
"games": 68,
"wins": 33,
"losses": 35,
"win_pct": 0.4853,
"runs_scored": 260.0,
"runs_allowed": 292.0,
"run_differential": -32.0,
"run_differential_per_game": -0.4706,
"avg_runs_scored": 3.8235,
"avg_runs_allowed": 4.2941,
"offense_index": 0.855,
"defense_index": 1.0415,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 2.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0004
},
"edges": {
"quality_edge": -0.1215,
"offense_edge": -0.1124,
"opponent_offense_edge": -0.145,
"defense_strength": 0.0617,
"opponent_defense_weakness": -0.0415,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 1.0028,
"run_prevention": 0.9767,
"strikeout": 1.008
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695243",
"profile": {
"available": true,
"pitcher_id": "695243",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 90.0,
"k_percent": 51.0,
"bb_percent": 11.5,
"woba": 0.174,
"xwoba": 0.163,
"sweet_spot_percent": 27.8,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 13.9,
"avg_best_speed": 71.0671,
"avg_hyper_speed": 90.8087,
"whiff_percent": 52.2,
"swing_percent": 45.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 2.2014,
"command_and_miss": 1.885,
"regression_edge": 0.3143,
"xwoba_edge": 2.5,
"barrel_edge": 1.6,
"hard_hit_edge": 2.5,
"whiff_edge": 2.5,
"bb_edge": -0.575,
"pitch_design_score": 0.2346
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "695243",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 93.8894682638479,
"release_spin_rate": 2463.0668845480945,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 93.8894682638479,
"release_spin_rate": 2463.0668845480945,
"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": 93.8895,
"release_spin_rate": 2463.0669,
"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.2346,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6757,
"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.7979,
"sample_weight": 0.45,
"run_prevention_factor": 0.9322,
"strikeout_factor": 1.09,
"walk_factor": 1.0207,
"homer_factor": 0.8637,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695243",
"espn_id": 4730225,
"player_name": "Mason Miller",
"team": "SD",
"role": "pitcher",
"espn_rank": 43,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 43,
"gp_value": 24.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 0.72,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 17.0,
"sv_rank": 2,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 25.0,
"ip_rank": 260,
"h_value": 10.0,
"h_rank": 445,
"er_value": 2.0,
"er_rank": 551,
"hr_value": 0.0,
"hr_rank": 536,
"bb_value": 11.0,
"bb_rank": 227,
"k_value": 49.0,
"k_rank": 88,
"k_per_9_value": 17.640001,
"k_per_9_rank": 9,
"whip_value": 0.84,
"whip_rank": null,
"war_value": 1.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9695,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9695,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0093,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9387,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0405,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 0,
"H": 4,
"BB": 9,
"SO": 21,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.21875,
"K9": 17.71875,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "695243",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 93.8894682638479,
"release_spin_rate": 2463.0668845480945,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 93.8894682638479,
"release_spin_rate": 2463.0668845480945,
"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": 93.8895,
"release_spin_rate": 2463.0669,
"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.2346,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6757,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.934,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4967,
"prior_weight": 0.5033
},
"role": "pitcher",
"player_id": "695243",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 1.0,
"H": 2.0,
"BB": 6.0,
"SO": 9.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 121.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.4,
"BB": 1.2,
"SO": 1.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 24.2
},
"rates": {
"ERA": 0.0,
"WHIP": 1.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 1.125,
"SO_per_IP": 1.6875,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 0.0,
"R": 1.0,
"H": 4.0,
"BB": 9.0,
"SO": 21.0,
"HR": 0.0,
"BF": 46.0,
"Pitches": 217.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.1,
"H": 0.4,
"BB": 0.9,
"SO": 2.1,
"HR": 0.0,
"BF": 4.6,
"Pitches": 21.7
},
"rates": {
"ERA": 0.0,
"WHIP": 1.2188,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.84375,
"SO_per_IP": 1.96875,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 25.0,
"ER": 2.0,
"R": 3.0,
"H": 10.0,
"BB": 11.0,
"SO": 49.0,
"HR": 0.0,
"BF": 96.0,
"Pitches": 413.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0833,
"R": 0.125,
"H": 0.4167,
"BB": 0.4583,
"SO": 2.0417,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.2083
},
"rates": {
"ERA": 0.72,
"WHIP": 0.84,
"ER_per_IP": 0.08,
"H_per_IP": 0.4,
"BB_per_IP": 0.44,
"SO_per_IP": 1.96,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.251,
"predicted_H": 0.67,
"predicted_BB": 0.626,
"predicted_SO": 1.388,
"predicted_HR": 0.069,
"predicted_ERA": 2.2572,
"predicted_WHIP": 1.2963
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5626,
"form_weight": 0.4374,
"form_reliability": 0.4967,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.934,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4967,
"prior_weight": 0.5033
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.251,
"final": 0.1098,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.67,
"final": 0.293,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.626,
"final": 0.8364,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.388,
"final": 1.7323,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.069,
"final": 0.0302,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2572,
"final": 2.2572,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2963,
"final": 1.2963,
"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 | Adrian Morejon |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4776 |
| ESPN Rank | 300 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.8045 |
| Avg Spin | 2320.5686 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.9000 |
| Season WHIP | 1.0667 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 66,
"wins": 34,
"losses": 32,
"win_pct": 0.5152,
"runs_scored": 262.0,
"runs_allowed": 278.0,
"run_differential": -16.0,
"run_differential_per_game": -0.2424,
"avg_runs_scored": 3.9697,
"avg_runs_allowed": 4.2121,
"offense_index": 0.8876,
"defense_index": 1.0617,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 3.9,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1219
},
"opponent": {
"team": "PHI",
"games": 68,
"wins": 33,
"losses": 35,
"win_pct": 0.4853,
"runs_scored": 260.0,
"runs_allowed": 292.0,
"run_differential": -32.0,
"run_differential_per_game": -0.4706,
"avg_runs_scored": 3.8235,
"avg_runs_allowed": 4.2941,
"offense_index": 0.855,
"defense_index": 1.0415,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 2.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0004
},
"edges": {
"quality_edge": -0.1215,
"offense_edge": -0.1124,
"opponent_offense_edge": -0.145,
"defense_strength": 0.0617,
"opponent_defense_weakness": -0.0415,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 1.0028,
"run_prevention": 0.9767,
"strikeout": 1.008
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670970",
"profile": {
"available": true,
"pitcher_id": "670970",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 113.0,
"k_percent": 28.7,
"bb_percent": 4.9,
"woba": 0.266,
"xwoba": 0.259,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 28.7,
"avg_best_speed": 72.5244,
"avg_hyper_speed": 92.6907,
"whiff_percent": 35.7,
"swing_percent": 53.2
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.2966,
"command_and_miss": 1.1086,
"regression_edge": 0.2,
"xwoba_edge": 1.6,
"barrel_edge": 1.0444,
"hard_hit_edge": 1.3857,
"whiff_edge": 1.4143,
"bb_edge": 1.075,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670970",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 95.80445775047212,
"release_spin_rate": 2320.568589429103,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 95.80445775047212,
"release_spin_rate": 2320.568589429103,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.8045,
"release_spin_rate": 2320.5686,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.4776,
"sample_weight": 0.452,
"run_prevention_factor": 0.9594,
"strikeout_factor": 1.0416,
"walk_factor": 0.9611,
"homer_factor": 0.9155,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670970",
"espn_id": 40917,
"player_name": "Adrian Morejon",
"team": "SD",
"role": "pitcher",
"espn_rank": 300,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 300,
"gp_value": 27.0,
"gp_rank": 33,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.9,
"era_rank": null,
"w_value": 4.0,
"w_rank": 46,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 11.0,
"hld_rank": 5,
"ip_value": 30.0,
"ip_rank": 178,
"h_value": 26.0,
"h_rank": 198,
"er_value": 13.0,
"er_rank": 196,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 6.0,
"bb_rank": 388,
"k_value": 35.0,
"k_rank": 147,
"k_per_9_value": 10.5,
"k_per_9_rank": 22,
"whip_value": 1.0666,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9816,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9816,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9824,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9618,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0188,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 0,
"H": 4,
"BB": 1,
"SO": 9,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.5357142857142857,
"K9": 8.678571428571429,
"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-05-31T00:00:00"
}{
"available": true,
"pitcher_id": "670970",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 95.80445775047212,
"release_spin_rate": 2320.568589429103,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 95.80445775047212,
"release_spin_rate": 2320.568589429103,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.8045,
"release_spin_rate": 2320.5686,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.921,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5422,
"prior_weight": 0.4578
},
"role": "pitcher",
"player_id": "670970",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 0.0,
"SO": 3.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 58.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.0,
"SO": 0.6,
"HR": 0.0,
"BF": 3.2,
"Pitches": 11.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6429,
"ER_per_IP": 0.0,
"H_per_IP": 0.64286,
"BB_per_IP": 0.0,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 1.0,
"SO": 9.0,
"HR": 0.0,
"BF": 32.0,
"Pitches": 125.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.1,
"SO": 0.9,
"HR": 0.0,
"BF": 3.2,
"Pitches": 12.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5357,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.10714,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.0
}
},
"season": {
"games": 27,
"totals": {
"IP": 30.0,
"ER": 13.0,
"R": 14.0,
"H": 26.0,
"BB": 6.0,
"SO": 35.0,
"HR": 2.0,
"BF": 122.0,
"Pitches": 474.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4815,
"R": 0.5185,
"H": 0.963,
"BB": 0.2222,
"SO": 1.2963,
"HR": 0.0741,
"BF": 4.5185,
"Pitches": 17.5556
},
"rates": {
"ERA": 3.9,
"WHIP": 1.0667,
"ER_per_IP": 0.43333,
"H_per_IP": 0.86667,
"BB_per_IP": 0.2,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.06667
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.227,
"predicted_H": 0.652,
"predicted_BB": 0.178,
"predicted_SO": 0.76,
"predicted_HR": 0.059,
"predicted_ERA": 2.411,
"predicted_WHIP": 0.9797
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5434,
"form_weight": 0.4566,
"form_reliability": 0.5422,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.921,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5422,
"prior_weight": 0.4578
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.227,
"final": 0.1036,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.652,
"final": 1.3845,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.178,
"final": 0.0813,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.76,
"final": 0.347,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.059,
"final": 0.0269,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.411,
"final": 2.411,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9797,
"final": 0.9797,
"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 | Jason Adam |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1440 |
| ESPN Rank | 95 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1266 |
| Avg Velo | 87.4393 |
| Avg Spin | 2378.8974 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 1.7143 |
| Season WHIP | 1.1429 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 66,
"wins": 34,
"losses": 32,
"win_pct": 0.5152,
"runs_scored": 262.0,
"runs_allowed": 278.0,
"run_differential": -16.0,
"run_differential_per_game": -0.2424,
"avg_runs_scored": 3.9697,
"avg_runs_allowed": 4.2121,
"offense_index": 0.8876,
"defense_index": 1.0617,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 3.9,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1219
},
"opponent": {
"team": "PHI",
"games": 68,
"wins": 33,
"losses": 35,
"win_pct": 0.4853,
"runs_scored": 260.0,
"runs_allowed": 292.0,
"run_differential": -32.0,
"run_differential_per_game": -0.4706,
"avg_runs_scored": 3.8235,
"avg_runs_allowed": 4.2941,
"offense_index": 0.855,
"defense_index": 1.0415,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 2.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0004
},
"edges": {
"quality_edge": -0.1215,
"offense_edge": -0.1124,
"opponent_offense_edge": -0.145,
"defense_strength": 0.0617,
"opponent_defense_weakness": -0.0415,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 1.0028,
"run_prevention": 0.9767,
"strikeout": 1.008
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592094",
"profile": {
"available": true,
"pitcher_id": "592094",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 70.0,
"k_percent": 14.9,
"bb_percent": 5.7,
"woba": 0.298,
"xwoba": 0.277,
"sweet_spot_percent": 23.5,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 39.7,
"avg_best_speed": 76.8118,
"avg_hyper_speed": 93.4719,
"whiff_percent": 26.7,
"swing_percent": 54.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6072,
"command_and_miss": -0.2686,
"regression_edge": 0.6,
"xwoba_edge": 1.0857,
"barrel_edge": -0.0444,
"hard_hit_edge": -0.1857,
"whiff_edge": 0.1286,
"bb_edge": 0.875,
"pitch_design_score": -0.1266
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592094",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 87.43928033954349,
"release_spin_rate": 2378.897408650375,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 87.43928033954349,
"release_spin_rate": 2378.897408650375,
"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.4393,
"release_spin_rate": 2378.8974,
"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.1266,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9044,
"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.144,
"sample_weight": 0.45,
"run_prevention_factor": 0.9878,
"strikeout_factor": 0.9828,
"walk_factor": 0.9685,
"homer_factor": 0.9903,
"woba_minus_xwoba": 0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592094",
"espn_id": 32145,
"player_name": "Jason Adam",
"team": "SD",
"role": "pitcher",
"espn_rank": 95,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 95,
"gp_value": 24.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 1.7142,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 12.0,
"hld_rank": 3,
"ip_value": 21.0,
"ip_rank": 319,
"h_value": 19.0,
"h_rank": 291,
"er_value": 4.0,
"er_rank": 487,
"hr_value": 3.0,
"hr_rank": 207,
"bb_value": 5.0,
"bb_rank": 433,
"k_value": 13.0,
"k_rank": 403,
"k_per_9_value": 5.571429,
"k_per_9_rank": 34,
"whip_value": 1.1428,
"whip_rank": null,
"war_value": 0.87,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9945,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9945,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9858,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9956,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.9923,
"adjusted": 0
}
}
}
}{
"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": 11,
"BB": 2,
"SO": 8,
"HR": 2,
"ERA": 2.25,
"WHIP": 1.625,
"K9": 9.0,
"HR9": 2.25,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "592094",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 87.43928033954349,
"release_spin_rate": 2378.897408650375,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 87.43928033954349,
"release_spin_rate": 2378.897408650375,
"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.4393,
"release_spin_rate": 2378.8974,
"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.1266,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9044,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.145,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4532,
"prior_weight": 0.5468
},
"role": "pitcher",
"player_id": "592094",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.1,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 0.0,
"SO": 3.0,
"HR": 2.0,
"BF": 17.0,
"Pitches": 63.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 1.4,
"BB": 0.0,
"SO": 0.6,
"HR": 0.4,
"BF": 3.4,
"Pitches": 12.6
},
"rates": {
"ERA": 5.4,
"WHIP": 2.1,
"ER_per_IP": 0.6,
"H_per_IP": 2.1,
"BB_per_IP": 0.0,
"SO_per_IP": 0.9,
"HR_per_IP": 0.6
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 2.0,
"R": 2.0,
"H": 11.0,
"BB": 2.0,
"SO": 8.0,
"HR": 2.0,
"BF": 36.0,
"Pitches": 139.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 1.1,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 3.6,
"Pitches": 13.9
},
"rates": {
"ERA": 2.25,
"WHIP": 1.625,
"ER_per_IP": 0.25,
"H_per_IP": 1.375,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.25
}
},
"season": {
"games": 24,
"totals": {
"IP": 21.0,
"ER": 4.0,
"R": 4.0,
"H": 19.0,
"BB": 5.0,
"SO": 13.0,
"HR": 3.0,
"BF": 87.0,
"Pitches": 354.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.1667,
"H": 0.7917,
"BB": 0.2083,
"SO": 0.5417,
"HR": 0.125,
"BF": 3.625,
"Pitches": 14.75
},
"rates": {
"ERA": 1.7143,
"WHIP": 1.1429,
"ER_per_IP": 0.19048,
"H_per_IP": 0.90476,
"BB_per_IP": 0.2381,
"SO_per_IP": 0.61905,
"HR_per_IP": 0.14286
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.309,
"predicted_H": 0.872,
"predicted_BB": 0.182,
"predicted_SO": 0.636,
"predicted_HR": 0.174,
"predicted_ERA": 3.9881,
"predicted_WHIP": 1.5129
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.581,
"form_weight": 0.419,
"form_reliability": 0.4532,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.145,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4532,
"prior_weight": 0.5468
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.309,
"final": 0.1295,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.872,
"final": 0.9464,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.182,
"final": 0.0763,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.636,
"final": 1.4285,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.174,
"final": 0.0729,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9881,
"final": 3.9881,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5129,
"final": 1.5129,
"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.135 | 0.000 | 0.000 | Hitting_2B | 0.128 | 1.000 | -0.128 | -1.000 |
| predicted_3B | 0.058 | 0.000 | 0.000 | Hitting_3B | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_AB | 3.423 | 4.000 | 5.000 | Hitting_AB | 3.266 | 4.000 | 0.734 | 0.000 |
| predicted_AVG | 0.275 | 0.000 | 0.200 | Hitting_AVG | 0.295 | 0.500 | -0.295 | -0.500 |
| predicted_BB | 0.125 | 0.000 | 0.000 | Hitting_BB | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.820 | 0.000 | 1.000 | Hitting_H | 0.963 | 2.000 | -0.963 | -2.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_OBP | 0.333 | 0.000 | 0.200 | Hitting_OBP | 0.327 | 0.500 | -0.327 | -0.500 |
| predicted_R | 0.404 | 0.000 | 1.000 | Hitting_R | 0.385 | 1.000 | -0.385 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.560 | 0.000 | -0.560 | 0.000 |
| predicted_SLG | 0.495 | 0.000 | 0.200 | Hitting_SLG | 0.537 | 0.750 | -0.537 | -0.750 |
| predicted_SO | 0.798 | 1.000 | 1.000 | Hitting_SO | 0.761 | 0.000 | 0.239 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.4230 -> 4.0000 (boost 0.5770, better) |
| Biggest Deboost | predicted_H: 0.8200 -> 0.0000 (deboost -0.8200, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.4230 -> 5.2644 (boost 1.8414, 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 | 4 | 0 | 4 | 0 | 4 | - | predicted_H: 1.4765 -> 1.4257 (deboost -0.0508, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 1 | 8 | 2 | 7 | predicted_RBI: 0.7084 -> 1.0000 (boost 0.2916, better) | predicted_H: 1.4257 -> 1.0000 (deboost -0.4257, worse) | AB rounded to 5 (raw=5.26), rates preserved: AVG=0.271 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6353 -> 1.0000 (boost 0.3647, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4988 -> 0.2000 (deboost -0.2988, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 5.0000 -> 4.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.2000 -> 0.4988 (boost 0.2988, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664034",
"player_name": "Ty France",
"position": "1B",
"team": "SD",
"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.135,
"predicted_3B": 0.058,
"predicted_AB": 3.423,
"predicted_AVG": 0.275,
"predicted_BB": 0.125,
"predicted_H": 0.82,
"predicted_HR": 0.15,
"predicted_OBP": 0.333,
"predicted_R": 0.404,
"predicted_RBI": 0.44,
"predicted_SLG": 0.495,
"predicted_SO": 0.798
},
"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.2815,
"predicted_3B": 0.0691,
"predicted_AB": 5.2644,
"predicted_AVG": 0.2877,
"predicted_BB": 0.2218,
"predicted_H": 1.4765,
"predicted_HBP": 0.06,
"predicted_HR": 0.2665,
"predicted_OBP": 0.3358,
"predicted_R": 0.6742,
"predicted_RBI": 0.7518,
"predicted_SLG": 0.5195,
"predicted_SO": 1.2001
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.2815,
"delta": 0.1465,
"percent_delta": 1.0852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.058,
"after": 0.0691,
"delta": 0.0111,
"percent_delta": 0.1914,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.423,
"after": 5.2644,
"delta": 1.8414,
"percent_delta": 0.5379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2877,
"delta": 0.0127,
"percent_delta": 0.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.2218,
"delta": 0.0968,
"percent_delta": 0.7744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.4765,
"delta": 0.6565,
"percent_delta": 0.8006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.2665,
"delta": 0.1165,
"percent_delta": 0.7767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3358,
"delta": 0.0028,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.404,
"after": 0.6742,
"delta": 0.2702,
"percent_delta": 0.6688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.7518,
"delta": 0.3118,
"percent_delta": 0.7086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.495,
"after": 0.5195,
"delta": 0.0245,
"percent_delta": 0.0495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.798,
"after": 1.2001,
"delta": 0.4021,
"percent_delta": 0.5039,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.423,
"after": 5.2644,
"delta": 1.8414,
"percent_delta": 0.5379,
"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": 35
}
},
{
"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.2815,
"predicted_3B": 0.0691,
"predicted_AB": 5.2644,
"predicted_AVG": 0.2708,
"predicted_BB": 0.22,
"predicted_H": 1.4257,
"predicted_HBP": 0.06,
"predicted_HR": 0.2602,
"predicted_OBP": 0.3001,
"predicted_R": 0.6353,
"predicted_RBI": 0.7084,
"predicted_SLG": 0.4988,
"predicted_SO": 1.2098
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2815,
"after": 0.2815,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0691,
"after": 0.0691,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.2644,
"after": 5.2644,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2877,
"after": 0.2708,
"delta": -0.0169,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2218,
"after": 0.22,
"delta": -0.0018,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4765,
"after": 1.4257,
"delta": -0.0508,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.06,
"after": 0.06,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2665,
"after": 0.2602,
"delta": -0.0063,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3358,
"after": 0.3001,
"delta": -0.0357,
"percent_delta": -0.1063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6742,
"after": 0.6353,
"delta": -0.0389,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7518,
"after": 0.7084,
"delta": -0.0434,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5195,
"after": 0.4988,
"delta": -0.0207,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2001,
"after": 1.2098,
"delta": 0.0097,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4765,
"after": 1.4257,
"delta": -0.0508,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.26), rates preserved: AVG=0.271 HR/AB=0.049",
"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.2815,
"after": 0.0,
"delta": -0.2815,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0691,
"after": 0.0,
"delta": -0.0691,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.2644,
"after": 5.0,
"delta": -0.2644,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4257,
"after": 1.0,
"delta": -0.4257,
"percent_delta": -0.2986,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2602,
"after": 0.0,
"delta": -0.2602,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7084,
"after": 1.0,
"delta": 0.2916,
"percent_delta": 0.4116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2098,
"after": 1.0,
"delta": -0.2098,
"percent_delta": -0.1734,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7084,
"after": 1.0,
"delta": 0.2916,
"percent_delta": 0.4116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4257,
"after": 1.0,
"delta": -0.4257,
"percent_delta": -0.2986,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6353,
"after": 1.0,
"delta": 0.3647,
"percent_delta": 0.5741,
"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.6353,
"after": 1.0,
"delta": 0.3647,
"percent_delta": 0.5741,
"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": 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.2708,
"after": 0.2,
"delta": -0.0708,
"percent_delta": -0.2614,
"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.3001,
"after": 0.2,
"delta": -0.1001,
"percent_delta": -0.3336,
"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.4988,
"after": 0.2,
"delta": -0.2988,
"percent_delta": -0.599,
"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.4988,
"after": 0.2,
"delta": -0.2988,
"percent_delta": -0.599,
"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": 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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 4.0,
"predicted_AVG": 0.2708,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3001,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4988,
"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.2,
"after": 0.2708,
"delta": 0.0708,
"percent_delta": 0.3541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.3001,
"delta": 0.1001,
"percent_delta": 0.5004,
"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.2,
"after": 0.4988,
"delta": 0.2988,
"percent_delta": 1.4941,
"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.2,
"after": 0.4988,
"delta": 0.2988,
"percent_delta": 1.4941,
"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.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.423,
"after": 4.0,
"delta": 0.577,
"percent_delta": 0.1686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2708,
"delta": -0.0042,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3001,
"delta": -0.0329,
"percent_delta": -0.0988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.404,
"after": 0.0,
"delta": -0.404,
"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.495,
"after": 0.4988,
"delta": 0.0038,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.798,
"after": 1.0,
"delta": 0.202,
"percent_delta": 0.2531,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.423,
"after": 4.0,
"delta": 0.577,
"percent_delta": 0.1686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"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.135 | - |
| predicted_3B | 0.058 | - |
| predicted_AB | 3.423 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.125 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.404 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.495 | - |
| predicted_SO | 0.798 | - |
Final model 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.281 | 0.146 |
| predicted_3B | 0.069 | 0.011 |
| predicted_AB | 5.264 | 1.841 |
| predicted_AVG | 0.288 | 0.013 |
| predicted_BB | 0.222 | 0.097 |
| predicted_H | 1.476 | 0.656 |
| predicted_HBP | 0.060 | - |
| predicted_HR | 0.267 | 0.117 |
| predicted_OBP | 0.336 | 0.003 |
| predicted_R | 0.674 | 0.270 |
| predicted_RBI | 0.752 | 0.312 |
| predicted_SLG | 0.519 | 0.024 |
| predicted_SO | 1.200 | 0.402 |
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.281 | 0.000 |
| predicted_3B | 0.069 | 0.000 |
| predicted_AB | 5.264 | 0.000 |
| predicted_AVG | 0.271 | -0.017 |
| predicted_BB | 0.220 | -0.002 |
| predicted_H | 1.426 | -0.051 |
| predicted_HBP | 0.060 | 0.000 |
| predicted_HR | 0.260 | -0.006 |
| predicted_OBP | 0.300 | -0.036 |
| predicted_R | 0.635 | -0.039 |
| predicted_RBI | 0.708 | -0.043 |
| predicted_SLG | 0.499 | -0.021 |
| predicted_SO | 1.210 | 0.010 |
AB rounded to 5 (raw=5.26), rates preserved: AVG=0.271 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.281 |
| predicted_3B | 0.000 | -0.069 |
| predicted_AB | 5.000 | -0.264 |
| predicted_AVG | 0.200 | -0.071 |
| predicted_BB | 0.000 | -0.220 |
| predicted_H | 1.000 | -0.426 |
| predicted_HR | 0.000 | -0.260 |
| predicted_OBP | 0.200 | -0.100 |
| predicted_R | 1.000 | 0.365 |
| predicted_RBI | 1.000 | 0.292 |
| predicted_SLG | 0.200 | -0.299 |
| predicted_SO | 1.000 | -0.210 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -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 | - | 15.000 | 6.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 1.000 | 0.4000 | 0.4375 | 0.7333 | 0.4000 | 0.0667 | 0.1333 | 0.0667 | 0.0667 |
| last_10 | 0.20 | 7 | - | 32.000 | 6.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 18.000 | 0.1875 | 0.2121 | 0.3438 | 0.1875 | 0.0312 | 0.0625 | 0.0312 | 0.5625 |
| season | 0.60 | 35 | - | 356.000 | 105.000 | 14.000 | 6.000 | 20.000 | 61.000 | 42.000 | 13.000 | 83.000 | 0.2949 | 0.3271 | 0.5365 | 0.2949 | 0.0562 | 0.1714 | 0.0365 | 0.2331 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4770 |
| predicted_3B | 0.0840 |
| predicted_AB | 7.7230 |
| predicted_AVG | 0.3046 |
| predicted_BB | 0.3510 |
| predicted_H | 2.3530 |
| predicted_HBP | 0.0600 |
| predicted_HR | 0.4220 |
| predicted_OBP | 0.3396 |
| predicted_R | 1.0350 |
| predicted_RBI | 1.1680 |
| predicted_SLG | 0.5521 |
| predicted_SO | 1.7370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.4770 | 0.2815 | model_form_blend |
| predicted_3B | 0.0580 | 0.0840 | 0.0691 | model_form_blend |
| predicted_AB | 3.4230 | 7.7230 | 5.2644 | model_form_blend |
| predicted_AVG | 0.2750 | 0.3046 | 0.2877 | model_form_blend |
| predicted_BB | 0.1250 | 0.3510 | 0.2218 | model_form_blend |
| predicted_H | 0.8200 | 2.3530 | 1.4765 | model_form_blend |
| predicted_HBP | - | 0.0600 | 0.0600 | form_only |
| predicted_HR | 0.1500 | 0.4220 | 0.2665 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3396 | 0.3358 | model_form_blend |
| predicted_R | 0.4040 | 1.0350 | 0.6742 | model_form_blend |
| predicted_RBI | 0.4400 | 1.1680 | 0.7518 | model_form_blend |
| predicted_SLG | 0.4950 | 0.5521 | 0.5195 | model_form_blend |
| predicted_SO | 0.7980 | 1.7370 | 1.2001 | 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 | 109 |
| Season rows before report date | 109 |
| Report year | 2026 |
| Profile rows used | 104 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| 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 | 1B |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 664034 |
| playerID | 664034 |
| playerName | Ty France |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 3.4 |
| sl_woba | 0.371 |
| sl_xwoba | 0.331 |
| sl_xba | 0.261 |
| sl_xslg | 0.478 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 52.4 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 7.5 |
| sl_whiff_percent | 28.4 |
| sl_swing_percent | 55.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.129 | 0.000 | 0.000 | Hitting_2B | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 4.350 | 4.000 | 8.000 | Hitting_AB | 3.837 | 4.000 | 0.163 | 0.000 |
| predicted_AVG | 0.260 | 0.000 | 0.250 | Hitting_AVG | 0.265 | 0.250 | -0.265 | -0.250 |
| predicted_BB | 0.444 | 0.000 | 1.000 | Hitting_BB | 0.442 | 0.000 | -0.442 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_H | 1.130 | 0.000 | 2.000 | Hitting_H | 1.017 | 1.000 | -1.017 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_OBP | 0.358 | 0.000 | 0.333 | Hitting_OBP | 0.341 | 0.250 | -0.341 | -0.250 |
| predicted_R | 0.384 | 0.000 | 1.000 | Hitting_R | 0.382 | 1.000 | -0.382 | -1.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.305 | 0.000 | -0.305 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_SLG | 0.411 | 0.000 | 0.250 | Hitting_SLG | 0.311 | 0.250 | -0.311 | -0.250 |
| predicted_SO | 0.996 | 1.000 | 2.000 | Hitting_SO | 0.991 | 2.000 | 0.009 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AVG: 0.2600 -> 0.2845 (boost 0.0245, better) |
| Biggest Deboost | predicted_H: 1.1300 -> 0.0000 (deboost -1.1300, 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 | 8 | 1 | 7 | 2 | predicted_AB: 4.3500 -> 7.6495 (boost 3.2995, better) | predicted_SLG: 0.4110 -> 0.4037 (deboost -0.0073, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_H: 2.2540 -> 2.1765 (deboost -0.0775, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.5981 -> 1.0000 (boost 0.4019, better) | predicted_2B: 0.2588 -> 0.0000 (deboost -0.2588, worse) | AB rounded to 8 (raw=7.65), rates preserved: AVG=0.285 HR/AB=0.017 |
| 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.7834 -> 1.0000 (boost 0.2166, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3762 -> 0.2500 (deboost -0.1262, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3762 (boost 0.1262, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "2B",
"team": "SD",
"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.129,
"predicted_3B": 0.017,
"predicted_AB": 4.35,
"predicted_AVG": 0.26,
"predicted_BB": 0.444,
"predicted_H": 1.13,
"predicted_HR": 0.11,
"predicted_OBP": 0.358,
"predicted_R": 0.384,
"predicted_RBI": 0.39,
"predicted_SLG": 0.411,
"predicted_SO": 0.996
},
"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.2588,
"predicted_3B": 0.0254,
"predicted_AB": 7.6495,
"predicted_AVG": 0.2825,
"predicted_BB": 0.6578,
"predicted_H": 2.254,
"predicted_HBP": 0.073,
"predicted_HR": 0.1338,
"predicted_OBP": 0.3603,
"predicted_R": 0.8314,
"predicted_RBI": 0.6347,
"predicted_SLG": 0.4037,
"predicted_SO": 1.7799
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.2588,
"delta": 0.1298,
"percent_delta": 1.0062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0254,
"delta": 0.0084,
"percent_delta": 0.4941,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 7.6495,
"delta": 3.2995,
"percent_delta": 0.7585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2825,
"delta": 0.0225,
"percent_delta": 0.0865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.6578,
"delta": 0.2138,
"percent_delta": 0.4815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 2.254,
"delta": 1.124,
"percent_delta": 0.9947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1338,
"delta": 0.0238,
"percent_delta": 0.2164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3603,
"delta": 0.0023,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.384,
"after": 0.8314,
"delta": 0.4474,
"percent_delta": 1.1651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.6347,
"delta": 0.2447,
"percent_delta": 0.6274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4037,
"delta": -0.0073,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.996,
"after": 1.7799,
"delta": 0.7839,
"percent_delta": 0.787,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.35,
"after": 7.6495,
"delta": 3.2995,
"percent_delta": 0.7585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4037,
"delta": -0.0073,
"percent_delta": -0.0178,
"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": 7,
"season": 58
}
},
{
"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.2588,
"predicted_3B": 0.0254,
"predicted_AB": 7.6495,
"predicted_AVG": 0.2845,
"predicted_BB": 0.6525,
"predicted_H": 2.1765,
"predicted_HBP": 0.073,
"predicted_HR": 0.1306,
"predicted_OBP": 0.3408,
"predicted_R": 0.7834,
"predicted_RBI": 0.5981,
"predicted_SLG": 0.3762,
"predicted_SO": 1.7943
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2588,
"after": 0.2588,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0254,
"after": 0.0254,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6495,
"after": 7.6495,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2825,
"after": 0.2845,
"delta": 0.002,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6578,
"after": 0.6525,
"delta": -0.0053,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.254,
"after": 2.1765,
"delta": -0.0775,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1338,
"after": 0.1306,
"delta": -0.0032,
"percent_delta": -0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3603,
"after": 0.3408,
"delta": -0.0195,
"percent_delta": -0.0541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8314,
"after": 0.7834,
"delta": -0.048,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6347,
"after": 0.5981,
"delta": -0.0366,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4037,
"after": 0.3762,
"delta": -0.0275,
"percent_delta": -0.0681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7799,
"after": 1.7943,
"delta": 0.0144,
"percent_delta": 0.0081,
"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_H",
"before": 2.254,
"after": 2.1765,
"delta": -0.0775,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.65), rates preserved: AVG=0.285 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2588,
"after": 0.0,
"delta": -0.2588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0254,
"after": 0.0,
"delta": -0.0254,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6495,
"after": 8.0,
"delta": 0.3505,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6525,
"after": 1.0,
"delta": 0.3475,
"percent_delta": 0.5326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1765,
"after": 2.0,
"delta": -0.1765,
"percent_delta": -0.0811,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1306,
"after": 0.0,
"delta": -0.1306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5981,
"after": 1.0,
"delta": 0.4019,
"percent_delta": 0.672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7943,
"after": 2.0,
"delta": 0.2057,
"percent_delta": 0.1146,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5981,
"after": 1.0,
"delta": 0.4019,
"percent_delta": 0.672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2588,
"after": 0.0,
"delta": -0.2588,
"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": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 8.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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.7834,
"after": 1.0,
"delta": 0.2166,
"percent_delta": 0.2765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7834,
"after": 1.0,
"delta": 0.2166,
"percent_delta": 0.2765,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2845,
"after": 0.25,
"delta": -0.0345,
"percent_delta": -0.1213,
"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": 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.3408,
"after": 0.333,
"delta": -0.0078,
"percent_delta": -0.0229,
"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.3762,
"after": 0.25,
"delta": -0.1262,
"percent_delta": -0.3355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3762,
"after": 0.25,
"delta": -0.1262,
"percent_delta": -0.3355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2845,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3408,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3762,
"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.2845,
"delta": 0.0345,
"percent_delta": 0.1381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3408,
"delta": 0.0078,
"percent_delta": 0.0233,
"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.3762,
"delta": 0.1262,
"percent_delta": 0.5049,
"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.3762,
"delta": 0.1262,
"percent_delta": 0.5049,
"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.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 4.0,
"delta": -0.35,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2845,
"delta": 0.0245,
"percent_delta": 0.0942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 0.0,
"delta": -1.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3408,
"delta": -0.0172,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.384,
"after": 0.0,
"delta": -0.384,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.3762,
"delta": -0.0348,
"percent_delta": -0.0847,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.996,
"after": 1.0,
"delta": 0.004,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2845,
"delta": 0.0245,
"percent_delta": 0.0942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.13,
"after": 0.0,
"delta": -1.13,
"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.129 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 4.350 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.444 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.358 | - |
| predicted_R | 0.384 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.411 | - |
| predicted_SO | 0.996 | - |
Final model 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.259 | 0.130 |
| predicted_3B | 0.025 | 0.008 |
| predicted_AB | 7.649 | 3.300 |
| predicted_AVG | 0.282 | 0.022 |
| predicted_BB | 0.658 | 0.214 |
| predicted_H | 2.254 | 1.124 |
| predicted_HBP | 0.073 | - |
| predicted_HR | 0.134 | 0.024 |
| predicted_OBP | 0.360 | 0.002 |
| predicted_R | 0.831 | 0.447 |
| predicted_RBI | 0.635 | 0.245 |
| predicted_SLG | 0.404 | -0.007 |
| predicted_SO | 1.780 | 0.784 |
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.259 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 7.649 | 0.000 |
| predicted_AVG | 0.284 | 0.002 |
| predicted_BB | 0.652 | -0.005 |
| predicted_H | 2.176 | -0.078 |
| predicted_HBP | 0.073 | 0.000 |
| predicted_HR | 0.131 | -0.003 |
| predicted_OBP | 0.341 | -0.020 |
| predicted_R | 0.783 | -0.048 |
| predicted_RBI | 0.598 | -0.037 |
| predicted_SLG | 0.376 | -0.028 |
| predicted_SO | 1.794 | 0.014 |
AB rounded to 8 (raw=7.65), rates preserved: AVG=0.285 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.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 | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 2.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.259 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 8.000 | 0.351 |
| predicted_AVG | 0.250 | -0.034 |
| predicted_BB | 1.000 | 0.348 |
| predicted_H | 2.000 | -0.176 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.333 | -0.008 |
| predicted_R | 1.000 | 0.217 |
| predicted_RBI | 1.000 | 0.402 |
| predicted_SLG | 0.250 | -0.126 |
| predicted_SO | 2.000 | 0.206 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -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 | 9.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 0.000 | 4.000 | 0.4091 | 0.4091 | 0.5909 | 0.4091 | 0.0454 | 0.0909 | 0.0000 | 0.1818 |
| last_10 | 0.20 | 7 | - | 42.000 | 18.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 0.000 | 8.000 | 0.4286 | 0.4286 | 0.5238 | 0.4286 | 0.0238 | 0.0476 | 0.0000 | 0.1905 |
| season | 0.60 | 58 | - | 894.000 | 237.000 | 30.000 | 4.000 | 1.000 | 70.000 | 89.000 | 103.000 | 231.000 | 0.2651 | 0.3412 | 0.3110 | 0.2651 | 0.0011 | 0.0783 | 0.1152 | 0.2584 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4230 |
| predicted_3B | 0.0360 |
| predicted_AB | 11.8210 |
| predicted_AVG | 0.3109 |
| predicted_BB | 0.9280 |
| predicted_H | 3.6750 |
| predicted_HBP | 0.0730 |
| predicted_HR | 0.1640 |
| predicted_OBP | 0.3631 |
| predicted_R | 1.3970 |
| predicted_RBI | 0.9440 |
| predicted_SLG | 0.3944 |
| predicted_SO | 2.7710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.4230 | 0.2588 | model_form_blend |
| predicted_3B | 0.0170 | 0.0360 | 0.0254 | model_form_blend |
| predicted_AB | 4.3500 | 11.8210 | 7.6495 | model_form_blend |
| predicted_AVG | 0.2600 | 0.3109 | 0.2825 | model_form_blend |
| predicted_BB | 0.4440 | 0.9280 | 0.6578 | model_form_blend |
| predicted_H | 1.1300 | 3.6750 | 2.2540 | model_form_blend |
| predicted_HBP | - | 0.0730 | 0.0730 | form_only |
| predicted_HR | 0.1100 | 0.1640 | 0.1338 | model_form_blend |
| predicted_OBP | 0.3580 | 0.3631 | 0.3603 | model_form_blend |
| predicted_R | 0.3840 | 1.3970 | 0.8314 | model_form_blend |
| predicted_RBI | 0.3900 | 0.9440 | 0.6347 | model_form_blend |
| predicted_SLG | 0.4110 | 0.3944 | 0.4037 | model_form_blend |
| predicted_SO | 0.9960 | 2.7710 | 1.7799 | 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 | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 232 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.265 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 665487 |
| playerID | 665487 |
| playerName | Fernando Tatis Jr. |
| pos | RF |
| started | True |
| startingPosition | 2B |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-03 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.306 |
| sl_xwoba | 0.347 |
| sl_xba | 0.28 |
| sl_xslg | 0.406 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 51.7 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 1.7 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 48.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.099 | 0.000 | 0.000 | Hitting_2B | 0.099 | 0.000 | -0.099 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.980 | 4.000 | 7.000 | Hitting_AB | 3.617 | 4.000 | 0.383 | 0.000 |
| predicted_AVG | 0.208 | 0.250 | 0.143 | Hitting_AVG | 0.174 | 0.250 | 0.076 | 0.000 |
| predicted_BB | 0.486 | 0.000 | 1.000 | Hitting_BB | 0.486 | 0.000 | -0.486 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 0.631 | 1.000 | 0.369 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_OBP | 0.272 | 0.250 | 0.250 | Hitting_OBP | 0.267 | 0.250 | -0.017 | 0.000 |
| predicted_R | 0.536 | 0.000 | 1.000 | Hitting_R | 0.536 | 0.000 | -0.536 | 0.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.550 | 0.000 | -0.550 | 0.000 |
| predicted_SLG | 0.373 | 0.250 | 0.143 | Hitting_SLG | 0.351 | 0.250 | -0.101 | 0.000 |
| predicted_SO | 0.973 | 0.000 | 2.000 | Hitting_SO | 0.973 | 2.000 | -0.973 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_H: 0.8300 -> 1.0000 (boost 0.1700, better) |
| Biggest Deboost | predicted_SO: 0.9730 -> 0.0000 (deboost -0.9730, 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 | 11 | 8 | 3 | 7 | 4 | predicted_AB: 3.9800 -> 6.9149 (boost 2.9349, better) | predicted_AVG: 0.2080 -> 0.1949 (deboost -0.0131, 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_RBI: 0.9994 -> 0.9417 (deboost -0.0577, 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_BB: 0.7663 -> 1.0000 (boost 0.2337, better) | predicted_HR: 0.3138 -> 0.0000 (deboost -0.3138, worse) | AB rounded to 7 (raw=6.91), rates preserved: AVG=0.182 HR/AB=0.045 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.154) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8012 -> 1.0000 (boost 0.1988, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3482 -> 0.1430 (deboost -0.2052, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3482 (boost 0.2052, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592518",
"player_name": "Manny Machado",
"position": "3B",
"team": "SD",
"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.099,
"predicted_3B": 0.0,
"predicted_AB": 3.98,
"predicted_AVG": 0.208,
"predicted_BB": 0.486,
"predicted_H": 0.83,
"predicted_HR": 0.16,
"predicted_OBP": 0.272,
"predicted_R": 0.536,
"predicted_RBI": 0.54,
"predicted_SLG": 0.373,
"predicted_SO": 0.973
},
"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.2097,
"predicted_3B": 0.0004,
"predicted_AB": 6.9149,
"predicted_AVG": 0.1949,
"predicted_BB": 0.7726,
"predicted_H": 1.3004,
"predicted_HBP": 0.003,
"predicted_HR": 0.3214,
"predicted_OBP": 0.2638,
"predicted_R": 0.8503,
"predicted_RBI": 0.9994,
"predicted_SLG": 0.3672,
"predicted_SO": 1.763
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 0.2097,
"delta": 0.1107,
"percent_delta": 1.1182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.98,
"after": 6.9149,
"delta": 2.9349,
"percent_delta": 0.7374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.1949,
"delta": -0.0131,
"percent_delta": -0.063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.486,
"after": 0.7726,
"delta": 0.2866,
"percent_delta": 0.5897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.3004,
"delta": 0.4704,
"percent_delta": 0.5667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.3214,
"delta": 0.1614,
"percent_delta": 1.0088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2638,
"delta": -0.0082,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.536,
"after": 0.8503,
"delta": 0.3143,
"percent_delta": 0.5864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.9994,
"delta": 0.4594,
"percent_delta": 0.8507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.3672,
"delta": -0.0058,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 1.763,
"delta": 0.79,
"percent_delta": 0.8119,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.98,
"after": 6.9149,
"delta": 2.9349,
"percent_delta": 0.7374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.1949,
"delta": -0.0131,
"percent_delta": -0.063,
"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": 7,
"season": 58
}
},
{
"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.2097,
"predicted_3B": 0.0004,
"predicted_AB": 6.9149,
"predicted_AVG": 0.1816,
"predicted_BB": 0.7663,
"predicted_H": 1.2557,
"predicted_HBP": 0.003,
"predicted_HR": 0.3138,
"predicted_OBP": 0.2632,
"predicted_R": 0.8012,
"predicted_RBI": 0.9417,
"predicted_SLG": 0.3482,
"predicted_SO": 1.7773
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2097,
"after": 0.2097,
"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": 6.9149,
"after": 6.9149,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1949,
"after": 0.1816,
"delta": -0.0133,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7726,
"after": 0.7663,
"delta": -0.0063,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3004,
"after": 1.2557,
"delta": -0.0447,
"percent_delta": -0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3214,
"after": 0.3138,
"delta": -0.0076,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2638,
"after": 0.2632,
"delta": -0.0006,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8503,
"after": 0.8012,
"delta": -0.0491,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9994,
"after": 0.9417,
"delta": -0.0577,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3672,
"after": 0.3482,
"delta": -0.019,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.763,
"after": 1.7773,
"delta": 0.0143,
"percent_delta": 0.0081,
"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.9994,
"after": 0.9417,
"delta": -0.0577,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.91), rates preserved: AVG=0.182 HR/AB=0.045",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2097,
"after": 0.0,
"delta": -0.2097,
"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": 6.9149,
"after": 7.0,
"delta": 0.0851,
"percent_delta": 0.0123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7663,
"after": 1.0,
"delta": 0.2337,
"percent_delta": 0.305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2557,
"after": 1.0,
"delta": -0.2557,
"percent_delta": -0.2036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3138,
"after": 0.0,
"delta": -0.3138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9417,
"after": 1.0,
"delta": 0.0583,
"percent_delta": 0.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7773,
"after": 2.0,
"delta": 0.2227,
"percent_delta": 0.1253,
"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_BB",
"before": 0.7663,
"after": 1.0,
"delta": 0.2337,
"percent_delta": 0.305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3138,
"after": 0.0,
"delta": -0.3138,
"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=26.0, weight=0.186, BvP AVG=0.154)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8143,
"bvp": 0.1857
},
"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": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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.8012,
"after": 1.0,
"delta": 0.1988,
"percent_delta": 0.2481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8012,
"after": 1.0,
"delta": 0.1988,
"percent_delta": 0.2481,
"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": 7.0,
"predicted_AVG": 0.143,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.143,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1816,
"after": 0.143,
"delta": -0.0386,
"percent_delta": -0.2126,
"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.2632,
"after": 0.25,
"delta": -0.0132,
"percent_delta": -0.0502,
"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.3482,
"after": 0.143,
"delta": -0.2052,
"percent_delta": -0.5893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3482,
"after": 0.143,
"delta": -0.2052,
"percent_delta": -0.5893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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.1816,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2632,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3482,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.143,
"after": 0.1816,
"delta": 0.0386,
"percent_delta": 0.2698,
"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.2632,
"delta": 0.0132,
"percent_delta": 0.053,
"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.143,
"after": 0.3482,
"delta": 0.2052,
"percent_delta": 1.4347,
"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.143,
"after": 0.3482,
"delta": 0.2052,
"percent_delta": 1.4347,
"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.099,
"after": 0.0,
"delta": -0.099,
"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.98,
"after": 4.0,
"delta": 0.02,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.1816,
"delta": -0.0264,
"percent_delta": -0.1269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.486,
"after": 0.0,
"delta": -0.486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2632,
"delta": -0.0088,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.536,
"after": 0.0,
"delta": -0.536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.3482,
"delta": -0.0248,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 0.0,
"delta": -0.973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.83,
"after": 1.0,
"delta": 0.17,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.973,
"after": 0.0,
"delta": -0.973,
"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.099 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.980 | - |
| predicted_AVG | 0.208 | - |
| predicted_BB | 0.486 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.536 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.373 | - |
| predicted_SO | 0.973 | - |
Final model 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.210 | 0.111 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.915 | 2.935 |
| predicted_AVG | 0.195 | -0.013 |
| predicted_BB | 0.773 | 0.287 |
| predicted_H | 1.300 | 0.470 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.321 | 0.161 |
| predicted_OBP | 0.264 | -0.008 |
| predicted_R | 0.850 | 0.314 |
| predicted_RBI | 0.999 | 0.459 |
| predicted_SLG | 0.367 | -0.006 |
| predicted_SO | 1.763 | 0.790 |
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.210 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.915 | 0.000 |
| predicted_AVG | 0.182 | -0.013 |
| predicted_BB | 0.766 | -0.006 |
| predicted_H | 1.256 | -0.045 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.314 | -0.008 |
| predicted_OBP | 0.263 | -0.001 |
| predicted_R | 0.801 | -0.049 |
| predicted_RBI | 0.942 | -0.058 |
| predicted_SLG | 0.348 | -0.019 |
| predicted_SO | 1.777 | 0.014 |
AB rounded to 7 (raw=6.91), rates preserved: AVG=0.182 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.154)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.210 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | 0.085 |
| predicted_AVG | 0.143 | -0.039 |
| predicted_BB | 1.000 | 0.234 |
| predicted_H | 1.000 | -0.256 |
| predicted_HR | 0.000 | -0.314 |
| predicted_OBP | 0.250 | -0.013 |
| predicted_R | 1.000 | 0.199 |
| predicted_RBI | 1.000 | 0.058 |
| predicted_SLG | 0.143 | -0.205 |
| predicted_SO | 2.000 | 0.223 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 20.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 5.000 | 0.2000 | 0.2381 | 0.4000 | 0.2000 | 0.0500 | 0.1500 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 7 | - | 39.000 | 5.000 | 1.000 | 0.000 | 2.000 | 5.000 | 2.000 | 2.000 | 9.000 | 0.1282 | 0.1707 | 0.3077 | 0.1282 | 0.0513 | 0.1282 | 0.0513 | 0.2308 |
| season | 0.60 | 58 | - | 803.000 | 140.000 | 22.000 | 0.000 | 40.000 | 122.000 | 119.000 | 108.000 | 216.000 | 0.1743 | 0.2667 | 0.3512 | 0.1744 | 0.0498 | 0.1519 | 0.1345 | 0.2690 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3500 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.6370 |
| predicted_AVG | 0.1783 |
| predicted_BB | 1.1360 |
| predicted_H | 1.8970 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.5260 |
| predicted_OBP | 0.2534 |
| predicted_R | 1.2490 |
| predicted_RBI | 1.5820 |
| predicted_SLG | 0.3599 |
| predicted_SO | 2.7650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0990 | 0.3500 | 0.2097 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9800 | 10.6370 | 6.9149 | model_form_blend |
| predicted_AVG | 0.2080 | 0.1783 | 0.1949 | model_form_blend |
| predicted_BB | 0.4860 | 1.1360 | 0.7726 | model_form_blend |
| predicted_H | 0.8300 | 1.8970 | 1.3004 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1600 | 0.5260 | 0.3214 | model_form_blend |
| predicted_OBP | 0.2720 | 0.2534 | 0.2638 | model_form_blend |
| predicted_R | 0.5360 | 1.2490 | 0.8503 | model_form_blend |
| predicted_RBI | 0.5400 | 1.5820 | 0.9994 | model_form_blend |
| predicted_SLG | 0.3730 | 0.3599 | 0.3672 | model_form_blend |
| predicted_SO | 0.9730 | 2.7650 | 1.7630 | 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 | 222 |
| Season rows before report date | 222 |
| Report year | 2026 |
| Profile rows used | 222 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.174 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 592518 |
| playerID | 592518 |
| playerName | Manny Machado |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-03 |
| sl_k_percent | 23.2 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.27 |
| sl_xwoba | 0.312 |
| sl_xba | 0.23 |
| sl_xslg | 0.393 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 44.3 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 48.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.230 | 0.000 | 0.000 | Hitting_2B | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.500 | 4.000 | 6.000 | Hitting_AB | 3.377 | 3.000 | 0.623 | 1.000 |
| predicted_AVG | 0.232 | 0.250 | 0.167 | Hitting_AVG | 0.249 | 0.000 | 0.001 | 0.250 |
| predicted_BB | 0.397 | 0.000 | 1.000 | Hitting_BB | 0.394 | 1.000 | -0.394 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.810 | 1.000 | 1.000 | Hitting_H | 0.840 | 0.000 | 0.160 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_OBP | 0.324 | 0.250 | 0.286 | Hitting_OBP | 0.331 | 0.250 | -0.081 | 0.000 |
| predicted_R | 0.437 | 0.000 | 1.000 | Hitting_R | 0.434 | 0.000 | -0.434 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 1.000 | Hitting_RBI | 0.497 | 0.000 | -0.497 | 0.000 |
| predicted_SLG | 0.406 | 0.250 | 0.167 | Hitting_SLG | 0.484 | 0.000 | -0.234 | 0.250 |
| predicted_SO | 0.828 | 1.000 | 2.000 | Hitting_SO | 0.823 | 2.000 | 0.177 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.5000 -> 4.0000 (boost 0.5000, better) |
| Biggest Deboost | predicted_RBI: 0.4600 -> 0.0000 (deboost -0.4600, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.5000 -> 5.6838 (boost 2.1838, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3264 -> 0.3080 (deboost -0.0184, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_SO: 1.5807 -> 2.0000 (boost 0.4193, worse) | predicted_2B: 0.3013 -> 0.0000 (deboost -0.3013, worse) | AB rounded to 6 (raw=5.68), rates preserved: AVG=0.217 HR/AB=0.049 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6599 -> 1.0000 (boost 0.3401, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4182 -> 0.1670 (deboost -0.2512, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.4182 (boost 0.2512, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "657757",
"player_name": "Gavin Sheets",
"position": "LF",
"team": "SD",
"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.23,
"predicted_3B": 0.0,
"predicted_AB": 3.5,
"predicted_AVG": 0.232,
"predicted_BB": 0.397,
"predicted_H": 0.81,
"predicted_HR": 0.16,
"predicted_OBP": 0.324,
"predicted_R": 0.437,
"predicted_RBI": 0.46,
"predicted_SLG": 0.406,
"predicted_SO": 0.828
},
"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.3013,
"predicted_3B": 0.0004,
"predicted_AB": 5.6838,
"predicted_AVG": 0.2272,
"predicted_BB": 0.7535,
"predicted_H": 1.2771,
"predicted_HBP": 0.17,
"predicted_HR": 0.2873,
"predicted_OBP": 0.3264,
"predicted_R": 0.7003,
"predicted_RBI": 0.7495,
"predicted_SLG": 0.4152,
"predicted_SO": 1.568
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.23,
"after": 0.3013,
"delta": 0.0713,
"percent_delta": 0.31,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.5,
"after": 5.6838,
"delta": 2.1838,
"percent_delta": 0.6239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2272,
"delta": -0.0048,
"percent_delta": -0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.397,
"after": 0.7535,
"delta": 0.3565,
"percent_delta": 0.898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 1.2771,
"delta": 0.4671,
"percent_delta": 0.5767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.2873,
"delta": 0.1273,
"percent_delta": 0.7956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3264,
"delta": 0.0024,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.437,
"after": 0.7003,
"delta": 0.2633,
"percent_delta": 0.6025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.7495,
"delta": 0.2895,
"percent_delta": 0.6293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4152,
"delta": 0.0092,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.828,
"after": 1.568,
"delta": 0.74,
"percent_delta": 0.8937,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 5.6838,
"delta": 2.1838,
"percent_delta": 0.6239,
"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": 54
}
},
{
"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.3013,
"predicted_3B": 0.0004,
"predicted_AB": 5.6838,
"predicted_AVG": 0.217,
"predicted_BB": 0.7474,
"predicted_H": 1.2332,
"predicted_HBP": 0.17,
"predicted_HR": 0.2805,
"predicted_OBP": 0.308,
"predicted_R": 0.6599,
"predicted_RBI": 0.7063,
"predicted_SLG": 0.4182,
"predicted_SO": 1.5807
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3013,
"after": 0.3013,
"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": 5.6838,
"after": 5.6838,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2272,
"after": 0.217,
"delta": -0.0102,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7535,
"after": 0.7474,
"delta": -0.0061,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2771,
"after": 1.2332,
"delta": -0.0439,
"percent_delta": -0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.17,
"after": 0.17,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2873,
"after": 0.2805,
"delta": -0.0068,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3264,
"after": 0.308,
"delta": -0.0184,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7003,
"after": 0.6599,
"delta": -0.0404,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7495,
"after": 0.7063,
"delta": -0.0432,
"percent_delta": -0.0576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4152,
"after": 0.4182,
"delta": 0.003,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.568,
"after": 1.5807,
"delta": 0.0127,
"percent_delta": 0.0081,
"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.3264,
"after": 0.308,
"delta": -0.0184,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.68), rates preserved: AVG=0.217 HR/AB=0.049",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3013,
"after": 0.0,
"delta": -0.3013,
"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": 5.6838,
"after": 6.0,
"delta": 0.3162,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7474,
"after": 1.0,
"delta": 0.2526,
"percent_delta": 0.338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2332,
"after": 1.0,
"delta": -0.2332,
"percent_delta": -0.1891,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2805,
"after": 0.0,
"delta": -0.2805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7063,
"after": 1.0,
"delta": 0.2937,
"percent_delta": 0.4158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5807,
"after": 2.0,
"delta": 0.4193,
"percent_delta": 0.2653,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.5807,
"after": 2.0,
"delta": 0.4193,
"percent_delta": 0.2653,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3013,
"after": 0.0,
"delta": -0.3013,
"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=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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.6599,
"after": 1.0,
"delta": 0.3401,
"percent_delta": 0.5154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6599,
"after": 1.0,
"delta": 0.3401,
"percent_delta": 0.5154,
"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.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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": 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.217,
"after": 0.167,
"delta": -0.05,
"percent_delta": -0.2304,
"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.308,
"after": 0.286,
"delta": -0.022,
"percent_delta": -0.0714,
"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.4182,
"after": 0.167,
"delta": -0.2512,
"percent_delta": -0.6007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4182,
"after": 0.167,
"delta": -0.2512,
"percent_delta": -0.6007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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.217,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.308,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4182,
"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.167,
"after": 0.217,
"delta": 0.05,
"percent_delta": 0.2992,
"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.286,
"after": 0.308,
"delta": 0.022,
"percent_delta": 0.0768,
"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.167,
"after": 0.4182,
"delta": 0.2512,
"percent_delta": 1.504,
"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.167,
"after": 0.4182,
"delta": 0.2512,
"percent_delta": 1.504,
"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.23,
"after": 0.0,
"delta": -0.23,
"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.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.217,
"delta": -0.015,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.308,
"delta": -0.016,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.437,
"after": 0.0,
"delta": -0.437,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4182,
"delta": 0.0122,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.828,
"after": 1.0,
"delta": 0.172,
"percent_delta": 0.2077,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"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.230 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.397 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.437 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 0.828 | - |
Final model 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.301 | 0.071 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 5.684 | 2.184 |
| predicted_AVG | 0.227 | -0.005 |
| predicted_BB | 0.753 | 0.356 |
| predicted_H | 1.277 | 0.467 |
| predicted_HBP | 0.170 | - |
| predicted_HR | 0.287 | 0.127 |
| predicted_OBP | 0.326 | 0.002 |
| predicted_R | 0.700 | 0.263 |
| predicted_RBI | 0.750 | 0.290 |
| predicted_SLG | 0.415 | 0.009 |
| predicted_SO | 1.568 | 0.740 |
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.301 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 5.684 | 0.000 |
| predicted_AVG | 0.217 | -0.010 |
| predicted_BB | 0.747 | -0.006 |
| predicted_H | 1.233 | -0.044 |
| predicted_HBP | 0.170 | 0.000 |
| predicted_HR | 0.281 | -0.007 |
| predicted_OBP | 0.308 | -0.018 |
| predicted_R | 0.660 | -0.040 |
| predicted_RBI | 0.706 | -0.043 |
| predicted_SLG | 0.418 | 0.003 |
| predicted_SO | 1.581 | 0.013 |
AB rounded to 6 (raw=5.68), rates preserved: AVG=0.217 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.301 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 6.000 | 0.316 |
| predicted_AVG | 0.167 | -0.050 |
| predicted_BB | 1.000 | 0.253 |
| predicted_H | 1.000 | -0.233 |
| predicted_HR | 0.000 | -0.281 |
| predicted_OBP | 0.286 | -0.022 |
| predicted_R | 1.000 | 0.340 |
| predicted_RBI | 1.000 | 0.294 |
| predicted_SLG | 0.167 | -0.251 |
| predicted_SO | 2.000 | 0.419 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 4.000 | 7.000 | 0.1765 | 0.3636 | 0.3529 | 0.1765 | 0.0588 | 0.1177 | 0.2353 | 0.4118 |
| last_10 | 0.20 | 7 | - | 36.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 5.000 | 16.000 | 0.1111 | 0.2381 | 0.1944 | 0.1111 | 0.0278 | 0.0556 | 0.1389 | 0.4444 |
| season | 0.60 | 54 | - | 591.000 | 147.000 | 40.000 | 0.000 | 33.000 | 87.000 | 76.000 | 69.000 | 144.000 | 0.2487 | 0.3313 | 0.4839 | 0.2487 | 0.0558 | 0.1472 | 0.1168 | 0.2437 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3930 |
| predicted_3B | 0.0010 |
| predicted_AB | 8.4930 |
| predicted_AVG | 0.2211 |
| predicted_BB | 1.2120 |
| predicted_H | 1.8780 |
| predicted_HBP | 0.1700 |
| predicted_HR | 0.4510 |
| predicted_OBP | 0.3294 |
| predicted_R | 1.0390 |
| predicted_RBI | 1.1220 |
| predicted_SLG | 0.4270 |
| predicted_SO | 2.5200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2300 | 0.3930 | 0.3013 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5000 | 8.4930 | 5.6838 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2211 | 0.2272 | model_form_blend |
| predicted_BB | 0.3970 | 1.2120 | 0.7535 | model_form_blend |
| predicted_H | 0.8100 | 1.8780 | 1.2771 | model_form_blend |
| predicted_HBP | - | 0.1700 | 0.1700 | form_only |
| predicted_HR | 0.1600 | 0.4510 | 0.2873 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3294 | 0.3264 | model_form_blend |
| predicted_R | 0.4370 | 1.0390 | 0.7003 | model_form_blend |
| predicted_RBI | 0.4600 | 1.1220 | 0.7495 | model_form_blend |
| predicted_SLG | 0.4060 | 0.4270 | 0.4152 | model_form_blend |
| predicted_SO | 0.8280 | 2.5200 | 1.5680 | 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 | 175 |
| Season rows before report date | 175 |
| Report year | 2026 |
| Profile rows used | 174 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.249 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | LF |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 657757 |
| playerID | 657757 |
| playerName | Gavin Sheets |
| pos | 1B |
| started | True |
| startingPosition | LF |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.355 |
| sl_xwoba | 0.336 |
| sl_xba | 0.242 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 45.2 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 43.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.222 | 0.000 | 0.000 | Hitting_2B | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.950 | 3.000 | 7.000 | Hitting_AB | 3.887 | 4.000 | -0.887 | -1.000 |
| predicted_AVG | 0.224 | 0.333 | 0.286 | Hitting_AVG | 0.205 | 0.250 | 0.128 | 0.083 |
| predicted_BB | 0.385 | 1.000 | 1.000 | Hitting_BB | 0.383 | 0.000 | 0.617 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_H | 0.890 | 1.000 | 2.000 | Hitting_H | 0.797 | 1.000 | 0.203 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_OBP | 0.297 | 0.500 | 0.375 | Hitting_OBP | 0.279 | 0.250 | 0.221 | 0.250 |
| predicted_R | 0.502 | 0.000 | 1.000 | Hitting_R | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.405 | 1.000 | -0.405 | -1.000 |
| predicted_SLG | 0.375 | 0.333 | 0.286 | Hitting_SLG | 0.324 | 0.250 | 0.009 | 0.083 |
| predicted_SO | 1.081 | 0.000 | 2.000 | Hitting_SO | 1.077 | 1.000 | -1.077 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3850 -> 1.0000 (boost 0.6150, better) |
| Biggest Deboost | predicted_SO: 1.0810 -> 0.0000 (deboost -1.0810, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.9500 -> 7.3388 (boost 3.3888, 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 | 5 | 0 | 5 | 0 | 5 | - | predicted_H: 1.6804 -> 1.6226 (deboost -0.0578, 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_H: 1.6226 -> 2.0000 (boost 0.3774, better) | predicted_2B: 0.3706 -> 0.0000 (deboost -0.3706, worse) | AB rounded to 7 (raw=7.34), rates preserved: AVG=0.221 HR/AB=0.029 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8284 -> 1.0000 (boost 0.1716, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2887 -> 0.3750 (boost 0.0863, better) | predicted_SLG: 0.3573 -> 0.2860 (deboost -0.0713, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3573 (boost 0.0713, better) | predicted_OBP: 0.3750 -> 0.2887 (deboost -0.0863, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701538",
"player_name": "Jackson Merrill",
"position": "CF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.222,
"predicted_3B": 0.0,
"predicted_AB": 3.95,
"predicted_AVG": 0.224,
"predicted_BB": 0.385,
"predicted_H": 0.89,
"predicted_HR": 0.12,
"predicted_OBP": 0.297,
"predicted_R": 0.502,
"predicted_RBI": 0.44,
"predicted_SLG": 0.375,
"predicted_SO": 1.081
},
"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.3706,
"predicted_3B": 0.0004,
"predicted_AB": 7.3388,
"predicted_AVG": 0.2269,
"predicted_BB": 0.7035,
"predicted_H": 1.6804,
"predicted_HBP": 0.039,
"predicted_HR": 0.2144,
"predicted_OBP": 0.2983,
"predicted_R": 0.8791,
"predicted_RBI": 0.8334,
"predicted_SLG": 0.3705,
"predicted_SO": 1.9565
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.3706,
"delta": 0.1486,
"percent_delta": 0.6694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.95,
"after": 7.3388,
"delta": 3.3888,
"percent_delta": 0.8579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2269,
"delta": 0.0029,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.7035,
"delta": 0.3185,
"percent_delta": 0.8273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.6804,
"delta": 0.7904,
"percent_delta": 0.8881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2144,
"delta": 0.0944,
"percent_delta": 0.7867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2983,
"delta": 0.0013,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.502,
"after": 0.8791,
"delta": 0.3771,
"percent_delta": 0.7512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.8334,
"delta": 0.3934,
"percent_delta": 0.8941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3705,
"delta": -0.0045,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.081,
"after": 1.9565,
"delta": 0.8755,
"percent_delta": 0.8099,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.95,
"after": 7.3388,
"delta": 3.3888,
"percent_delta": 0.8579,
"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": 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.3706,
"predicted_3B": 0.0004,
"predicted_AB": 7.3388,
"predicted_AVG": 0.2211,
"predicted_BB": 0.6978,
"predicted_H": 1.6226,
"predicted_HBP": 0.039,
"predicted_HR": 0.2093,
"predicted_OBP": 0.2887,
"predicted_R": 0.8284,
"predicted_RBI": 0.7853,
"predicted_SLG": 0.3573,
"predicted_SO": 1.9723
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3706,
"after": 0.3706,
"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": 7.3388,
"after": 7.3388,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2269,
"after": 0.2211,
"delta": -0.0058,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7035,
"after": 0.6978,
"delta": -0.0057,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6804,
"after": 1.6226,
"delta": -0.0578,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2144,
"after": 0.2093,
"delta": -0.0051,
"percent_delta": -0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2983,
"after": 0.2887,
"delta": -0.0096,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8791,
"after": 0.8284,
"delta": -0.0507,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8334,
"after": 0.7853,
"delta": -0.0481,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3705,
"after": 0.3573,
"delta": -0.0132,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9565,
"after": 1.9723,
"delta": 0.0158,
"percent_delta": 0.0081,
"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": 1.6804,
"after": 1.6226,
"delta": -0.0578,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.34), rates preserved: AVG=0.221 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3706,
"after": 0.0,
"delta": -0.3706,
"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": 7.3388,
"after": 7.0,
"delta": -0.3388,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6978,
"after": 1.0,
"delta": 0.3022,
"percent_delta": 0.4331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6226,
"after": 2.0,
"delta": 0.3774,
"percent_delta": 0.2326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2093,
"after": 0.0,
"delta": -0.2093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7853,
"after": 1.0,
"delta": 0.2147,
"percent_delta": 0.2734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9723,
"after": 2.0,
"delta": 0.0277,
"percent_delta": 0.014,
"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_H",
"before": 1.6226,
"after": 2.0,
"delta": 0.3774,
"percent_delta": 0.2326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3706,
"after": 0.0,
"delta": -0.3706,
"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=7.0, weight=0.076, BvP AVG=0.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"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": 7.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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.8284,
"after": 1.0,
"delta": 0.1716,
"percent_delta": 0.2071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8284,
"after": 1.0,
"delta": 0.1716,
"percent_delta": 0.2071,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2211,
"after": 0.286,
"delta": 0.0649,
"percent_delta": 0.2935,
"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": 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.2887,
"after": 0.375,
"delta": 0.0863,
"percent_delta": 0.2989,
"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.3573,
"after": 0.286,
"delta": -0.0713,
"percent_delta": -0.1996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2887,
"after": 0.375,
"delta": 0.0863,
"percent_delta": 0.2989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3573,
"after": 0.286,
"delta": -0.0713,
"percent_delta": -0.1996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 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": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2211,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2887,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3573,
"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.286,
"after": 0.2211,
"delta": -0.0649,
"percent_delta": -0.2269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.375,
"after": 0.2887,
"delta": -0.0863,
"percent_delta": -0.2301,
"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.286,
"after": 0.3573,
"delta": 0.0713,
"percent_delta": 0.2492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.3573,
"delta": 0.0713,
"percent_delta": 0.2492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2887,
"delta": -0.0863,
"percent_delta": -0.2301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.95,
"after": 3.0,
"delta": -0.95,
"percent_delta": -0.2405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2211,
"delta": -0.0029,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 1.0,
"delta": 0.615,
"percent_delta": 1.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.0,
"delta": 0.11,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2887,
"delta": -0.0083,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.502,
"after": 0.0,
"delta": -0.502,
"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.375,
"after": 0.3573,
"delta": -0.0177,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.081,
"after": 0.0,
"delta": -1.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.385,
"after": 1.0,
"delta": 0.615,
"percent_delta": 1.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.081,
"after": 0.0,
"delta": -1.081,
"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.222 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.950 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.385 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.502 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.375 | - |
| predicted_SO | 1.081 | - |
Final model 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.371 | 0.149 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.339 | 3.389 |
| predicted_AVG | 0.227 | 0.003 |
| predicted_BB | 0.704 | 0.319 |
| predicted_H | 1.680 | 0.790 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.214 | 0.094 |
| predicted_OBP | 0.298 | 0.001 |
| predicted_R | 0.879 | 0.377 |
| predicted_RBI | 0.833 | 0.393 |
| predicted_SLG | 0.370 | -0.005 |
| predicted_SO | 1.956 | 0.875 |
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.371 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.339 | 0.000 |
| predicted_AVG | 0.221 | -0.006 |
| predicted_BB | 0.698 | -0.006 |
| predicted_H | 1.623 | -0.058 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.209 | -0.005 |
| predicted_OBP | 0.289 | -0.010 |
| predicted_R | 0.828 | -0.051 |
| predicted_RBI | 0.785 | -0.048 |
| predicted_SLG | 0.357 | -0.013 |
| predicted_SO | 1.972 | 0.016 |
AB rounded to 7 (raw=7.34), rates preserved: AVG=0.221 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 2.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.371 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.339 |
| predicted_AVG | 0.286 | 0.065 |
| predicted_BB | 1.000 | 0.302 |
| predicted_H | 2.000 | 0.377 |
| predicted_HR | 0.000 | -0.209 |
| predicted_OBP | 0.375 | 0.086 |
| predicted_R | 1.000 | 0.172 |
| predicted_RBI | 1.000 | 0.215 |
| predicted_SLG | 0.286 | -0.071 |
| predicted_SO | 2.000 | 0.028 |
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 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 19.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 5.000 | 0.2632 | 0.3333 | 0.4211 | 0.2632 | 0.0526 | 0.1579 | 0.1053 | 0.2632 |
| last_10 | 0.20 | 7 | - | 39.000 | 13.000 | 4.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 7.000 | 0.3333 | 0.3659 | 0.5128 | 0.3333 | 0.0256 | 0.0769 | 0.0513 | 0.1795 |
| season | 0.60 | 56 | - | 863.000 | 177.000 | 49.000 | 0.000 | 18.000 | 90.000 | 111.000 | 85.000 | 239.000 | 0.2051 | 0.2794 | 0.3244 | 0.2051 | 0.0209 | 0.1043 | 0.0985 | 0.2769 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5590 |
| predicted_3B | 0.0010 |
| predicted_AB | 11.6330 |
| predicted_AVG | 0.2306 |
| predicted_BB | 1.1070 |
| predicted_H | 2.6820 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.3340 |
| predicted_OBP | 0.2999 |
| predicted_R | 1.3570 |
| predicted_RBI | 1.3320 |
| predicted_SLG | 0.3649 |
| predicted_SO | 3.0660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.5590 | 0.3706 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9500 | 11.6330 | 7.3388 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2306 | 0.2269 | model_form_blend |
| predicted_BB | 0.3850 | 1.1070 | 0.7035 | model_form_blend |
| predicted_H | 0.8900 | 2.6820 | 1.6804 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1200 | 0.3340 | 0.2144 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2999 | 0.2983 | model_form_blend |
| predicted_R | 0.5020 | 1.3570 | 0.8791 | model_form_blend |
| predicted_RBI | 0.4400 | 1.3320 | 0.8334 | model_form_blend |
| predicted_SLG | 0.3750 | 0.3649 | 0.3705 | model_form_blend |
| predicted_SO | 1.0810 | 3.0660 | 1.9565 | 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 | 222 |
| Season rows before report date | 222 |
| Report year | 2026 |
| Profile rows used | 221 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.205 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 701538 |
| playerID | 701538 |
| playerName | Jackson Merrill |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.27 |
| sl_xwoba | 0.317 |
| sl_xba | 0.245 |
| sl_xslg | 0.419 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 45.5 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 54.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.056 | 0.000 | 0.000 | Hitting_2B | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.701 | 3.000 | 7.000 | Hitting_AB | 3.701 | 3.000 | -0.701 | 0.000 |
| predicted_AVG | 0.223 | 0.333 | 0.286 | Hitting_AVG | 0.250 | 0.000 | 0.083 | 0.333 |
| predicted_BB | 0.388 | 1.000 | 1.000 | Hitting_BB | 0.388 | 0.000 | 0.612 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_H | 0.820 | 1.000 | 2.000 | Hitting_H | 0.925 | 0.000 | 0.075 | 1.000 |
| predicted_HR | 0.130 | 1.000 | 0.000 | Hitting_HR | 0.140 | 0.000 | 0.860 | 1.000 |
| predicted_OBP | 0.301 | 0.500 | 0.375 | Hitting_OBP | 0.320 | 0.250 | 0.180 | 0.250 |
| predicted_R | 0.458 | 1.000 | 1.000 | Hitting_R | 0.458 | 0.000 | 0.542 | 1.000 |
| predicted_RBI | 0.480 | 1.000 | 1.000 | Hitting_RBI | 0.491 | 1.000 | 0.509 | 0.000 |
| predicted_SLG | 0.365 | 1.333 | 0.286 | Hitting_SLG | 0.379 | 0.000 | 0.955 | 1.333 |
| predicted_SO | 0.710 | 1.000 | 1.000 | Hitting_SO | 0.710 | 1.000 | 0.290 | 0.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_HR: 0.1300 -> 1.0000 (boost 0.8700, better) |
| Biggest Deboost | predicted_AB: 3.7010 -> 3.0000 (deboost -0.7010, 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 | 7 | 0 | 6 | 1 | predicted_AB: 3.7010 -> 6.6013 (boost 2.9003, 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 | 4 | 0 | 4 | 0 | 4 | - | predicted_RBI: 0.9041 -> 0.8519 (deboost -0.0522, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_SO: 1.4704 -> 2.0000 (boost 0.5296, worse) | predicted_H: 1.3952 -> 1.0000 (deboost -0.3952, worse) | AB rounded to 7 (raw=6.60), rates preserved: AVG=0.211 HR/AB=0.039 |
| 5 | bvp_blend | 2 | 1 | 1 | 2 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, better) | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8150 -> 1.0000 (boost 0.1850, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2923 -> 0.3750 (boost 0.0827, better) | predicted_SLG: 0.3414 -> 0.2860 (deboost -0.0554, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3414 (boost 0.0554, better) | predicted_OBP: 0.3750 -> 0.2923 (deboost -0.0827, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "593428",
"player_name": "Xander Bogaerts",
"position": "SS",
"team": "SD",
"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.056,
"predicted_3B": 0.0,
"predicted_AB": 3.701,
"predicted_AVG": 0.223,
"predicted_BB": 0.388,
"predicted_H": 0.82,
"predicted_HR": 0.13,
"predicted_OBP": 0.301,
"predicted_R": 0.458,
"predicted_RBI": 0.48,
"predicted_SLG": 0.365,
"predicted_SO": 0.71
},
"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.0837,
"predicted_3B": 0.0004,
"predicted_AB": 6.6013,
"predicted_AVG": 0.2206,
"predicted_BB": 0.7614,
"predicted_H": 1.4449,
"predicted_HBP": 0.178,
"predicted_HR": 0.2643,
"predicted_OBP": 0.304,
"predicted_R": 0.8649,
"predicted_RBI": 0.9041,
"predicted_SLG": 0.3612,
"predicted_SO": 1.4586
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.056,
"after": 0.0837,
"delta": 0.0277,
"percent_delta": 0.4946,
"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.701,
"after": 6.6013,
"delta": 2.9003,
"percent_delta": 0.7837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2206,
"delta": -0.0024,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.7614,
"delta": 0.3734,
"percent_delta": 0.9624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.4449,
"delta": 0.6249,
"percent_delta": 0.7621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2643,
"delta": 0.1343,
"percent_delta": 1.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.304,
"delta": 0.003,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.458,
"after": 0.8649,
"delta": 0.4069,
"percent_delta": 0.8884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.9041,
"delta": 0.4241,
"percent_delta": 0.8835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3612,
"delta": -0.0038,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.71,
"after": 1.4586,
"delta": 0.7486,
"percent_delta": 1.0544,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.701,
"after": 6.6013,
"delta": 2.9003,
"percent_delta": 0.7837,
"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": 58
}
},
{
"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.0837,
"predicted_3B": 0.0004,
"predicted_AB": 6.6013,
"predicted_AVG": 0.2114,
"predicted_BB": 0.7552,
"predicted_H": 1.3952,
"predicted_HBP": 0.178,
"predicted_HR": 0.258,
"predicted_OBP": 0.2923,
"predicted_R": 0.815,
"predicted_RBI": 0.8519,
"predicted_SLG": 0.3414,
"predicted_SO": 1.4704
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0837,
"after": 0.0837,
"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": 6.6013,
"after": 6.6013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2206,
"after": 0.2114,
"delta": -0.0092,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7614,
"after": 0.7552,
"delta": -0.0062,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4449,
"after": 1.3952,
"delta": -0.0497,
"percent_delta": -0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.178,
"after": 0.178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2643,
"after": 0.258,
"delta": -0.0063,
"percent_delta": -0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2923,
"delta": -0.0117,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8649,
"after": 0.815,
"delta": -0.0499,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9041,
"after": 0.8519,
"delta": -0.0522,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3612,
"after": 0.3414,
"delta": -0.0198,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4586,
"after": 1.4704,
"delta": 0.0118,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.9041,
"after": 0.8519,
"delta": -0.0522,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.60), rates preserved: AVG=0.211 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0837,
"after": 0.0,
"delta": -0.0837,
"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": 6.6013,
"after": 7.0,
"delta": 0.3987,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7552,
"after": 1.0,
"delta": 0.2448,
"percent_delta": 0.3242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3952,
"after": 1.0,
"delta": -0.3952,
"percent_delta": -0.2833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.258,
"after": 0.0,
"delta": -0.258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8519,
"after": 1.0,
"delta": 0.1481,
"percent_delta": 0.1738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4704,
"after": 2.0,
"delta": 0.5296,
"percent_delta": 0.3602,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.4704,
"after": 2.0,
"delta": 0.5296,
"percent_delta": 0.3602,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3952,
"after": 1.0,
"delta": -0.3952,
"percent_delta": -0.2833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"model_expectation": 0.9,
"bvp": 0.1
},
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.815,
"after": 1.0,
"delta": 0.185,
"percent_delta": 0.227,
"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.815,
"after": 1.0,
"delta": 0.185,
"percent_delta": 0.227,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2114,
"after": 0.286,
"delta": 0.0746,
"percent_delta": 0.3529,
"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": 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.2923,
"after": 0.375,
"delta": 0.0827,
"percent_delta": 0.2829,
"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.3414,
"after": 0.286,
"delta": -0.0554,
"percent_delta": -0.1623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2923,
"after": 0.375,
"delta": 0.0827,
"percent_delta": 0.2829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3414,
"after": 0.286,
"delta": -0.0554,
"percent_delta": -0.1623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2114,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2923,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3414,
"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.286,
"after": 0.2114,
"delta": -0.0746,
"percent_delta": -0.261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.375,
"after": 0.2923,
"delta": -0.0827,
"percent_delta": -0.2205,
"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.286,
"after": 0.3414,
"delta": 0.0554,
"percent_delta": 0.1938,
"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.286,
"after": 0.3414,
"delta": 0.0554,
"percent_delta": 0.1938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2923,
"delta": -0.0827,
"percent_delta": -0.2205,
"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.056,
"after": 0.0,
"delta": -0.056,
"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.701,
"after": 3.0,
"delta": -0.701,
"percent_delta": -0.1894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2114,
"delta": -0.0116,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 1.0,
"delta": 0.612,
"percent_delta": 1.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.0,
"delta": 0.18,
"percent_delta": 0.2195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2923,
"delta": -0.0087,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.458,
"after": 1.0,
"delta": 0.542,
"percent_delta": 1.1834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 1.0,
"delta": 0.52,
"percent_delta": 1.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3414,
"delta": -0.0236,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"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_HR",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.701,
"after": 3.0,
"delta": -0.701,
"percent_delta": -0.1894,
"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.056 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.701 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.388 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.458 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.365 | - |
| predicted_SO | 0.710 | - |
Final model 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.084 | 0.028 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.601 | 2.900 |
| predicted_AVG | 0.221 | -0.002 |
| predicted_BB | 0.761 | 0.373 |
| predicted_H | 1.445 | 0.625 |
| predicted_HBP | 0.178 | - |
| predicted_HR | 0.264 | 0.134 |
| predicted_OBP | 0.304 | 0.003 |
| predicted_R | 0.865 | 0.407 |
| predicted_RBI | 0.904 | 0.424 |
| predicted_SLG | 0.361 | -0.004 |
| predicted_SO | 1.459 | 0.749 |
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.084 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.601 | 0.000 |
| predicted_AVG | 0.211 | -0.009 |
| predicted_BB | 0.755 | -0.006 |
| predicted_H | 1.395 | -0.050 |
| predicted_HBP | 0.178 | 0.000 |
| predicted_HR | 0.258 | -0.006 |
| predicted_OBP | 0.292 | -0.012 |
| predicted_R | 0.815 | -0.050 |
| predicted_RBI | 0.852 | -0.052 |
| predicted_SLG | 0.341 | -0.020 |
| predicted_SO | 1.470 | 0.012 |
AB rounded to 7 (raw=6.60), rates preserved: AVG=0.211 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 1.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | -1.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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.084 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | 0.399 |
| predicted_AVG | 0.286 | 0.075 |
| predicted_BB | 1.000 | 0.245 |
| predicted_H | 2.000 | 0.605 |
| predicted_HR | 0.000 | -0.258 |
| predicted_OBP | 0.375 | 0.083 |
| predicted_R | 1.000 | 0.185 |
| predicted_RBI | 1.000 | 0.148 |
| predicted_SLG | 0.286 | -0.055 |
| predicted_SO | 1.000 | -0.470 |
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 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 5.000 | 0.1250 | 0.2857 | 0.3125 | 0.1250 | 0.0625 | 0.1875 | 0.1875 | 0.3125 |
| last_10 | 0.20 | 7 | - | 36.000 | 7.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 13.000 | 0.1944 | 0.2683 | 0.2778 | 0.1944 | 0.0278 | 0.0833 | 0.0833 | 0.3611 |
| season | 0.60 | 58 | - | 792.000 | 198.000 | 12.000 | 0.000 | 30.000 | 105.000 | 98.000 | 83.000 | 152.000 | 0.2500 | 0.3201 | 0.3788 | 0.2500 | 0.0379 | 0.1326 | 0.1048 | 0.1919 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.2870 |
| predicted_AVG | 0.2176 |
| predicted_BB | 1.2360 |
| predicted_H | 2.2390 |
| predicted_HBP | 0.1780 |
| predicted_HR | 0.4350 |
| predicted_OBP | 0.3078 |
| predicted_R | 1.3820 |
| predicted_RBI | 1.4430 |
| predicted_SLG | 0.3563 |
| predicted_SO | 2.4100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0560 | 0.1190 | 0.0837 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7010 | 10.2870 | 6.6013 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2176 | 0.2206 | model_form_blend |
| predicted_BB | 0.3880 | 1.2360 | 0.7614 | model_form_blend |
| predicted_H | 0.8200 | 2.2390 | 1.4449 | model_form_blend |
| predicted_HBP | - | 0.1780 | 0.1780 | form_only |
| predicted_HR | 0.1300 | 0.4350 | 0.2643 | model_form_blend |
| predicted_OBP | 0.3010 | 0.3078 | 0.3040 | model_form_blend |
| predicted_R | 0.4580 | 1.3820 | 0.8649 | model_form_blend |
| predicted_RBI | 0.4800 | 1.4430 | 0.9041 | model_form_blend |
| predicted_SLG | 0.3650 | 0.3563 | 0.3612 | model_form_blend |
| predicted_SO | 0.7100 | 2.4100 | 1.4586 | 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 | 214 |
| Season rows before report date | 214 |
| Report year | 2026 |
| Profile rows used | 214 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 593428 |
| playerID | 593428 |
| playerName | Xander Bogaerts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.303 |
| sl_xwoba | 0.324 |
| sl_xba | 0.255 |
| sl_xslg | 0.403 |
| sl_sweet_spot_percent | 29.8 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 8.0 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 44.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.302 | 0.000 | 0.000 | Hitting_2B | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_3B | 0.047 | 0.000 | 0.000 | Hitting_3B | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_AB | 3.805 | 3.000 | 6.000 | Hitting_AB | 3.805 | 4.000 | -0.805 | -1.000 |
| predicted_AVG | 0.236 | 0.000 | 0.167 | Hitting_AVG | 0.280 | 0.250 | -0.280 | -0.250 |
| predicted_BB | 0.124 | 0.000 | 0.000 | Hitting_BB | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_H | 0.850 | 0.000 | 1.000 | Hitting_H | 1.065 | 1.000 | -1.065 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_OBP | 0.295 | 0.250 | 0.167 | Hitting_OBP | 0.307 | 0.250 | -0.057 | 0.000 |
| predicted_R | 0.414 | 0.000 | 1.000 | Hitting_R | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.420 | 0.000 | -0.420 | 0.000 |
| predicted_SLG | 0.369 | 0.000 | 0.167 | Hitting_SLG | 0.473 | 0.250 | -0.473 | -0.250 |
| predicted_SO | 0.669 | 1.000 | 1.000 | Hitting_SO | 0.669 | 0.000 | 0.331 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.6690 -> 1.0000 (boost 0.3310, worse) |
| Biggest Deboost | predicted_H: 0.8500 -> 0.0000 (deboost -0.8500, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.8050 -> 6.4833 (boost 2.6783, 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_H: 1.5814 -> 1.5270 (deboost -0.0544, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 0 | 9 | 1 | 8 | - | predicted_H: 1.5270 -> 1.0000 (deboost -0.5270, worse) | AB rounded to 6 (raw=6.48), rates preserved: AVG=0.236 HR/AB=0.020 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5946 -> 1.0000 (boost 0.4054, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3781 -> 0.1670 (deboost -0.2111, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3781 (boost 0.2111, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "609280",
"player_name": "Miguel Andujar",
"position": "DH",
"team": "SD",
"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.302,
"predicted_3B": 0.047,
"predicted_AB": 3.805,
"predicted_AVG": 0.236,
"predicted_BB": 0.124,
"predicted_H": 0.85,
"predicted_HR": 0.08,
"predicted_OBP": 0.295,
"predicted_R": 0.414,
"predicted_RBI": 0.31,
"predicted_SLG": 0.369,
"predicted_SO": 0.669
},
"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.4039,
"predicted_3B": 0.0623,
"predicted_AB": 6.4833,
"predicted_AVG": 0.2439,
"predicted_BB": 0.2425,
"predicted_H": 1.5814,
"predicted_HBP": 0.195,
"predicted_HR": 0.1351,
"predicted_OBP": 0.2953,
"predicted_R": 0.631,
"predicted_RBI": 0.5117,
"predicted_SLG": 0.3767,
"predicted_SO": 1.2048
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.302,
"after": 0.4039,
"delta": 0.1019,
"percent_delta": 0.3374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.047,
"after": 0.0623,
"delta": 0.0153,
"percent_delta": 0.3255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.805,
"after": 6.4833,
"delta": 2.6783,
"percent_delta": 0.7039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2439,
"delta": 0.0079,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.124,
"after": 0.2425,
"delta": 0.1185,
"percent_delta": 0.9556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.5814,
"delta": 0.7314,
"percent_delta": 0.8605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1351,
"delta": 0.0551,
"percent_delta": 0.6887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2953,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.414,
"after": 0.631,
"delta": 0.217,
"percent_delta": 0.5242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.5117,
"delta": 0.2017,
"percent_delta": 0.6506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3767,
"delta": 0.0077,
"percent_delta": 0.0209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.669,
"after": 1.2048,
"delta": 0.5358,
"percent_delta": 0.8009,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.805,
"after": 6.4833,
"delta": 2.6783,
"percent_delta": 0.7039,
"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": 49
}
},
{
"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.4039,
"predicted_3B": 0.0623,
"predicted_AB": 6.4833,
"predicted_AVG": 0.2355,
"predicted_BB": 0.2405,
"predicted_H": 1.527,
"predicted_HBP": 0.195,
"predicted_HR": 0.1319,
"predicted_OBP": 0.2629,
"predicted_R": 0.5946,
"predicted_RBI": 0.4822,
"predicted_SLG": 0.3781,
"predicted_SO": 1.2146
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4039,
"after": 0.4039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0623,
"after": 0.0623,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.4833,
"after": 6.4833,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2439,
"after": 0.2355,
"delta": -0.0084,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2425,
"after": 0.2405,
"delta": -0.002,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5814,
"after": 1.527,
"delta": -0.0544,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.195,
"after": 0.195,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1351,
"after": 0.1319,
"delta": -0.0032,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2953,
"after": 0.2629,
"delta": -0.0324,
"percent_delta": -0.1097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.631,
"after": 0.5946,
"delta": -0.0364,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5117,
"after": 0.4822,
"delta": -0.0295,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3767,
"after": 0.3781,
"delta": 0.0014,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2048,
"after": 1.2146,
"delta": 0.0098,
"percent_delta": 0.0081,
"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_H",
"before": 1.5814,
"after": 1.527,
"delta": -0.0544,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.48), rates preserved: AVG=0.236 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4039,
"after": 0.0,
"delta": -0.4039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0623,
"after": 0.0,
"delta": -0.0623,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.4833,
"after": 6.0,
"delta": -0.4833,
"percent_delta": -0.0745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2405,
"after": 0.0,
"delta": -0.2405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.527,
"after": 1.0,
"delta": -0.527,
"percent_delta": -0.3451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.195,
"after": 0.0,
"delta": -0.195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1319,
"after": 0.0,
"delta": -0.1319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4822,
"after": 0.0,
"delta": -0.4822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2146,
"after": 1.0,
"delta": -0.2146,
"percent_delta": -0.1767,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 0,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.527,
"after": 1.0,
"delta": -0.527,
"percent_delta": -0.3451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 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": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5946,
"after": 1.0,
"delta": 0.4054,
"percent_delta": 0.6818,
"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.5946,
"after": 1.0,
"delta": 0.4054,
"percent_delta": 0.6818,
"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.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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.2355,
"after": 0.167,
"delta": -0.0685,
"percent_delta": -0.2909,
"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.2629,
"after": 0.167,
"delta": -0.0959,
"percent_delta": -0.3648,
"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.3781,
"after": 0.167,
"delta": -0.2111,
"percent_delta": -0.5583,
"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.3781,
"after": 0.167,
"delta": -0.2111,
"percent_delta": -0.5583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 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": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2355,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2629,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3781,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2355,
"delta": 0.0685,
"percent_delta": 0.4103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.2629,
"delta": 0.0959,
"percent_delta": 0.5741,
"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.167,
"after": 0.3781,
"delta": 0.2111,
"percent_delta": 1.2639,
"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.167,
"after": 0.3781,
"delta": 0.2111,
"percent_delta": 1.2639,
"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.302,
"after": 0.0,
"delta": -0.302,
"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.805,
"after": 3.0,
"delta": -0.805,
"percent_delta": -0.2116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2355,
"delta": -0.0005,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2629,
"delta": -0.0321,
"percent_delta": -0.1088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.414,
"after": 0.0,
"delta": -0.414,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3781,
"delta": 0.0091,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.669,
"after": 1.0,
"delta": 0.331,
"percent_delta": 0.4948,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.669,
"after": 1.0,
"delta": 0.331,
"percent_delta": 0.4948,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"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.302 | - |
| predicted_3B | 0.047 | - |
| predicted_AB | 3.805 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.124 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.414 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 0.669 | - |
Final model 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.404 | 0.102 |
| predicted_3B | 0.062 | 0.015 |
| predicted_AB | 6.483 | 2.678 |
| predicted_AVG | 0.244 | 0.008 |
| predicted_BB | 0.242 | 0.118 |
| predicted_H | 1.581 | 0.731 |
| predicted_HBP | 0.195 | - |
| predicted_HR | 0.135 | 0.055 |
| predicted_OBP | 0.295 | 0.000 |
| predicted_R | 0.631 | 0.217 |
| predicted_RBI | 0.512 | 0.202 |
| predicted_SLG | 0.377 | 0.008 |
| predicted_SO | 1.205 | 0.536 |
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.404 | 0.000 |
| predicted_3B | 0.062 | 0.000 |
| predicted_AB | 6.483 | 0.000 |
| predicted_AVG | 0.235 | -0.008 |
| predicted_BB | 0.240 | -0.002 |
| predicted_H | 1.527 | -0.054 |
| predicted_HBP | 0.195 | 0.000 |
| predicted_HR | 0.132 | -0.003 |
| predicted_OBP | 0.263 | -0.032 |
| predicted_R | 0.595 | -0.036 |
| predicted_RBI | 0.482 | -0.030 |
| predicted_SLG | 0.378 | 0.001 |
| predicted_SO | 1.215 | 0.010 |
AB rounded to 6 (raw=6.48), rates preserved: AVG=0.236 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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 | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.404 |
| predicted_3B | 0.000 | -0.062 |
| predicted_AB | 6.000 | -0.483 |
| predicted_AVG | 0.167 | -0.068 |
| predicted_BB | 0.000 | -0.240 |
| predicted_H | 1.000 | -0.527 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.167 | -0.096 |
| predicted_R | 1.000 | 0.405 |
| predicted_RBI | 0.000 | -0.482 |
| predicted_SLG | 0.167 | -0.211 |
| predicted_SO | 1.000 | -0.215 |
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 | -3.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 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 0.2353 | 0.3158 | 0.2353 | 0.2353 | 0.0000 | 0.0000 | 0.0588 | 0.1765 |
| last_10 | 0.20 | 7 | - | 37.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 12.000 | 0.1081 | 0.1538 | 0.1081 | 0.1081 | 0.0000 | 0.0000 | 0.0270 | 0.3243 |
| season | 0.60 | 49 | - | 643.000 | 180.000 | 51.000 | 8.000 | 19.000 | 71.000 | 70.000 | 21.000 | 113.000 | 0.2799 | 0.3069 | 0.4728 | 0.2799 | 0.0295 | 0.1104 | 0.0327 | 0.1757 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5350 |
| predicted_3B | 0.0820 |
| predicted_AB | 9.9280 |
| predicted_AVG | 0.2540 |
| predicted_BB | 0.3950 |
| predicted_H | 2.5220 |
| predicted_HBP | 0.1950 |
| predicted_HR | 0.2060 |
| predicted_OBP | 0.2958 |
| predicted_R | 0.9100 |
| predicted_RBI | 0.7710 |
| predicted_SLG | 0.3866 |
| predicted_SO | 1.8940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3020 | 0.5350 | 0.4039 | model_form_blend |
| predicted_3B | 0.0470 | 0.0820 | 0.0623 | model_form_blend |
| predicted_AB | 3.8050 | 9.9280 | 6.4833 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2540 | 0.2439 | model_form_blend |
| predicted_BB | 0.1240 | 0.3950 | 0.2425 | model_form_blend |
| predicted_H | 0.8500 | 2.5220 | 1.5814 | model_form_blend |
| predicted_HBP | - | 0.1950 | 0.1950 | form_only |
| predicted_HR | 0.0800 | 0.2060 | 0.1351 | model_form_blend |
| predicted_OBP | 0.2950 | 0.2958 | 0.2953 | model_form_blend |
| predicted_R | 0.4140 | 0.9100 | 0.6310 | model_form_blend |
| predicted_RBI | 0.3100 | 0.7710 | 0.5117 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3866 | 0.3767 | model_form_blend |
| predicted_SO | 0.6690 | 1.8940 | 1.2048 | 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 | 169 |
| Season rows before report date | 169 |
| Report year | 2026 |
| Profile rows used | 169 |
| 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.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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | DH |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 609280 |
| playerID | 609280 |
| playerName | Miguel Andujar |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-03 |
| sl_k_percent | 17.2 |
| sl_bb_percent | 3.2 |
| sl_woba | 0.319 |
| sl_xwoba | 0.292 |
| sl_xba | 0.261 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 28.8 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 37.7 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 7.0 |
| sl_whiff_percent | 19.3 |
| sl_swing_percent | 54.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.147 | 0.000 | 0.000 | Hitting_2B | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.174 | 4.000 | 5.000 | Hitting_AB | 2.883 | 0.000 | 1.117 | 4.000 |
| predicted_AVG | 0.214 | 0.250 | 0.200 | Hitting_AVG | 0.139 | - | 0.111 | - |
| predicted_BB | 0.385 | 0.000 | 1.000 | Hitting_BB | 0.350 | 0.000 | -0.350 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.450 | 1.000 | 1.000 | Hitting_H | 0.400 | 0.000 | 0.600 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.241 | 0.250 | 0.333 | Hitting_OBP | 0.243 | - | 0.007 | - |
| predicted_R | 0.385 | 0.000 | 0.000 | Hitting_R | 0.350 | 0.000 | -0.350 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_SLG | 0.236 | 0.250 | 0.200 | Hitting_SLG | 0.185 | - | 0.065 | - |
| predicted_SO | 0.798 | 0.000 | 1.000 | Hitting_SO | 0.725 | 0.000 | -0.725 | 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_AB: 3.1740 -> 4.0000 (boost 0.8260, better) |
| Biggest Deboost | predicted_SO: 0.7980 -> 0.0000 (deboost -0.7980, 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 | 10 | 7 | 3 | 6 | 4 | predicted_AB: 3.1740 -> 5.2641 (boost 2.0901, better) | predicted_AVG: 0.2140 -> 0.1691 (deboost -0.0449, 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.1691 -> 0.1164 (deboost -0.0527, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 0.6130 -> 1.0000 (boost 0.3870, better) | predicted_SO: 1.3361 -> 1.0000 (deboost -0.3361, better) | AB rounded to 5 (raw=5.26), rates preserved: AVG=0.116 HR/AB=0.007 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4985 -> 0.0000 (deboost -0.4985, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2161 -> 0.3330 (boost 0.1169, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3330 -> 0.2161 (deboost -0.1169, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666023",
"player_name": "Freddy Fermin",
"position": "C",
"team": "SD",
"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.147,
"predicted_3B": 0.0,
"predicted_AB": 3.174,
"predicted_AVG": 0.214,
"predicted_BB": 0.385,
"predicted_H": 0.45,
"predicted_HR": 0.05,
"predicted_OBP": 0.241,
"predicted_R": 0.385,
"predicted_RBI": 0.24,
"predicted_SLG": 0.236,
"predicted_SO": 0.798
},
"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.2016,
"predicted_3B": 0.0009,
"predicted_AB": 5.2641,
"predicted_AVG": 0.1691,
"predicted_BB": 0.6747,
"predicted_H": 0.6348,
"predicted_HBP": 0.129,
"predicted_HR": 0.0367,
"predicted_OBP": 0.2319,
"predicted_R": 0.529,
"predicted_RBI": 0.3247,
"predicted_SLG": 0.1996,
"predicted_SO": 1.3254
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.2016,
"delta": 0.0546,
"percent_delta": 0.3714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.174,
"after": 5.2641,
"delta": 2.0901,
"percent_delta": 0.6585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.1691,
"delta": -0.0449,
"percent_delta": -0.2098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.6747,
"delta": 0.2897,
"percent_delta": 0.7525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.45,
"after": 0.6348,
"delta": 0.1848,
"percent_delta": 0.4107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0367,
"delta": -0.0133,
"percent_delta": -0.266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.241,
"after": 0.2319,
"delta": -0.0091,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.529,
"delta": 0.144,
"percent_delta": 0.374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.3247,
"delta": 0.0847,
"percent_delta": 0.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.236,
"after": 0.1996,
"delta": -0.0364,
"percent_delta": -0.1542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.798,
"after": 1.3254,
"delta": 0.5274,
"percent_delta": 0.6609,
"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_AB",
"before": 3.174,
"after": 5.2641,
"delta": 2.0901,
"percent_delta": 0.6585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.1691,
"delta": -0.0449,
"percent_delta": -0.2098,
"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": 6,
"season": 33
}
},
{
"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.2016,
"predicted_3B": 0.0009,
"predicted_AB": 5.2641,
"predicted_AVG": 0.1164,
"predicted_BB": 0.6692,
"predicted_H": 0.613,
"predicted_HBP": 0.129,
"predicted_HR": 0.0358,
"predicted_OBP": 0.2161,
"predicted_R": 0.4985,
"predicted_RBI": 0.306,
"predicted_SLG": 0.1755,
"predicted_SO": 1.3361
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2016,
"after": 0.2016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.2641,
"after": 5.2641,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1691,
"after": 0.1164,
"delta": -0.0527,
"percent_delta": -0.3116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6747,
"after": 0.6692,
"delta": -0.0055,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6348,
"after": 0.613,
"delta": -0.0218,
"percent_delta": -0.0343,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.129,
"after": 0.129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0367,
"after": 0.0358,
"delta": -0.0009,
"percent_delta": -0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2319,
"after": 0.2161,
"delta": -0.0158,
"percent_delta": -0.0681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.4985,
"delta": -0.0305,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3247,
"after": 0.306,
"delta": -0.0187,
"percent_delta": -0.0576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.1996,
"after": 0.1755,
"delta": -0.0241,
"percent_delta": -0.1207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3254,
"after": 1.3361,
"delta": 0.0107,
"percent_delta": 0.0081,
"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.1691,
"after": 0.1164,
"delta": -0.0527,
"percent_delta": -0.3116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.26), rates preserved: AVG=0.116 HR/AB=0.007",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2016,
"after": 0.0,
"delta": -0.2016,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.2641,
"after": 5.0,
"delta": -0.2641,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6692,
"after": 1.0,
"delta": 0.3308,
"percent_delta": 0.4943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.613,
"after": 1.0,
"delta": 0.387,
"percent_delta": 0.6313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0358,
"after": 0.0,
"delta": -0.0358,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.306,
"after": 0.0,
"delta": -0.306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3361,
"after": 1.0,
"delta": -0.3361,
"percent_delta": -0.2516,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.613,
"after": 1.0,
"delta": 0.387,
"percent_delta": 0.6313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3361,
"after": 1.0,
"delta": -0.3361,
"percent_delta": -0.2516,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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.4985,
"after": 0.0,
"delta": -0.4985,
"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.4985,
"after": 0.0,
"delta": -0.4985,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.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.1164,
"after": 0.2,
"delta": 0.0836,
"percent_delta": 0.7182,
"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.2161,
"after": 0.333,
"delta": 0.1169,
"percent_delta": 0.541,
"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.1755,
"after": 0.2,
"delta": 0.0245,
"percent_delta": 0.1396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2161,
"after": 0.333,
"delta": 0.1169,
"percent_delta": 0.541,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1164,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2161,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1755,
"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.2,
"after": 0.1164,
"delta": -0.0836,
"percent_delta": -0.4178,
"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.2161,
"delta": -0.1169,
"percent_delta": -0.351,
"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.2,
"after": 0.1755,
"delta": -0.0245,
"percent_delta": -0.1225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2161,
"delta": -0.1169,
"percent_delta": -0.351,
"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.147,
"after": 0.0,
"delta": -0.147,
"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.174,
"after": 4.0,
"delta": 0.826,
"percent_delta": 0.2602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.1164,
"delta": -0.0976,
"percent_delta": -0.4561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.45,
"after": 1.0,
"delta": 0.55,
"percent_delta": 1.2222,
"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.241,
"after": 0.2161,
"delta": -0.0249,
"percent_delta": -0.1033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"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.236,
"after": 0.1755,
"delta": -0.0605,
"percent_delta": -0.2564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.798,
"after": 0.0,
"delta": -0.798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.174,
"after": 4.0,
"delta": 0.826,
"percent_delta": 0.2602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.798,
"after": 0.0,
"delta": -0.798,
"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.147 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.174 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.385 | - |
| predicted_H | 0.450 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.241 | - |
| predicted_R | 0.385 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.236 | - |
| predicted_SO | 0.798 | - |
Final model 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.202 | 0.055 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.264 | 2.090 |
| predicted_AVG | 0.169 | -0.045 |
| predicted_BB | 0.675 | 0.290 |
| predicted_H | 0.635 | 0.185 |
| predicted_HBP | 0.129 | - |
| predicted_HR | 0.037 | -0.013 |
| predicted_OBP | 0.232 | -0.009 |
| predicted_R | 0.529 | 0.144 |
| predicted_RBI | 0.325 | 0.085 |
| predicted_SLG | 0.200 | -0.036 |
| predicted_SO | 1.325 | 0.527 |
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.202 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.264 | 0.000 |
| predicted_AVG | 0.116 | -0.053 |
| predicted_BB | 0.669 | -0.005 |
| predicted_H | 0.613 | -0.022 |
| predicted_HBP | 0.129 | 0.000 |
| predicted_HR | 0.036 | -0.001 |
| predicted_OBP | 0.216 | -0.016 |
| predicted_R | 0.498 | -0.031 |
| predicted_RBI | 0.306 | -0.019 |
| predicted_SLG | 0.175 | -0.024 |
| predicted_SO | 1.336 | 0.011 |
AB rounded to 5 (raw=5.26), rates preserved: AVG=0.116 HR/AB=0.007
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.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.202 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.264 |
| predicted_AVG | 0.200 | 0.084 |
| predicted_BB | 1.000 | 0.331 |
| predicted_H | 1.000 | 0.387 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.333 | 0.117 |
| predicted_R | 0.000 | -0.498 |
| predicted_RBI | 0.000 | -0.306 |
| predicted_SLG | 0.200 | 0.025 |
| predicted_SO | 1.000 | -0.336 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 11.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 3.000 | 0.0000 | 0.0833 | 0.0000 | 0.0000 | 0.0000 | 0.0909 | 0.0909 | 0.2727 |
| last_10 | 0.20 | 6 | - | 21.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 7.000 | 5.000 | 0.0000 | 0.2500 | 0.0000 | 0.0000 | 0.0000 | 0.0476 | 0.3333 | 0.2381 |
| season | 0.60 | 33 | - | 346.000 | 48.000 | 16.000 | 0.000 | 0.000 | 13.000 | 42.000 | 42.000 | 87.000 | 0.1387 | 0.2426 | 0.1850 | 0.1387 | 0.0000 | 0.0376 | 0.1214 | 0.2515 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2740 |
| predicted_3B | 0.0020 |
| predicted_AB | 8.0370 |
| predicted_AVG | 0.1095 |
| predicted_BB | 1.0590 |
| predicted_H | 0.8800 |
| predicted_HBP | 0.1290 |
| predicted_HR | 0.0190 |
| predicted_OBP | 0.2199 |
| predicted_R | 0.7200 |
| predicted_RBI | 0.4370 |
| predicted_SLG | 0.1512 |
| predicted_SO | 2.0250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.2740 | 0.2016 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.1740 | 8.0370 | 5.2641 | model_form_blend |
| predicted_AVG | 0.2140 | 0.1095 | 0.1691 | model_form_blend |
| predicted_BB | 0.3850 | 1.0590 | 0.6747 | model_form_blend |
| predicted_H | 0.4500 | 0.8800 | 0.6348 | model_form_blend |
| predicted_HBP | - | 0.1290 | 0.1290 | form_only |
| predicted_HR | 0.0500 | 0.0190 | 0.0367 | model_form_blend |
| predicted_OBP | 0.2410 | 0.2199 | 0.2319 | model_form_blend |
| predicted_R | 0.3850 | 0.7200 | 0.5290 | model_form_blend |
| predicted_RBI | 0.2400 | 0.4370 | 0.3247 | model_form_blend |
| predicted_SLG | 0.2360 | 0.1512 | 0.1996 | model_form_blend |
| predicted_SO | 0.7980 | 2.0250 | 1.3254 | 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 | 120 |
| Season rows before report date | 120 |
| Report year | 2026 |
| Profile rows used | 109 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.139 |
| 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 | 4 |
| 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 | 20260603_SD@PHI |
| game_type | short |
| mlbID | 666023 |
| playerID | 666023 |
| playerName | Freddy Fermin |
| pos | C |
| started | False |
| startingPosition | C |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.199 |
| sl_xwoba | 0.238 |
| sl_xba | 0.172 |
| sl_xslg | 0.225 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 25.0 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 50.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.194 | 0.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.750 | 3.000 | 4.000 | Hitting_AB | 2.062 | 1.000 | 0.938 | 2.000 |
| predicted_AVG | 0.277 | 0.000 | 0.000 | Hitting_AVG | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 0.150 | 0.000 | 0.000 | Hitting_H | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.277 | 0.000 | 0.000 | Hitting_OBP | 0.252 | 0.000 | -0.252 | 0.000 |
| predicted_R | 0.139 | 0.000 | 0.000 | Hitting_R | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_RBI | 0.100 | 0.000 | 0.000 | Hitting_RBI | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_SLG | 0.319 | 0.000 | 0.000 | Hitting_SLG | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_SO | 1.167 | 2.000 | 2.000 | Hitting_SO | 0.875 | 1.000 | 1.125 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.1670 -> 2.0000 (boost 0.8330, worse) |
| Biggest Deboost | predicted_BB: 0.3330 -> 0.0000 (deboost -0.3330, 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 | 5 | 4 | predicted_AB: 2.7500 -> 3.8497 (boost 1.0997, better) | predicted_AVG: 0.2770 -> 0.2323 (deboost -0.0447, 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.2323 -> 0.1109 (deboost -0.1214, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 1.5381 -> 2.0000 (boost 0.4619, worse) | predicted_H: 0.4268 -> 0.0000 (deboost -0.4268, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.111 HR/AB=0.007 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1968 -> 0.0000 (deboost -0.1968, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.1980 -> 0.0000 (deboost -0.1980, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.0000 -> 0.1980 (boost 0.1980, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669369",
"player_name": "Bryce Johnson",
"position": "RF",
"team": "SD",
"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.0,
"predicted_AB": 2.75,
"predicted_AVG": 0.277,
"predicted_BB": 0.333,
"predicted_H": 0.15,
"predicted_HR": 0.02,
"predicted_OBP": 0.277,
"predicted_R": 0.139,
"predicted_RBI": 0.1,
"predicted_SLG": 0.319,
"predicted_SO": 1.167
},
"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.2316,
"predicted_3B": 0.0019,
"predicted_AB": 3.8497,
"predicted_AVG": 0.2323,
"predicted_BB": 0.4218,
"predicted_H": 0.442,
"predicted_HBP": 0.011,
"predicted_HR": 0.0278,
"predicted_OBP": 0.2623,
"predicted_R": 0.2088,
"predicted_RBI": 0.1993,
"predicted_SLG": 0.2872,
"predicted_SO": 1.5257
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.2316,
"delta": 0.0376,
"percent_delta": 0.1938,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.75,
"after": 3.8497,
"delta": 1.0997,
"percent_delta": 0.3999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2323,
"delta": -0.0447,
"percent_delta": -0.1614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.4218,
"delta": 0.0888,
"percent_delta": 0.2667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.15,
"after": 0.442,
"delta": 0.292,
"percent_delta": 1.9467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0278,
"delta": 0.0078,
"percent_delta": 0.39,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2623,
"delta": -0.0147,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.139,
"after": 0.2088,
"delta": 0.0698,
"percent_delta": 0.5022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 0.1993,
"delta": 0.0993,
"percent_delta": 0.993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.319,
"after": 0.2872,
"delta": -0.0318,
"percent_delta": -0.0997,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.167,
"after": 1.5257,
"delta": 0.3587,
"percent_delta": 0.3074,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.75,
"after": 3.8497,
"delta": 1.0997,
"percent_delta": 0.3999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2323,
"delta": -0.0447,
"percent_delta": -0.1614,
"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": 3,
"last_10": 5,
"season": 15
}
},
{
"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.2316,
"predicted_3B": 0.0019,
"predicted_AB": 3.8497,
"predicted_AVG": 0.1109,
"predicted_BB": 0.4184,
"predicted_H": 0.4268,
"predicted_HBP": 0.011,
"predicted_HR": 0.0271,
"predicted_OBP": 0.198,
"predicted_R": 0.1968,
"predicted_RBI": 0.1878,
"predicted_SLG": 0.1932,
"predicted_SO": 1.5381
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2316,
"after": 0.2316,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8497,
"after": 3.8497,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2323,
"after": 0.1109,
"delta": -0.1214,
"percent_delta": -0.5226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4218,
"after": 0.4184,
"delta": -0.0034,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.442,
"after": 0.4268,
"delta": -0.0152,
"percent_delta": -0.0344,
"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.0278,
"after": 0.0271,
"delta": -0.0007,
"percent_delta": -0.0252,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2623,
"after": 0.198,
"delta": -0.0643,
"percent_delta": -0.2451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2088,
"after": 0.1968,
"delta": -0.012,
"percent_delta": -0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1993,
"after": 0.1878,
"delta": -0.0115,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2872,
"after": 0.1932,
"delta": -0.094,
"percent_delta": -0.3273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5257,
"after": 1.5381,
"delta": 0.0124,
"percent_delta": 0.0081,
"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.2323,
"after": 0.1109,
"delta": -0.1214,
"percent_delta": -0.5226,
"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.111 HR/AB=0.007",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2316,
"after": 0.0,
"delta": -0.2316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8497,
"after": 4.0,
"delta": 0.1503,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4184,
"after": 0.0,
"delta": -0.4184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4268,
"after": 0.0,
"delta": -0.4268,
"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.0271,
"after": 0.0,
"delta": -0.0271,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1878,
"after": 0.0,
"delta": -0.1878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5381,
"after": 2.0,
"delta": 0.4619,
"percent_delta": 0.3003,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.5381,
"after": 2.0,
"delta": 0.4619,
"percent_delta": 0.3003,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4268,
"after": 0.0,
"delta": -0.4268,
"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": 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": 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_R",
"before": 0.1968,
"after": 0.0,
"delta": -0.1968,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.1968,
"after": 0.0,
"delta": -0.1968,
"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": 4.0,
"predicted_AVG": 0.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 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_AVG",
"before": 0.1109,
"after": 0.0,
"delta": -0.1109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 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.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.1932,
"after": 0.0,
"delta": -0.1932,
"percent_delta": -1.0,
"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_OBP",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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_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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1109,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.198,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1932,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.0,
"after": 0.1109,
"delta": 0.1109,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.0,
"after": 0.198,
"delta": 0.198,
"percent_delta": null,
"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.0,
"after": 0.1932,
"delta": 0.1932,
"percent_delta": null,
"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_OBP",
"before": 0.0,
"after": 0.198,
"delta": 0.198,
"percent_delta": null,
"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.194,
"after": 0.0,
"delta": -0.194,
"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.75,
"after": 3.0,
"delta": 0.25,
"percent_delta": 0.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.1109,
"delta": -0.1661,
"percent_delta": -0.5996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"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.277,
"after": 0.198,
"delta": -0.079,
"percent_delta": -0.2852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.139,
"after": 0.0,
"delta": -0.139,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.319,
"after": 0.1932,
"delta": -0.1258,
"percent_delta": -0.3944,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.167,
"after": 2.0,
"delta": 0.833,
"percent_delta": 0.7138,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.167,
"after": 2.0,
"delta": 0.833,
"percent_delta": 0.7138,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.000 | - |
| predicted_AB | 2.750 | - |
| predicted_AVG | 0.277 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.150 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.139 | - |
| predicted_RBI | 0.100 | - |
| predicted_SLG | 0.319 | - |
| predicted_SO | 1.167 | - |
Final model 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.232 | 0.038 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.850 | 1.100 |
| predicted_AVG | 0.232 | -0.045 |
| predicted_BB | 0.422 | 0.089 |
| predicted_H | 0.442 | 0.292 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.028 | 0.008 |
| predicted_OBP | 0.262 | -0.015 |
| predicted_R | 0.209 | 0.070 |
| predicted_RBI | 0.199 | 0.099 |
| predicted_SLG | 0.287 | -0.032 |
| predicted_SO | 1.526 | 0.359 |
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.232 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.850 | 0.000 |
| predicted_AVG | 0.111 | -0.121 |
| predicted_BB | 0.418 | -0.003 |
| predicted_H | 0.427 | -0.015 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.027 | -0.001 |
| predicted_OBP | 0.198 | -0.064 |
| predicted_R | 0.197 | -0.012 |
| predicted_RBI | 0.188 | -0.012 |
| predicted_SLG | 0.193 | -0.094 |
| predicted_SO | 1.538 | 0.012 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.111 HR/AB=0.007
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.232 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.150 |
| predicted_AVG | 0.000 | -0.111 |
| predicted_BB | 0.000 | -0.418 |
| predicted_H | 0.000 | -0.427 |
| predicted_HR | 0.000 | -0.027 |
| predicted_OBP | 0.000 | -0.198 |
| predicted_R | 0.000 | -0.197 |
| predicted_RBI | 0.000 | -0.188 |
| predicted_SLG | 0.000 | -0.193 |
| predicted_SO | 2.000 | 0.462 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 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 | 3 | - | 12.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.0833 | 0.0833 | 0.0833 | 0.0833 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 5 | - | 25.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 12.000 | 0.0400 | 0.1724 | 0.0400 | 0.0400 | 0.0000 | 0.0000 | 0.1600 | 0.4800 |
| season | 0.60 | 15 | - | 99.000 | 16.000 | 7.000 | 0.000 | 0.000 | 6.000 | 5.000 | 12.000 | 42.000 | 0.1616 | 0.2523 | 0.2323 | 0.1616 | 0.0000 | 0.0606 | 0.1212 | 0.4242 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2910 |
| predicted_3B | 0.0050 |
| predicted_AB | 5.5860 |
| predicted_AVG | 0.1616 |
| predicted_BB | 0.5620 |
| predicted_H | 0.9030 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0400 |
| predicted_OBP | 0.2391 |
| predicted_R | 0.3190 |
| predicted_RBI | 0.3560 |
| predicted_SLG | 0.2370 |
| predicted_SO | 2.0920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1940 | 0.2910 | 0.2316 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0019 | model_form_blend |
| predicted_AB | 2.7500 | 5.5860 | 3.8497 | model_form_blend |
| predicted_AVG | 0.2770 | 0.1616 | 0.2323 | model_form_blend |
| predicted_BB | 0.3330 | 0.5620 | 0.4218 | model_form_blend |
| predicted_H | 0.1500 | 0.9030 | 0.4420 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0200 | 0.0400 | 0.0278 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2391 | 0.2623 | model_form_blend |
| predicted_R | 0.1390 | 0.3190 | 0.2088 | model_form_blend |
| predicted_RBI | 0.1000 | 0.3560 | 0.1993 | model_form_blend |
| predicted_SLG | 0.3190 | 0.2370 | 0.2872 | model_form_blend |
| predicted_SO | 1.1670 | 2.0920 | 1.5257 | 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 | 48 |
| Season rows before report date | 48 |
| Report year | 2026 |
| Profile rows used | 36 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.162 |
| 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 | 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 |
| gameID | 20260603_SD@PHI |
| game_type | ph |
| mlbID | 669369 |
| note | Struck out for Bowen in the 9th. |
| playerID | 669369 |
| playerName | Bryce Johnson |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-03 |
| sl_k_percent | 37.8 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.229 |
| sl_xwoba | 0.169 |
| sl_xba | 0.128 |
| sl_xslg | 0.147 |
| sl_sweet_spot_percent | 20.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 10.0 |
| sl_exit_velocity_avg | 79.7 |
| sl_launch_angle_avg | 19.0 |
| sl_whiff_percent | 36.8 |
| 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 | 4.000 | 4.000 | -1.000 | -1.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.333 | 4.000 | 1.667 | 0.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 3.333 | 5.000 | 2.667 | 1.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 4.067 | 2.200 | 0.033 | 1.900 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 2.000 | 1.000 | 1.000 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.6667 -> 4.1000 (deboost -0.5667, 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: 4.6667 -> 4.1000 (deboost -0.5667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "608337",
"player_name": "Lucas Giolito",
"position": "Starter",
"team": "SD",
"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": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.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": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_SO": 3.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": 4.0,
"after": 4.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.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"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": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_R": 4.0,
"predicted_SO": 3.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": 4.0,
"after": 4.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.1,
"after": 4.1,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"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": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"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 | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.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 | 3.000 | 0.000 |
| predicted_ER | 4.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.100 | -0.567 |
| 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 | 3 | 12.200 | 7.000 | 10.000 | 12.000 | 6.000 | 2.000 | 4.9737 | 1.7368 | 0.5526 | 0.7895 | 0.9474 | 0.4737 | 0.1579 |
| last_10 | 0.35 | 3 | 12.200 | 7.000 | 10.000 | 12.000 | 6.000 | 2.000 | 4.9737 | 1.7368 | 0.5526 | 0.7895 | 0.9474 | 0.4737 | 0.1579 |
| season | 0.20 | 3 | 12.200 | 7.000 | 10.000 | 12.000 | 6.000 | 2.000 | 4.9737 | 1.7368 | 0.5526 | 0.7895 | 0.9474 | 0.4737 | 0.1579 |
| Metric | Value |
|---|---|
| predicted_BB | 2.6550 |
| predicted_ER | 2.3110 |
| predicted_ERA | 4.5793 |
| predicted_H | 4.0580 |
| predicted_HR | 0.6580 |
| predicted_IP | 4.2000 |
| predicted_SO | 3.4780 |
| predicted_WHIP | 1.4780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.6550 | 2.8669 | model_form_blend |
| predicted_ER | 4.0000 | 2.3110 | 3.3482 | model_form_blend |
| predicted_ERA | - | 4.5793 | 4.5793 | form_only |
| predicted_H | 6.0000 | 4.0580 | 5.2505 | model_form_blend |
| predicted_HR | 0.0000 | 0.6580 | 0.2539 | model_form_blend |
| predicted_IP | 4.2000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 3.0000 | 3.4780 | 3.1845 | model_form_blend |
| predicted_WHIP | - | 1.4780 | 1.4780 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 3 |
| Season rows before report date | 3 |
| Report year | 2026 |
| Profile rows used | 3 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.1 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 3 |
| SO | 3 |
| HR | 0 |
| BF | 22 |
| Pitches | 95 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 16 |
| Pitching_ER | 4 |
| Pitching_ERA | 4.97 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 2 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.2 |
| Pitching_Pitches | 77 |
| Pitching_R | 4 |
| Pitching_SO | 1 |
| Pitching_Strikes | 41 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260529_SD@WAS |
| game_type | full |
| mlbID | 608337 |
| playerID | 608337 |
| playerName | Lucas Giolito |
| pos | P |
| started | True |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-05-29 |
| sl_k_percent | 10.5 |
| sl_bb_percent | 21.1 |
| sl_woba | 0.359 |
| sl_xwoba | 0.35 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 42.1 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 38.6 |
| sl_avg_best_speed | 78.390455789 |
| sl_avg_hyper_speed | 94.309075263 |
| 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.476 | 1.000 | -0.476 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.381 | 1.000 | -0.381 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.619 | 1.000 | 0.381 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.862 | 1.000 | 0.138 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.095 | 1.000 | 0.905 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669093",
"player_name": "Jeremiah Estrada",
"position": "Middle Reliever",
"team": "SD",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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 | 1.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 | 2.000 | 4.000 | 2.000 | 5.000 | 0.000 | 4.5000 | 1.5000 | 0.5000 | 1.0000 | 0.5000 | 1.2500 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 3.000 | 7.000 | 4.000 | 7.000 | 1.000 | 2.8929 | 1.1786 | 0.3214 | 0.7500 | 0.4286 | 0.7500 | 0.1071 |
| season | 0.20 | 21 | 20.200 | 8.000 | 13.000 | 10.000 | 23.000 | 2.000 | 3.4839 | 1.1129 | 0.3871 | 0.6290 | 0.4839 | 1.1129 | 0.0968 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3860 |
| predicted_ER | 0.4220 |
| predicted_ERA | 4.0693 |
| predicted_H | 0.8420 |
| predicted_HR | 0.0940 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9220 |
| predicted_WHIP | 1.3171 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3860 | 0.1611 | model_form_blend |
| predicted_ER | 0.0000 | 0.4220 | 0.1761 | model_form_blend |
| predicted_ERA | - | 4.0693 | 4.0693 | form_only |
| predicted_H | 1.0000 | 0.8420 | 0.9341 | model_form_blend |
| predicted_HR | 0.0000 | 0.0940 | 0.0392 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9220 | 1.5501 | model_form_blend |
| predicted_WHIP | - | 1.3171 | 1.3171 | 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 | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.48 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 22 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260602_SD@PHI |
| game_type | full |
| mlbID | 669093 |
| playerID | 669093 |
| playerName | Jeremiah Estrada |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-02 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.269 |
| sl_xwoba | 0.295 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 32.7 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 47.5 |
| sl_avg_best_speed | 72.520920417 |
| sl_avg_hyper_speed | 92.697711489 |
| 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.458 | 2.000 | 0.542 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.417 | 0.000 | -0.417 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.983 | 1.100 | 0.017 | -0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 2.042 | 2.000 | -0.042 | 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": "695243",
"player_name": "Mason Miller",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 2.000 | 6.000 | 9.000 | 0.000 | 0.0000 | 1.5000 | 0.0000 | 0.3750 | 1.1250 | 1.6875 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 0.000 | 4.000 | 9.000 | 21.000 | 0.000 | 0.0000 | 1.2188 | 0.0000 | 0.3750 | 0.8438 | 1.9688 | 0.0000 |
| season | 0.20 | 24 | 25.000 | 2.000 | 10.000 | 11.000 | 49.000 | 0.000 | 0.7200 | 0.8400 | 0.0800 | 0.4000 | 0.4400 | 1.9600 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6260 |
| predicted_ER | 0.2510 |
| predicted_ERA | 2.2572 |
| predicted_H | 0.6700 |
| predicted_HR | 0.0690 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3880 |
| predicted_WHIP | 1.2963 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.6260 | 0.8364 | model_form_blend |
| predicted_ER | 0.0000 | 0.2510 | 0.1098 | model_form_blend |
| predicted_ERA | - | 2.2572 | 2.2572 | form_only |
| predicted_H | 0.0000 | 0.6700 | 0.2930 | model_form_blend |
| predicted_HR | 0.0000 | 0.0690 | 0.0302 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.3880 | 1.7323 | model_form_blend |
| predicted_WHIP | - | 1.2963 | 1.2963 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 22 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.72 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 30 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260529_SD@WAS |
| game_type | full |
| mlbID | 695243 |
| playerID | 695243 |
| playerName | Mason Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-05-29 |
| sl_k_percent | 51.0 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.174 |
| sl_xwoba | 0.163 |
| sl_sweet_spot_percent | 27.8 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 13.9 |
| sl_whiff_percent | 52.2 |
| sl_swing_percent | 45.0 |
| sl_avg_best_speed | 71.067103889 |
| sl_avg_hyper_speed | 90.808737778 |
| 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.222 | 0.000 | -0.222 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.963 | 1.000 | 1.037 | 1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.930 | 0.200 | -0.730 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.296 | 0.000 | -1.296 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "670970",
"player_name": "Adrian Morejon",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 0.000 | 3.000 | 0.000 | 3.000 | 0.000 | 0.0000 | 0.6429 | 0.0000 | 0.6429 | 0.0000 | 0.6429 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 0.000 | 4.000 | 1.000 | 9.000 | 0.000 | 0.0000 | 0.5357 | 0.0000 | 0.4286 | 0.1071 | 0.9643 | 0.0000 |
| season | 0.20 | 27 | 30.000 | 13.000 | 26.000 | 6.000 | 35.000 | 2.000 | 3.9000 | 1.0667 | 0.4333 | 0.8667 | 0.2000 | 1.1667 | 0.0667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1780 |
| predicted_ER | 0.2270 |
| predicted_ERA | 2.4110 |
| predicted_H | 0.6520 |
| predicted_HR | 0.0590 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7600 |
| predicted_WHIP | 0.9797 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1780 | 0.0813 | model_form_blend |
| predicted_ER | 0.0000 | 0.2270 | 0.1036 | model_form_blend |
| predicted_ERA | - | 2.4110 | 2.4110 | form_only |
| predicted_H | 2.0000 | 0.6520 | 1.3845 | model_form_blend |
| predicted_HR | 0.0000 | 0.0590 | 0.0269 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7600 | 0.3470 | model_form_blend |
| predicted_WHIP | - | 0.9797 | 0.9797 | 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 | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.90 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260531_SD@WAS |
| game_type | full |
| mlbID | 670970 |
| playerID | 670970 |
| playerName | Adrian Morejon |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-05-31 |
| sl_k_percent | 28.7 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.266 |
| sl_xwoba | 0.259 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 28.7 |
| sl_whiff_percent | 35.7 |
| sl_swing_percent | 53.2 |
| sl_avg_best_speed | 72.52444175 |
| sl_avg_hyper_speed | 92.690669114 |
| 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.208 | 0.000 | -0.208 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.167 | 2.000 | -0.167 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.792 | 3.000 | 0.208 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.787 | 0.200 | 0.213 | 0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.542 | 2.000 | 1.458 | 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: 0.6667 -> 1.0000 (boost 0.3333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "592094",
"player_name": "Jason Adam",
"position": "Middle Reliever",
"team": "SD",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"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": 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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"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": 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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| 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 | 3.100 | 2.000 | 7.000 | 0.000 | 3.000 | 2.000 | 5.4000 | 2.1000 | 0.6000 | 2.1000 | 0.0000 | 0.9000 | 0.6000 |
| last_10 | 0.35 | 10 | 8.000 | 2.000 | 11.000 | 2.000 | 8.000 | 2.000 | 2.2500 | 1.6250 | 0.2500 | 1.3750 | 0.2500 | 1.0000 | 0.2500 |
| season | 0.20 | 24 | 21.000 | 4.000 | 19.000 | 5.000 | 13.000 | 3.000 | 1.7143 | 1.1429 | 0.1905 | 0.9048 | 0.2381 | 0.6190 | 0.1429 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1820 |
| predicted_ER | 0.3090 |
| predicted_ERA | 3.9881 |
| predicted_H | 0.8720 |
| predicted_HR | 0.1740 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6360 |
| predicted_WHIP | 1.5129 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1820 | 0.0763 | model_form_blend |
| predicted_ER | 0.0000 | 0.3090 | 0.1295 | model_form_blend |
| predicted_ERA | - | 3.9881 | 3.9881 | form_only |
| predicted_H | 1.0000 | 0.8720 | 0.9464 | model_form_blend |
| predicted_HR | 0.0000 | 0.1740 | 0.0729 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.6360 | 1.4285 | model_form_blend |
| predicted_WHIP | - | 1.5129 | 1.5129 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 2 |
| Pitching_ERA | 1.71 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 20 |
| Pitching_R | 2 |
| Pitching_SO | 2 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 592094 |
| playerID | 592094 |
| playerName | Jason Adam |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-03 |
| sl_k_percent | 14.9 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.298 |
| sl_xwoba | 0.277 |
| sl_sweet_spot_percent | 23.5 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 39.7 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 54.0 |
| sl_avg_best_speed | 76.811797941 |
| sl_avg_hyper_speed | 93.471948358 |
| Field | Value |
|---|---|
| Pitcher | Zack Wheeler |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1766 |
| ESPN Rank | 16 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0381 |
| Avg Velo | 90.3810 |
| Avg Spin | 2359.0459 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 2.2672 |
| Season WHIP | 0.8473 |
| Role Avg IP | 6.2380 |
| Recent Avg IP | 6.5330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 68,
"wins": 33,
"losses": 35,
"win_pct": 0.4853,
"runs_scored": 260.0,
"runs_allowed": 292.0,
"run_differential": -32.0,
"run_differential_per_game": -0.4706,
"avg_runs_scored": 3.8235,
"avg_runs_allowed": 4.2941,
"offense_index": 0.855,
"defense_index": 1.0415,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 2.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0004
},
"opponent": {
"team": "SD",
"games": 66,
"wins": 34,
"losses": 32,
"win_pct": 0.5152,
"runs_scored": 262.0,
"runs_allowed": 278.0,
"run_differential": -16.0,
"run_differential_per_game": -0.2424,
"avg_runs_scored": 3.9697,
"avg_runs_allowed": 4.2121,
"offense_index": 0.8876,
"defense_index": 1.0617,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 3.9,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1219
},
"edges": {
"quality_edge": 0.1215,
"offense_edge": -0.145,
"opponent_offense_edge": -0.1124,
"defense_strength": 0.0415,
"opponent_defense_weakness": -0.0617,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0106,
"run_prevention": 0.9718,
"strikeout": 1.0126
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "554430",
"profile": {
"available": true,
"pitcher_id": "554430",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 140.0,
"k_percent": 24.4,
"bb_percent": 5.5,
"woba": 0.25,
"xwoba": 0.284,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 37.7,
"avg_best_speed": 77.2875,
"avg_hyper_speed": 93.6876,
"whiff_percent": 25.8,
"swing_percent": 50.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5884,
"command_and_miss": 0.3071,
"regression_edge": -0.9714,
"xwoba_edge": 0.8857,
"barrel_edge": -0.1778,
"hard_hit_edge": 0.1,
"whiff_edge": 0.0,
"bb_edge": 0.925,
"pitch_design_score": 0.0381
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "554430",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"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.381,
"release_spin_rate": 2359.0459,
"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.0381,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2723,
"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.1766,
"sample_weight": 0.56,
"run_prevention_factor": 0.985,
"strikeout_factor": 1.0061,
"walk_factor": 0.9586,
"homer_factor": 0.9908,
"woba_minus_xwoba": -0.034,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "554430",
"espn_id": 31267,
"player_name": "Zack Wheeler",
"team": "PHI",
"role": "pitcher",
"espn_rank": 16,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 16,
"gp_value": 7.0,
"gp_rank": 415,
"gs_value": 7.0,
"gs_rank": 132,
"qs_value": 5.0,
"qs_rank": 34,
"era_value": 2.2671,
"era_rank": null,
"w_value": 4.0,
"w_rank": 46,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 43.2,
"ip_rank": 131,
"h_value": 28.0,
"h_rank": 176,
"er_value": 11.0,
"er_rank": 242,
"hr_value": 5.0,
"hr_rank": 120,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 40.0,
"k_rank": 127,
"k_per_9_value": 8.244275,
"k_per_9_rank": 26,
"whip_value": 0.8473,
"whip_rank": null,
"war_value": 2.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9916,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9916,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9768,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9948,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0034,
"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": 43.2,
"ER": 11,
"H": 28,
"BB": 9,
"SO": 40,
"HR": 5,
"ERA": 2.267175572519084,
"WHIP": 0.8473282442748092,
"K9": 8.244274809160306,
"HR9": 1.0305343511450382,
"games_pitched": 7,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 7,
"error_prone": false
},
"games_count": 7,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "554430",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"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.381,
"release_spin_rate": 2359.0459,
"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.0381,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2723,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.7627118644067797,
"last_10": 0.23728813559322032
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
},
"role": "pitcher",
"player_id": "554430",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 7,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.2,
"ER": 8.0,
"R": 8.0,
"H": 22.0,
"BB": 4.0,
"SO": 26.0,
"HR": 5.0,
"BF": 121.0,
"Pitches": 472.0
},
"per_game": {
"IP": 6.2,
"ER": 1.6,
"R": 1.6,
"H": 4.4,
"BB": 0.8,
"SO": 5.2,
"HR": 1.0,
"BF": 24.2,
"Pitches": 94.4
},
"rates": {
"ERA": 2.2041,
"WHIP": 0.7959,
"ER_per_IP": 0.2449,
"H_per_IP": 0.67347,
"BB_per_IP": 0.12245,
"SO_per_IP": 0.79592,
"HR_per_IP": 0.15306
}
},
"last_10": {
"games": 7,
"totals": {
"IP": 43.2,
"ER": 11.0,
"R": 11.0,
"H": 28.0,
"BB": 9.0,
"SO": 40.0,
"HR": 5.0,
"BF": 164.0,
"Pitches": 650.0
},
"per_game": {
"IP": 6.1,
"ER": 1.5714,
"R": 1.5714,
"H": 4.0,
"BB": 1.2857,
"SO": 5.7143,
"HR": 0.7143,
"BF": 23.4286,
"Pitches": 92.8571
},
"rates": {
"ERA": 2.2672,
"WHIP": 0.8473,
"ER_per_IP": 0.25191,
"H_per_IP": 0.64122,
"BB_per_IP": 0.20611,
"SO_per_IP": 0.91603,
"HR_per_IP": 0.1145
}
},
"season": {
"games": 7,
"totals": {
"IP": 43.2,
"ER": 11.0,
"R": 11.0,
"H": 28.0,
"BB": 9.0,
"SO": 40.0,
"HR": 5.0,
"BF": 164.0,
"Pitches": 650.0
},
"per_game": {
"IP": 6.1,
"ER": 1.5714,
"R": 1.5714,
"H": 4.0,
"BB": 1.2857,
"SO": 5.7143,
"HR": 0.7143,
"BF": 23.4286,
"Pitches": 92.8571
},
"rates": {
"ERA": 2.2672,
"WHIP": 0.8473,
"ER_per_IP": 0.25191,
"H_per_IP": 0.64122,
"BB_per_IP": 0.20611,
"SO_per_IP": 0.91603,
"HR_per_IP": 0.1145
}
}
},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.235,
"predicted_H": 5.099,
"predicted_BB": 1.529,
"predicted_SO": 5.658,
"predicted_HR": 0.915,
"predicted_ERA": 3.104,
"predicted_WHIP": 1.0225
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5261,
"form_weight": 0.4739,
"form_reliability": 0.5833,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.235,
"final": 1.5853,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.099,
"final": 3.9948,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.529,
"final": 0.7247,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.658,
"final": 5.3119,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.915,
"final": 0.9597,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.104,
"final": 3.104,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0225,
"final": 1.0225,
"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 | Brad Keller |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2328 |
| ESPN Rank | 151 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1709 |
| Avg Velo | 92.7521 |
| Avg Spin | 2381.2679 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.7125 |
| Season WHIP | 1.2375 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 68,
"wins": 33,
"losses": 35,
"win_pct": 0.4853,
"runs_scored": 260.0,
"runs_allowed": 292.0,
"run_differential": -32.0,
"run_differential_per_game": -0.4706,
"avg_runs_scored": 3.8235,
"avg_runs_allowed": 4.2941,
"offense_index": 0.855,
"defense_index": 1.0415,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 2.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0004
},
"opponent": {
"team": "SD",
"games": 66,
"wins": 34,
"losses": 32,
"win_pct": 0.5152,
"runs_scored": 262.0,
"runs_allowed": 278.0,
"run_differential": -16.0,
"run_differential_per_game": -0.2424,
"avg_runs_scored": 3.9697,
"avg_runs_allowed": 4.2121,
"offense_index": 0.8876,
"defense_index": 1.0617,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 3.9,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1219
},
"edges": {
"quality_edge": 0.1215,
"offense_edge": -0.145,
"opponent_offense_edge": -0.1124,
"defense_strength": 0.0415,
"opponent_defense_weakness": -0.0617,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0106,
"run_prevention": 0.9718,
"strikeout": 1.0126
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641745",
"profile": {
"available": true,
"pitcher_id": "641745",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 94.0,
"k_percent": 25.9,
"bb_percent": 8.0,
"woba": 0.311,
"xwoba": 0.28,
"sweet_spot_percent": 29.2,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 33.3,
"avg_best_speed": 74.2364,
"avg_hyper_speed": 92.786,
"whiff_percent": 22.8,
"swing_percent": 45.9
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6815,
"command_and_miss": 0.1286,
"regression_edge": 0.8857,
"xwoba_edge": 1.0,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.7286,
"whiff_edge": -0.4286,
"bb_edge": 0.3,
"pitch_design_score": 0.1709
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641745",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.75208172333492,
"release_spin_rate": 2381.267893704051,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.75208172333492,
"release_spin_rate": 2381.267893704051,
"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.7521,
"release_spin_rate": 2381.2679,
"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.1709,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2207,
"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.2328,
"sample_weight": 0.45,
"run_prevention_factor": 0.9802,
"strikeout_factor": 1.001,
"walk_factor": 0.9892,
"homer_factor": 0.9606,
"woba_minus_xwoba": 0.031,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "641745",
"espn_id": 35292,
"player_name": "Brad Keller",
"team": "PHI",
"role": "pitcher",
"espn_rank": 151,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 151,
"gp_value": 27.0,
"gp_rank": 33,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.7125,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 3.0,
"sv_rank": 40,
"hld_value": 10.0,
"hld_rank": 13,
"ip_value": 26.2,
"ip_rank": 228,
"h_value": 24.0,
"h_rank": 227,
"er_value": 11.0,
"er_rank": 242,
"hr_value": 4.0,
"hr_rank": 158,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 29.0,
"k_rank": 200,
"k_per_9_value": 9.7875,
"k_per_9_rank": 23,
"whip_value": 1.2375,
"whip_rank": null,
"war_value": 0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9911,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9911,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9823,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0004,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 3,
"H": 8,
"BB": 3,
"SO": 11,
"HR": 2,
"ERA": 2.7,
"WHIP": 1.1,
"K9": 9.9,
"HR9": 1.8,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "641745",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.75208172333492,
"release_spin_rate": 2381.267893704051,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.75208172333492,
"release_spin_rate": 2381.267893704051,
"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.7521,
"release_spin_rate": 2381.2679,
"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.1709,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2207,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5128,
"prior_weight": 0.4872
},
"role": "pitcher",
"player_id": "641745",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 3.0,
"SO": 4.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 90.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.6,
"SO": 0.8,
"HR": 0.2,
"BF": 4.8,
"Pitches": 18.0
},
"rates": {
"ERA": 3.6,
"WHIP": 1.8,
"ER_per_IP": 0.4,
"H_per_IP": 1.2,
"BB_per_IP": 0.6,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 3.0,
"R": 3.0,
"H": 8.0,
"BB": 3.0,
"SO": 11.0,
"HR": 2.0,
"BF": 41.0,
"Pitches": 166.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.8,
"BB": 0.3,
"SO": 1.1,
"HR": 0.2,
"BF": 4.1,
"Pitches": 16.6
},
"rates": {
"ERA": 2.7,
"WHIP": 1.1,
"ER_per_IP": 0.3,
"H_per_IP": 0.8,
"BB_per_IP": 0.3,
"SO_per_IP": 1.1,
"HR_per_IP": 0.2
}
},
"season": {
"games": 27,
"totals": {
"IP": 26.2,
"ER": 11.0,
"R": 12.0,
"H": 24.0,
"BB": 9.0,
"SO": 29.0,
"HR": 4.0,
"BF": 112.0,
"Pitches": 449.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4074,
"R": 0.4444,
"H": 0.8889,
"BB": 0.3333,
"SO": 1.0741,
"HR": 0.1481,
"BF": 4.1481,
"Pitches": 16.6296
},
"rates": {
"ERA": 3.7125,
"WHIP": 1.2375,
"ER_per_IP": 0.4125,
"H_per_IP": 0.9,
"BB_per_IP": 0.3375,
"SO_per_IP": 1.0875,
"HR_per_IP": 0.15
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.424,
"predicted_H": 0.979,
"predicted_BB": 0.406,
"predicted_SO": 0.952,
"predicted_HR": 0.164,
"predicted_ERA": 3.8118,
"predicted_WHIP": 1.3842
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5558,
"form_weight": 0.4442,
"form_reliability": 0.5128,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5128,
"prior_weight": 0.4872
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.424,
"final": 0.1883,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.979,
"final": 0.4348,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.406,
"final": 0.1803,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.952,
"final": 0.4228,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.164,
"final": 0.0728,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8118,
"final": 3.8118,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3842,
"final": 1.3842,
"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 | Jhoan Duran |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4240 |
| ESPN Rank | 47 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.6120 |
| Avg Spin | 1933.3823 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.3729 |
| Season WHIP | 0.8644 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 68,
"wins": 33,
"losses": 35,
"win_pct": 0.4853,
"runs_scored": 260.0,
"runs_allowed": 292.0,
"run_differential": -32.0,
"run_differential_per_game": -0.4706,
"avg_runs_scored": 3.8235,
"avg_runs_allowed": 4.2941,
"offense_index": 0.855,
"defense_index": 1.0415,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 2.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0004
},
"opponent": {
"team": "SD",
"games": 66,
"wins": 34,
"losses": 32,
"win_pct": 0.5152,
"runs_scored": 262.0,
"runs_allowed": 278.0,
"run_differential": -16.0,
"run_differential_per_game": -0.2424,
"avg_runs_scored": 3.9697,
"avg_runs_allowed": 4.2121,
"offense_index": 0.8876,
"defense_index": 1.0617,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 3.9,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1219
},
"edges": {
"quality_edge": 0.1215,
"offense_edge": -0.145,
"opponent_offense_edge": -0.1124,
"defense_strength": 0.0415,
"opponent_defense_weakness": -0.0617,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0106,
"run_prevention": 0.9718,
"strikeout": 1.0126
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "661395",
"profile": {
"available": true,
"pitcher_id": "661395",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 65.0,
"k_percent": 41.9,
"bb_percent": 6.8,
"woba": 0.219,
"xwoba": 0.243,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 55.3,
"avg_best_speed": 85.0679,
"avg_hyper_speed": 95.9517,
"whiff_percent": 40.5,
"swing_percent": 50.5
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.8457,
"command_and_miss": 1.98,
"regression_edge": -0.6857,
"xwoba_edge": 2.0571,
"barrel_edge": -0.1556,
"hard_hit_edge": -2.4143,
"whiff_edge": 2.1,
"bb_edge": 0.6,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "661395",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 95.61195113309732,
"release_spin_rate": 1933.3823375250277,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 95.61195113309732,
"release_spin_rate": 1933.3823375250277,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.612,
"release_spin_rate": 1933.3823,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.424,
"sample_weight": 0.45,
"run_prevention_factor": 0.964,
"strikeout_factor": 1.0828,
"walk_factor": 0.9784,
"homer_factor": 1.0213,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661395",
"espn_id": 41109,
"player_name": "Jhoan Duran",
"team": "PHI",
"role": "pitcher",
"espn_rank": 47,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 47,
"gp_value": 20.0,
"gp_rank": 142,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 1.3728,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 14.0,
"sv_rank": 6,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 19.2,
"ip_rank": 341,
"h_value": 12.0,
"h_rank": 410,
"er_value": 3.0,
"er_rank": 523,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 5.0,
"bb_rank": 433,
"k_value": 31.0,
"k_rank": 181,
"k_per_9_value": 14.18644,
"k_per_9_rank": 14,
"whip_value": 0.8644,
"whip_rank": null,
"war_value": 1.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9838,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9838,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9903,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0096,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0373,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 1,
"H": 5,
"BB": 2,
"SO": 17,
"HR": 1,
"ERA": 0.9,
"WHIP": 0.7,
"K9": 15.3,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "661395",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 95.61195113309732,
"release_spin_rate": 1933.3823375250277,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 95.61195113309732,
"release_spin_rate": 1933.3823375250277,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.612,
"release_spin_rate": 1933.3823,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.882,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.437,
"prior_weight": 0.563
},
"role": "pitcher",
"player_id": "661395",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 8.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.0,
"SO": 1.6,
"HR": 0.0,
"BF": 3.2,
"Pitches": 13.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.0,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 17.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 159.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.2,
"SO": 1.7,
"HR": 0.1,
"BF": 3.6,
"Pitches": 15.9
},
"rates": {
"ERA": 0.9,
"WHIP": 0.7,
"ER_per_IP": 0.1,
"H_per_IP": 0.5,
"BB_per_IP": 0.2,
"SO_per_IP": 1.7,
"HR_per_IP": 0.1
}
},
"season": {
"games": 20,
"totals": {
"IP": 19.2,
"ER": 3.0,
"R": 4.0,
"H": 12.0,
"BB": 5.0,
"SO": 31.0,
"HR": 1.0,
"BF": 74.0,
"Pitches": 313.0
},
"per_game": {
"IP": 1.0,
"ER": 0.15,
"R": 0.2,
"H": 0.6,
"BB": 0.25,
"SO": 1.55,
"HR": 0.05,
"BF": 3.7,
"Pitches": 15.65
},
"rates": {
"ERA": 1.3729,
"WHIP": 0.8644,
"ER_per_IP": 0.15254,
"H_per_IP": 0.61017,
"BB_per_IP": 0.25424,
"SO_per_IP": 1.57627,
"HR_per_IP": 0.05085
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.3,
"predicted_H": 0.707,
"predicted_BB": 0.259,
"predicted_SO": 1.242,
"predicted_HR": 0.097,
"predicted_ERA": 2.7025,
"predicted_WHIP": 0.9666
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5879,
"form_weight": 0.4121,
"form_reliability": 0.437,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.882,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.437,
"prior_weight": 0.563
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.3,
"final": 0.1236,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.707,
"final": 1.4671,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.259,
"final": 0.1067,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.242,
"final": 1.0997,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.097,
"final": 0.04,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7025,
"final": 2.7025,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9666,
"final": 0.9666,
"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 | Orion Kerkering |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4059 |
| ESPN Rank | 103 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1339 |
| Avg Velo | 92.0909 |
| Avg Spin | 2549.1087 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 2.4179 |
| Season WHIP | 1.1642 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 68,
"wins": 33,
"losses": 35,
"win_pct": 0.4853,
"runs_scored": 260.0,
"runs_allowed": 292.0,
"run_differential": -32.0,
"run_differential_per_game": -0.4706,
"avg_runs_scored": 3.8235,
"avg_runs_allowed": 4.2941,
"offense_index": 0.855,
"defense_index": 1.0415,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 2.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0004
},
"opponent": {
"team": "SD",
"games": 66,
"wins": 34,
"losses": 32,
"win_pct": 0.5152,
"runs_scored": 262.0,
"runs_allowed": 278.0,
"run_differential": -16.0,
"run_differential_per_game": -0.2424,
"avg_runs_scored": 3.9697,
"avg_runs_allowed": 4.2121,
"offense_index": 0.8876,
"defense_index": 1.0617,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 3.9,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1219
},
"edges": {
"quality_edge": 0.1215,
"offense_edge": -0.145,
"opponent_offense_edge": -0.1124,
"defense_strength": 0.0415,
"opponent_defense_weakness": -0.0617,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0106,
"run_prevention": 0.9718,
"strikeout": 1.0126
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "689147",
"profile": {
"available": true,
"pitcher_id": "689147",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 78.0,
"k_percent": 25.3,
"bb_percent": 9.5,
"woba": 0.286,
"xwoba": 0.251,
"sweet_spot_percent": 27.9,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 21.3,
"avg_best_speed": 68.7142,
"avg_hyper_speed": 91.57,
"whiff_percent": 25.9,
"swing_percent": 45.2
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.334,
"command_and_miss": 0.17,
"regression_edge": 1.0,
"xwoba_edge": 1.8286,
"barrel_edge": 0.1333,
"hard_hit_edge": 2.4429,
"whiff_edge": 0.0143,
"bb_edge": -0.075,
"pitch_design_score": 0.1339
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "689147",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.09089035042419,
"release_spin_rate": 2549.1087104587878,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 92.09089035042419,
"release_spin_rate": 2549.1087104587878,
"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.0909,
"release_spin_rate": 2549.1087,
"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.1339,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9562,
"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.4059,
"sample_weight": 0.45,
"run_prevention_factor": 0.9655,
"strikeout_factor": 1.0075,
"walk_factor": 1.0027,
"homer_factor": 0.9265,
"woba_minus_xwoba": 0.035,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "689147",
"espn_id": 4630789,
"player_name": "Orion Kerkering",
"team": "PHI",
"role": "pitcher",
"espn_rank": 103,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 103,
"gp_value": 25.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.4179,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 5.0,
"hld_rank": 75,
"ip_value": 22.1,
"ip_rank": 307,
"h_value": 17.0,
"h_rank": 324,
"er_value": 6.0,
"er_rank": 404,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 24.0,
"k_rank": 263,
"k_per_9_value": 9.671641,
"k_per_9_rank": 23,
"whip_value": 1.1641,
"whip_rank": null,
"war_value": 0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9845,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9845,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9669,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0034,
"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": 3,
"H": 7,
"BB": 3,
"SO": 14,
"HR": 1,
"ERA": 3.2400000000000007,
"WHIP": 1.2000000000000002,
"K9": 15.120000000000003,
"HR9": 1.08,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "689147",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.09089035042419,
"release_spin_rate": 2549.1087104587878,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 92.09089035042419,
"release_spin_rate": 2549.1087104587878,
"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.0909,
"release_spin_rate": 2549.1087,
"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.1339,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9562,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.408,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4685,
"prior_weight": 0.5315
},
"role": "pitcher",
"player_id": "689147",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 2.0,
"SO": 10.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 2.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 15.8
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.4,
"SO_per_IP": 2.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 3.0,
"R": 4.0,
"H": 7.0,
"BB": 3.0,
"SO": 14.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 148.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.4,
"H": 0.7,
"BB": 0.3,
"SO": 1.4,
"HR": 0.1,
"BF": 3.6,
"Pitches": 14.8
},
"rates": {
"ERA": 3.24,
"WHIP": 1.2,
"ER_per_IP": 0.36,
"H_per_IP": 0.84,
"BB_per_IP": 0.36,
"SO_per_IP": 1.68,
"HR_per_IP": 0.12
}
},
"season": {
"games": 25,
"totals": {
"IP": 22.1,
"ER": 6.0,
"R": 7.0,
"H": 17.0,
"BB": 9.0,
"SO": 24.0,
"HR": 2.0,
"BF": 95.0,
"Pitches": 385.0
},
"per_game": {
"IP": 1.0,
"ER": 0.24,
"R": 0.28,
"H": 0.68,
"BB": 0.36,
"SO": 0.96,
"HR": 0.08,
"BF": 3.8,
"Pitches": 15.4
},
"rates": {
"ERA": 2.4179,
"WHIP": 1.1642,
"ER_per_IP": 0.26866,
"H_per_IP": 0.76119,
"BB_per_IP": 0.40299,
"SO_per_IP": 1.07463,
"HR_per_IP": 0.08955
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.294,
"predicted_H": 0.648,
"predicted_BB": 0.289,
"predicted_SO": 0.997,
"predicted_HR": 0.078,
"predicted_ERA": 3.4454,
"predicted_WHIP": 1.2197
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5746,
"form_weight": 0.4254,
"form_reliability": 0.4685,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.408,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4685,
"prior_weight": 0.5315
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.294,
"final": 0.1251,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.648,
"final": 0.2757,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.289,
"final": 1.2721,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.997,
"final": 0.9987,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.078,
"final": 0.0332,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4454,
"final": 3.4454,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2197,
"final": 1.2197,
"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.188 | 0.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_3B | 0.046 | 0.000 | 0.000 | Hitting_3B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_AB | 3.790 | 3.000 | 7.000 | Hitting_AB | 3.726 | 4.000 | -0.726 | -1.000 |
| predicted_AVG | 0.280 | 0.333 | 0.286 | Hitting_AVG | 0.341 | 0.500 | -0.007 | -0.167 |
| predicted_BB | 0.203 | 1.000 | 0.000 | Hitting_BB | 0.203 | 0.000 | 0.797 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 1.060 | 1.000 | 2.000 | Hitting_H | 1.269 | 2.000 | -0.269 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_OBP | 0.365 | 0.500 | 0.286 | Hitting_OBP | 0.372 | 0.500 | 0.128 | 0.000 |
| predicted_R | 0.624 | 0.000 | 1.000 | Hitting_R | 0.624 | 0.000 | -0.624 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.563 | 0.000 | -0.563 | 0.000 |
| predicted_SLG | 0.456 | 0.333 | 0.286 | Hitting_SLG | 0.510 | 0.500 | -0.176 | -0.167 |
| predicted_SO | 0.766 | 2.000 | 2.000 | Hitting_SO | 0.766 | 1.000 | 1.234 | 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_SO: 0.7660 -> 2.0000 (boost 1.2340, worse) |
| Biggest Deboost | predicted_AB: 3.7900 -> 3.0000 (deboost -0.7900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.7900 -> 6.5222 (boost 2.7322, 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 | 2 | 1 | 2 | 1 | predicted_AVG: 0.3182 -> 0.3387 (boost 0.0205, better) | predicted_OBP: 0.3797 -> 0.3729 (deboost -0.0068, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 1.4594 -> 2.0000 (boost 0.5406, worse) | predicted_BB: 0.3551 -> 0.0000 (deboost -0.3551, worse) | AB rounded to 7 (raw=6.52), rates preserved: AVG=0.339 HR/AB=0.028 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083) |
| 6 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4936 -> 0.2860 (deboost -0.2076, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 1 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2860 -> 0.4936 (boost 0.2076, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669016",
"player_name": "Brandon Marsh",
"position": "LF",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.188,
"predicted_3B": 0.046,
"predicted_AB": 3.79,
"predicted_AVG": 0.28,
"predicted_BB": 0.203,
"predicted_H": 1.06,
"predicted_HR": 0.1,
"predicted_OBP": 0.365,
"predicted_R": 0.624,
"predicted_RBI": 0.39,
"predicted_SLG": 0.456,
"predicted_SO": 0.766
},
"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.3312,
"predicted_3B": 0.0618,
"predicted_AB": 6.5222,
"predicted_AVG": 0.3182,
"predicted_BB": 0.3559,
"predicted_H": 2.2084,
"predicted_HBP": 0.039,
"predicted_HR": 0.1883,
"predicted_OBP": 0.3797,
"predicted_R": 0.9627,
"predicted_RBI": 0.7489,
"predicted_SLG": 0.4862,
"predicted_SO": 1.4562
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.3312,
"delta": 0.1432,
"percent_delta": 0.7617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.046,
"after": 0.0618,
"delta": 0.0158,
"percent_delta": 0.3435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.79,
"after": 6.5222,
"delta": 2.7322,
"percent_delta": 0.7209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.3182,
"delta": 0.0382,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.203,
"after": 0.3559,
"delta": 0.1529,
"percent_delta": 0.7532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.2084,
"delta": 1.1484,
"percent_delta": 1.0834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1883,
"delta": 0.0883,
"percent_delta": 0.883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3797,
"delta": 0.0147,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.624,
"after": 0.9627,
"delta": 0.3387,
"percent_delta": 0.5428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.7489,
"delta": 0.3589,
"percent_delta": 0.9203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4862,
"delta": 0.0302,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 1.4562,
"delta": 0.6902,
"percent_delta": 0.901,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.79,
"after": 6.5222,
"delta": 2.7322,
"percent_delta": 0.7209,
"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": 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.3312,
"predicted_3B": 0.0618,
"predicted_AB": 6.5222,
"predicted_AVG": 0.3387,
"predicted_BB": 0.3551,
"predicted_H": 2.2093,
"predicted_HBP": 0.039,
"predicted_HR": 0.185,
"predicted_OBP": 0.3729,
"predicted_R": 0.9666,
"predicted_RBI": 0.752,
"predicted_SLG": 0.4936,
"predicted_SO": 1.4594
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3312,
"after": 0.3312,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0618,
"after": 0.0618,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.5222,
"after": 6.5222,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3182,
"after": 0.3387,
"delta": 0.0205,
"percent_delta": 0.0644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3559,
"after": 0.3551,
"delta": -0.0008,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2084,
"after": 2.2093,
"delta": 0.0009,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1883,
"after": 0.185,
"delta": -0.0033,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3797,
"after": 0.3729,
"delta": -0.0068,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9627,
"after": 0.9666,
"delta": 0.0039,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7489,
"after": 0.752,
"delta": 0.0031,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4862,
"after": 0.4936,
"delta": 0.0074,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4562,
"after": 1.4594,
"delta": 0.0032,
"percent_delta": 0.0022,
"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.3182,
"after": 0.3387,
"delta": 0.0205,
"percent_delta": 0.0644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3797,
"after": 0.3729,
"delta": -0.0068,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.52), rates preserved: AVG=0.339 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3312,
"after": 0.0,
"delta": -0.3312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0618,
"after": 0.0,
"delta": -0.0618,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.5222,
"after": 7.0,
"delta": 0.4778,
"percent_delta": 0.0733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3551,
"after": 0.0,
"delta": -0.3551,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2093,
"after": 2.0,
"delta": -0.2093,
"percent_delta": -0.0947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.752,
"after": 1.0,
"delta": 0.248,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4594,
"after": 2.0,
"delta": 0.5406,
"percent_delta": 0.3704,
"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_SO",
"before": 1.4594,
"after": 2.0,
"delta": 0.5406,
"percent_delta": 0.3704,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3551,
"after": 0.0,
"delta": -0.3551,
"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.083)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 7.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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.9666,
"after": 1.0,
"delta": 0.0334,
"percent_delta": 0.0346,
"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_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3387,
"after": 0.286,
"delta": -0.0527,
"percent_delta": -0.1556,
"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": 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.3729,
"after": 0.286,
"delta": -0.0869,
"percent_delta": -0.233,
"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.4936,
"after": 0.286,
"delta": -0.2076,
"percent_delta": -0.4206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4936,
"after": 0.286,
"delta": -0.2076,
"percent_delta": -0.4206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.3387,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3729,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4936,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.3387,
"delta": 0.0527,
"percent_delta": 0.1844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3729,
"delta": 0.0869,
"percent_delta": 0.3038,
"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.286,
"after": 0.4936,
"delta": 0.2076,
"percent_delta": 0.7257,
"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.286,
"after": 0.4936,
"delta": 0.2076,
"percent_delta": 0.7257,
"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.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.79,
"after": 3.0,
"delta": -0.79,
"percent_delta": -0.2084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.3387,
"delta": 0.0587,
"percent_delta": 0.2096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3729,
"delta": 0.0079,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.624,
"after": 0.0,
"delta": -0.624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4936,
"delta": 0.0376,
"percent_delta": 0.0825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 2.0,
"delta": 1.234,
"percent_delta": 1.611,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.766,
"after": 2.0,
"delta": 1.234,
"percent_delta": 1.611,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.79,
"after": 3.0,
"delta": -0.79,
"percent_delta": -0.2084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | - |
| predicted_3B | 0.046 | - |
| predicted_AB | 3.790 | - |
| predicted_AVG | 0.280 | - |
| predicted_BB | 0.203 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.365 | - |
| predicted_R | 0.624 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.456 | - |
| predicted_SO | 0.766 | - |
Final model 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.331 | 0.143 |
| predicted_3B | 0.062 | 0.016 |
| predicted_AB | 6.522 | 2.732 |
| predicted_AVG | 0.318 | 0.038 |
| predicted_BB | 0.356 | 0.153 |
| predicted_H | 2.208 | 1.148 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.188 | 0.088 |
| predicted_OBP | 0.380 | 0.015 |
| predicted_R | 0.963 | 0.339 |
| predicted_RBI | 0.749 | 0.359 |
| predicted_SLG | 0.486 | 0.030 |
| predicted_SO | 1.456 | 0.690 |
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.331 | 0.000 |
| predicted_3B | 0.062 | 0.000 |
| predicted_AB | 6.522 | 0.000 |
| predicted_AVG | 0.339 | 0.021 |
| predicted_BB | 0.355 | -0.001 |
| predicted_H | 2.209 | 0.001 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.185 | -0.003 |
| predicted_OBP | 0.373 | -0.007 |
| predicted_R | 0.967 | 0.004 |
| predicted_RBI | 0.752 | 0.003 |
| predicted_SLG | 0.494 | 0.007 |
| predicted_SO | 1.459 | 0.003 |
AB rounded to 7 (raw=6.52), rates preserved: AVG=0.339 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.083)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.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 | 2.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.331 |
| predicted_3B | 0.000 | -0.062 |
| predicted_AB | 7.000 | 0.478 |
| predicted_AVG | 0.286 | -0.053 |
| predicted_BB | 0.000 | -0.355 |
| predicted_H | 2.000 | -0.209 |
| predicted_HR | 0.000 | -0.185 |
| predicted_OBP | 0.286 | -0.087 |
| predicted_R | 1.000 | 0.033 |
| predicted_RBI | 1.000 | 0.248 |
| predicted_SLG | 0.286 | -0.208 |
| predicted_SO | 2.000 | 0.541 |
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 | -4.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 7.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 0.4375 | 0.4706 | 0.5000 | 0.4375 | 0.0000 | 0.0000 | 0.0625 | 0.3125 |
| last_10 | 0.20 | 7 | - | 32.000 | 14.000 | 1.000 | 0.000 | 3.000 | 6.000 | 4.000 | 1.000 | 8.000 | 0.4375 | 0.4545 | 0.7500 | 0.4375 | 0.0938 | 0.1875 | 0.0312 | 0.2500 |
| season | 0.60 | 55 | - | 734.000 | 250.000 | 37.000 | 9.000 | 23.000 | 111.000 | 123.000 | 40.000 | 151.000 | 0.3406 | 0.3717 | 0.5095 | 0.3406 | 0.0313 | 0.1512 | 0.0545 | 0.2057 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5140 |
| predicted_3B | 0.0820 |
| predicted_AB | 10.0090 |
| predicted_AVG | 0.3670 |
| predicted_BB | 0.5510 |
| predicted_H | 3.6740 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.3010 |
| predicted_OBP | 0.3985 |
| predicted_R | 1.3950 |
| predicted_RBI | 1.2070 |
| predicted_SLG | 0.5248 |
| predicted_SO | 2.3370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.5140 | 0.3312 | model_form_blend |
| predicted_3B | 0.0460 | 0.0820 | 0.0618 | model_form_blend |
| predicted_AB | 3.7900 | 10.0090 | 6.5222 | model_form_blend |
| predicted_AVG | 0.2800 | 0.3670 | 0.3182 | model_form_blend |
| predicted_BB | 0.2030 | 0.5510 | 0.3559 | model_form_blend |
| predicted_H | 1.0600 | 3.6740 | 2.2084 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1000 | 0.3010 | 0.1883 | model_form_blend |
| predicted_OBP | 0.3650 | 0.3985 | 0.3797 | model_form_blend |
| predicted_R | 0.6240 | 1.3950 | 0.9627 | model_form_blend |
| predicted_RBI | 0.3900 | 1.2070 | 0.7489 | model_form_blend |
| predicted_SLG | 0.4560 | 0.5248 | 0.4862 | model_form_blend |
| predicted_SO | 0.7660 | 2.3370 | 1.4562 | 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 | 197 |
| Season rows before report date | 197 |
| Report year | 2026 |
| Profile rows used | 197 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.341 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 669016 |
| playerID | 669016 |
| playerName | Brandon Marsh |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.3 |
| sl_bb_percent | 4.7 |
| sl_woba | 0.368 |
| sl_xwoba | 0.339 |
| sl_xba | 0.303 |
| sl_xslg | 0.455 |
| sl_sweet_spot_percent | 45.8 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 45.8 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 53.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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 | 4.640 | 4.000 | 9.000 | Hitting_AB | 4.285 | 4.000 | -0.285 | 0.000 |
| predicted_AVG | 0.220 | 0.000 | 0.222 | Hitting_AVG | 0.232 | 0.250 | -0.232 | -0.250 |
| predicted_BB | 0.282 | 1.000 | 1.000 | Hitting_BB | 0.285 | 0.000 | 0.715 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 1.020 | 0.000 | 2.000 | Hitting_H | 0.996 | 1.000 | -0.996 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_OBP | 0.277 | 0.200 | 0.300 | Hitting_OBP | 0.279 | 0.250 | -0.079 | -0.050 |
| predicted_R | 0.678 | 0.000 | 1.000 | Hitting_R | 0.675 | 0.000 | -0.675 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 1.000 | Hitting_RBI | 0.362 | 0.000 | -0.362 | 0.000 |
| predicted_SLG | 0.357 | 0.000 | 0.222 | Hitting_SLG | 0.368 | 0.250 | -0.368 | -0.250 |
| predicted_SO | 0.988 | 3.000 | 2.000 | Hitting_SO | 0.984 | 1.000 | 2.016 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.9880 -> 3.0000 (boost 2.0120, worse) |
| Biggest Deboost | predicted_H: 1.0200 -> 0.0000 (deboost -1.0200, 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 | 9 | 0 | 8 | 1 | predicted_AB: 4.6400 -> 8.5926 (boost 3.9526, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2288 -> 0.2340 (boost 0.0052, better) | predicted_SLG: 0.3612 -> 0.3550 (deboost -0.0062, 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: 8.5926 -> 9.0000 (boost 0.4074, better) | predicted_BB: 0.4293 -> 0.0000 (deboost -0.4293, worse) | AB rounded to 9 (raw=8.59), rates preserved: AVG=0.234 HR/AB=0.030 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1752 -> 1.0000 (deboost -0.1752, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2704 -> 0.3000 (boost 0.0296, better) | predicted_SLG: 0.3550 -> 0.2220 (deboost -0.1330, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2220 -> 0.3550 (boost 0.1330, better) | predicted_OBP: 0.3000 -> 0.2704 (deboost -0.0296, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "607208",
"player_name": "Trea Turner",
"position": "SS",
"team": "PHI",
"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": 4.64,
"predicted_AVG": 0.22,
"predicted_BB": 0.282,
"predicted_H": 1.02,
"predicted_HR": 0.12,
"predicted_OBP": 0.277,
"predicted_R": 0.678,
"predicted_RBI": 0.35,
"predicted_SLG": 0.357,
"predicted_SO": 0.988
},
"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.2559,
"predicted_3B": 0.0004,
"predicted_AB": 8.5926,
"predicted_AVG": 0.2288,
"predicted_BB": 0.4302,
"predicted_H": 2.0097,
"predicted_HBP": 0.003,
"predicted_HR": 0.2656,
"predicted_OBP": 0.2749,
"predicted_R": 1.1704,
"predicted_RBI": 0.669,
"predicted_SLG": 0.3612,
"predicted_SO": 1.9113
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.2559,
"delta": 0.0889,
"percent_delta": 0.5323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.64,
"after": 8.5926,
"delta": 3.9526,
"percent_delta": 0.8519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2288,
"delta": 0.0088,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.4302,
"delta": 0.1482,
"percent_delta": 0.5255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 2.0097,
"delta": 0.9897,
"percent_delta": 0.9703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2656,
"delta": 0.1456,
"percent_delta": 1.2133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2749,
"delta": -0.0021,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.678,
"after": 1.1704,
"delta": 0.4924,
"percent_delta": 0.7263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.669,
"delta": 0.319,
"percent_delta": 0.9114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3612,
"delta": 0.0042,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.988,
"after": 1.9113,
"delta": 0.9233,
"percent_delta": 0.9345,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.64,
"after": 8.5926,
"delta": 3.9526,
"percent_delta": 0.8519,
"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": 58
}
},
{
"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.2559,
"predicted_3B": 0.0004,
"predicted_AB": 8.5926,
"predicted_AVG": 0.234,
"predicted_BB": 0.4293,
"predicted_H": 2.0105,
"predicted_HBP": 0.003,
"predicted_HR": 0.261,
"predicted_OBP": 0.2704,
"predicted_R": 1.1752,
"predicted_RBI": 0.6717,
"predicted_SLG": 0.355,
"predicted_SO": 1.9155
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2559,
"after": 0.2559,
"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": 8.5926,
"after": 8.5926,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2288,
"after": 0.234,
"delta": 0.0052,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4302,
"after": 0.4293,
"delta": -0.0009,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0097,
"after": 2.0105,
"delta": 0.0008,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2656,
"after": 0.261,
"delta": -0.0046,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2749,
"after": 0.2704,
"delta": -0.0045,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.1704,
"after": 1.1752,
"delta": 0.0048,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.669,
"after": 0.6717,
"delta": 0.0027,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3612,
"after": 0.355,
"delta": -0.0062,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9113,
"after": 1.9155,
"delta": 0.0042,
"percent_delta": 0.0022,
"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.2288,
"after": 0.234,
"delta": 0.0052,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3612,
"after": 0.355,
"delta": -0.0062,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.59), rates preserved: AVG=0.234 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2559,
"after": 0.0,
"delta": -0.2559,
"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": 8.5926,
"after": 9.0,
"delta": 0.4074,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4293,
"after": 0.0,
"delta": -0.4293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0105,
"after": 2.0,
"delta": -0.0105,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.261,
"after": 0.0,
"delta": -0.261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6717,
"after": 1.0,
"delta": 0.3283,
"percent_delta": 0.4888,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9155,
"after": 2.0,
"delta": 0.0845,
"percent_delta": 0.0441,
"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": 8.5926,
"after": 9.0,
"delta": 0.4074,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4293,
"after": 0.0,
"delta": -0.4293,
"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=7.0, weight=0.076, BvP AVG=0.429)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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": 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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"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": 9.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.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": 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": 1.1752,
"after": 1.0,
"delta": -0.1752,
"percent_delta": -0.1491,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.1752,
"after": 1.0,
"delta": -0.1752,
"percent_delta": -0.1491,
"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": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.222,
"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": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.222,
"delta": -0.012,
"percent_delta": -0.0513,
"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": 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.2704,
"after": 0.3,
"delta": 0.0296,
"percent_delta": 0.1095,
"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.355,
"after": 0.222,
"delta": -0.133,
"percent_delta": -0.3746,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2704,
"after": 0.3,
"delta": 0.0296,
"percent_delta": 0.1095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.222,
"delta": -0.133,
"percent_delta": -0.3746,
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 4.0,
"delta": -5.0,
"percent_delta": -0.5556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 9.0,
"after": 4.0,
"delta": -5.0,
"percent_delta": -0.5556,
"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.234,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2704,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.355,
"predicted_SO": 3.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.234,
"delta": 0.012,
"percent_delta": 0.054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2704,
"delta": -0.0296,
"percent_delta": -0.0986,
"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.222,
"after": 0.355,
"delta": 0.133,
"percent_delta": 0.5989,
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.222,
"after": 0.355,
"delta": 0.133,
"percent_delta": 0.5989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2704,
"delta": -0.0296,
"percent_delta": -0.0986,
"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": 4.64,
"after": 4.0,
"delta": -0.64,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.234,
"delta": 0.014,
"percent_delta": 0.0636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 1.0,
"delta": 0.718,
"percent_delta": 2.5461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2704,
"delta": -0.0066,
"percent_delta": -0.0238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.678,
"after": 0.0,
"delta": -0.678,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.355,
"delta": -0.002,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.988,
"after": 3.0,
"delta": 2.012,
"percent_delta": 2.0364,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.988,
"after": 3.0,
"delta": 2.012,
"percent_delta": 2.0364,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"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.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.640 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.282 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.678 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.357 | - |
| predicted_SO | 0.988 | - |
Final model 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.256 | 0.089 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.593 | 3.953 |
| predicted_AVG | 0.229 | 0.009 |
| predicted_BB | 0.430 | 0.148 |
| predicted_H | 2.010 | 0.990 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.266 | 0.146 |
| predicted_OBP | 0.275 | -0.002 |
| predicted_R | 1.170 | 0.492 |
| predicted_RBI | 0.669 | 0.319 |
| predicted_SLG | 0.361 | 0.004 |
| predicted_SO | 1.911 | 0.923 |
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.256 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.593 | 0.000 |
| predicted_AVG | 0.234 | 0.005 |
| predicted_BB | 0.429 | -0.001 |
| predicted_H | 2.010 | 0.001 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.261 | -0.005 |
| predicted_OBP | 0.270 | -0.005 |
| predicted_R | 1.175 | 0.005 |
| predicted_RBI | 0.672 | 0.003 |
| predicted_SLG | 0.355 | -0.006 |
| predicted_SO | 1.915 | 0.004 |
AB rounded to 9 (raw=8.59), rates preserved: AVG=0.234 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 1.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 | 2.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.256 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 9.000 | 0.407 |
| predicted_AVG | 0.222 | -0.012 |
| predicted_BB | 1.000 | 0.571 |
| predicted_H | 2.000 | -0.010 |
| predicted_HR | 0.000 | -0.261 |
| predicted_OBP | 0.300 | 0.030 |
| predicted_R | 1.000 | -0.175 |
| predicted_RBI | 1.000 | 0.328 |
| predicted_SLG | 0.222 | -0.133 |
| predicted_SO | 2.000 | 0.085 |
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 | -5.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 5.000 | 0.2500 | 0.2500 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 7 | - | 41.000 | 11.000 | 0.000 | 0.000 | 5.000 | 9.000 | 6.000 | 0.000 | 6.000 | 0.2683 | 0.2683 | 0.6341 | 0.2683 | 0.1220 | 0.2195 | 0.0000 | 0.1463 |
| season | 0.60 | 58 | - | 1054.000 | 245.000 | 41.000 | 0.000 | 34.000 | 89.000 | 166.000 | 69.000 | 242.000 | 0.2324 | 0.2786 | 0.3681 | 0.2324 | 0.0323 | 0.0844 | 0.0655 | 0.2296 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3680 |
| predicted_3B | 0.0010 |
| predicted_AB | 13.5740 |
| predicted_AVG | 0.2399 |
| predicted_BB | 0.6170 |
| predicted_H | 3.2570 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.4490 |
| predicted_OBP | 0.2723 |
| predicted_R | 1.7910 |
| predicted_RBI | 1.0710 |
| predicted_SLG | 0.3665 |
| predicted_SO | 3.0750 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.3680 | 0.2559 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.6400 | 13.5740 | 8.5926 | model_form_blend |
| predicted_AVG | 0.2200 | 0.2399 | 0.2288 | model_form_blend |
| predicted_BB | 0.2820 | 0.6170 | 0.4302 | model_form_blend |
| predicted_H | 1.0200 | 3.2570 | 2.0097 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1200 | 0.4490 | 0.2656 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2723 | 0.2749 | model_form_blend |
| predicted_R | 0.6780 | 1.7910 | 1.1704 | model_form_blend |
| predicted_RBI | 0.3500 | 1.0710 | 0.6690 | model_form_blend |
| predicted_SLG | 0.3570 | 0.3665 | 0.3612 | model_form_blend |
| predicted_SO | 0.9880 | 3.0750 | 1.9113 | 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 | 246 |
| Season rows before report date | 246 |
| Report year | 2026 |
| Profile rows used | 245 |
| 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 | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.232 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | SS |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 607208 |
| playerID | 607208 |
| playerName | Trea Turner |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.0 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.28 |
| sl_xwoba | 0.287 |
| sl_xba | 0.238 |
| sl_xslg | 0.362 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 39.7 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 26.5 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.205 | 0.000 | 0.000 | Hitting_2B | 0.205 | 0.000 | -0.205 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.370 | 4.000 | 8.000 | Hitting_AB | 3.889 | 3.000 | 0.111 | 1.000 |
| predicted_AVG | 0.222 | 0.250 | 0.250 | Hitting_AVG | 0.246 | 0.333 | 0.004 | -0.083 |
| predicted_BB | 0.607 | 1.000 | 1.000 | Hitting_BB | 0.607 | 1.000 | 0.393 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.970 | 1.000 | 2.000 | Hitting_H | 0.955 | 1.000 | 0.045 | 0.000 |
| predicted_HR | 0.320 | 0.000 | 1.000 | Hitting_HR | 0.406 | 1.000 | -0.406 | -1.000 |
| predicted_OBP | 0.332 | 0.400 | 0.333 | Hitting_OBP | 0.359 | 0.500 | 0.041 | -0.100 |
| predicted_R | 0.693 | 1.000 | 1.000 | Hitting_R | 0.693 | 1.000 | 0.307 | 0.000 |
| predicted_RBI | 0.590 | 2.000 | 1.000 | Hitting_RBI | 0.762 | 1.000 | 1.238 | 1.000 |
| predicted_SLG | 0.499 | 0.250 | 0.625 | Hitting_SLG | 0.622 | 1.333 | -0.372 | -1.083 |
| predicted_SO | 1.537 | 0.000 | 3.000 | Hitting_SO | 1.537 | 2.000 | -1.537 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.5900 -> 2.0000 (boost 1.4100, better) |
| Biggest Deboost | predicted_SO: 1.5370 -> 0.0000 (deboost -1.5370, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.3700 -> 7.9171 (boost 3.5471, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.5360 -> 0.5517 (boost 0.0157, better) | - | 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 | 4 | 4 | predicted_HR: 0.7181 -> 1.0000 (boost 0.2819, better) | predicted_2B: 0.3129 -> 0.0000 (deboost -0.3129, worse) | AB rounded to 8 (raw=7.92), rates preserved: AVG=0.232 HR/AB=0.091 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2261 -> 1.0000 (deboost -0.2261, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.5517 -> 0.6250 (boost 0.0733, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_RBI: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.6250 -> 0.5517 (deboost -0.0733, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656941",
"player_name": "Kyle Schwarber",
"position": "DH",
"team": "PHI",
"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.205,
"predicted_3B": 0.02,
"predicted_AB": 4.37,
"predicted_AVG": 0.222,
"predicted_BB": 0.607,
"predicted_H": 0.97,
"predicted_HR": 0.32,
"predicted_OBP": 0.332,
"predicted_R": 0.693,
"predicted_RBI": 0.59,
"predicted_SLG": 0.499,
"predicted_SO": 1.537
},
"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.3129,
"predicted_3B": 0.0311,
"predicted_AB": 7.9171,
"predicted_AVG": 0.2285,
"predicted_BB": 1.2533,
"predicted_H": 1.8374,
"predicted_HBP": 0.176,
"predicted_HR": 0.7309,
"predicted_OBP": 0.3418,
"predicted_R": 1.2211,
"predicted_RBI": 1.2805,
"predicted_SLG": 0.536,
"predicted_SO": 3.2188
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.3129,
"delta": 0.1079,
"percent_delta": 0.5263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0311,
"delta": 0.0111,
"percent_delta": 0.555,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.37,
"after": 7.9171,
"delta": 3.5471,
"percent_delta": 0.8117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2285,
"delta": 0.0065,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.607,
"after": 1.2533,
"delta": 0.6463,
"percent_delta": 1.0647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.8374,
"delta": 0.8674,
"percent_delta": 0.8942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.32,
"after": 0.7309,
"delta": 0.4109,
"percent_delta": 1.2841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3418,
"delta": 0.0098,
"percent_delta": 0.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.693,
"after": 1.2211,
"delta": 0.5281,
"percent_delta": 0.762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 1.2805,
"delta": 0.6905,
"percent_delta": 1.1703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.499,
"after": 0.536,
"delta": 0.037,
"percent_delta": 0.0741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.537,
"after": 3.2188,
"delta": 1.6818,
"percent_delta": 1.0942,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.37,
"after": 7.9171,
"delta": 3.5471,
"percent_delta": 0.8117,
"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": 57
}
},
{
"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.3129,
"predicted_3B": 0.0311,
"predicted_AB": 7.9171,
"predicted_AVG": 0.2322,
"predicted_BB": 1.2505,
"predicted_H": 1.8381,
"predicted_HBP": 0.176,
"predicted_HR": 0.7181,
"predicted_OBP": 0.3369,
"predicted_R": 1.2261,
"predicted_RBI": 1.2858,
"predicted_SLG": 0.5517,
"predicted_SO": 3.2259
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3129,
"after": 0.3129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0311,
"after": 0.0311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.9171,
"after": 7.9171,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2285,
"after": 0.2322,
"delta": 0.0037,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.2533,
"after": 1.2505,
"delta": -0.0028,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8374,
"after": 1.8381,
"delta": 0.0007,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.176,
"after": 0.176,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.7309,
"after": 0.7181,
"delta": -0.0128,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3418,
"after": 0.3369,
"delta": -0.0049,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2211,
"after": 1.2261,
"delta": 0.005,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2805,
"after": 1.2858,
"delta": 0.0053,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.536,
"after": 0.5517,
"delta": 0.0157,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.2188,
"after": 3.2259,
"delta": 0.0071,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.536,
"after": 0.5517,
"delta": 0.0157,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.92), rates preserved: AVG=0.232 HR/AB=0.091",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3129,
"after": 0.0,
"delta": -0.3129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0311,
"after": 0.0,
"delta": -0.0311,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.9171,
"after": 8.0,
"delta": 0.0829,
"percent_delta": 0.0105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2505,
"after": 1.0,
"delta": -0.2505,
"percent_delta": -0.2003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8381,
"after": 2.0,
"delta": 0.1619,
"percent_delta": 0.0881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.7181,
"after": 1.0,
"delta": 0.2819,
"percent_delta": 0.3926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2858,
"after": 1.0,
"delta": -0.2858,
"percent_delta": -0.2223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.2259,
"after": 3.0,
"delta": -0.2259,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.7181,
"after": 1.0,
"delta": 0.2819,
"percent_delta": 0.3926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3129,
"after": 0.0,
"delta": -0.3129,
"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=15.0, weight=0.133, BvP AVG=0.267)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 2.0,
"after": 2.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_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": 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": {
"model_expectation": 0.8667,
"bvp": 0.1333
},
"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": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2261,
"after": 1.0,
"delta": -0.2261,
"percent_delta": -0.1844,
"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": 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_R",
"before": 1.2261,
"after": 1.0,
"delta": -0.2261,
"percent_delta": -0.1844,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.625,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2322,
"after": 0.25,
"delta": 0.0178,
"percent_delta": 0.0767,
"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": 2.0,
"after": 2.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_OBP",
"before": 0.3369,
"after": 0.333,
"delta": -0.0039,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5517,
"after": 0.625,
"delta": 0.0733,
"percent_delta": 0.1329,
"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": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.5517,
"after": 0.625,
"delta": 0.0733,
"percent_delta": 0.1329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2322,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3369,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5517,
"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.25,
"after": 0.2322,
"delta": -0.0178,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.3369,
"delta": 0.0039,
"percent_delta": 0.0117,
"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": 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.625,
"after": 0.5517,
"delta": -0.0733,
"percent_delta": -0.1173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.5517,
"delta": -0.0733,
"percent_delta": -0.1173,
"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.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.37,
"after": 4.0,
"delta": -0.37,
"percent_delta": -0.0847,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2322,
"delta": 0.0102,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.607,
"after": 1.0,
"delta": 0.393,
"percent_delta": 0.6474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0,
"delta": 0.03,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3369,
"delta": 0.0049,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.693,
"after": 1.0,
"delta": 0.307,
"percent_delta": 0.443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.499,
"after": 0.5517,
"delta": 0.0527,
"percent_delta": 0.1056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.537,
"after": 0.0,
"delta": -1.537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.537,
"after": 0.0,
"delta": -1.537,
"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.205 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.370 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.607 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.320 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.693 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.499 | - |
| predicted_SO | 1.537 | - |
Final model 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.313 | 0.108 |
| predicted_3B | 0.031 | 0.011 |
| predicted_AB | 7.917 | 3.547 |
| predicted_AVG | 0.229 | 0.007 |
| predicted_BB | 1.253 | 0.646 |
| predicted_H | 1.837 | 0.867 |
| predicted_HBP | 0.176 | - |
| predicted_HR | 0.731 | 0.411 |
| predicted_OBP | 0.342 | 0.010 |
| predicted_R | 1.221 | 0.528 |
| predicted_RBI | 1.280 | 0.691 |
| predicted_SLG | 0.536 | 0.037 |
| predicted_SO | 3.219 | 1.682 |
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.313 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 7.917 | 0.000 |
| predicted_AVG | 0.232 | 0.004 |
| predicted_BB | 1.250 | -0.003 |
| predicted_H | 1.838 | 0.001 |
| predicted_HBP | 0.176 | 0.000 |
| predicted_HR | 0.718 | -0.013 |
| predicted_OBP | 0.337 | -0.005 |
| predicted_R | 1.226 | 0.005 |
| predicted_RBI | 1.286 | 0.005 |
| predicted_SLG | 0.552 | 0.016 |
| predicted_SO | 3.226 | 0.007 |
AB rounded to 8 (raw=7.92), rates preserved: AVG=0.232 HR/AB=0.091
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 3.000 | - |
Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 3.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 | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 3.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.313 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 8.000 | 0.083 |
| predicted_AVG | 0.250 | 0.018 |
| predicted_BB | 1.000 | -0.250 |
| predicted_H | 2.000 | 0.162 |
| predicted_HR | 1.000 | 0.282 |
| predicted_OBP | 0.333 | -0.004 |
| predicted_R | 1.000 | -0.226 |
| predicted_RBI | 1.000 | -0.286 |
| predicted_SLG | 0.625 | 0.073 |
| predicted_SO | 3.000 | -0.226 |
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 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -3.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 4.000 | 10.000 | 0.1765 | 0.3333 | 0.5294 | 0.1765 | 0.1177 | 0.1177 | 0.2353 | 0.5882 |
| last_10 | 0.20 | 7 | - | 38.000 | 12.000 | 0.000 | 0.000 | 2.000 | 6.000 | 2.000 | 4.000 | 14.000 | 0.3158 | 0.3810 | 0.4737 | 0.3158 | 0.0526 | 0.1579 | 0.1053 | 0.3684 |
| season | 0.60 | 57 | - | 949.000 | 233.000 | 50.000 | 5.000 | 99.000 | 186.000 | 169.000 | 148.000 | 375.000 | 0.2455 | 0.3590 | 0.6217 | 0.2455 | 0.1043 | 0.1960 | 0.1560 | 0.3952 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4490 |
| predicted_3B | 0.0450 |
| predicted_AB | 12.3890 |
| predicted_AVG | 0.2366 |
| predicted_BB | 2.0680 |
| predicted_H | 2.9310 |
| predicted_HBP | 0.1760 |
| predicted_HR | 1.2490 |
| predicted_OBP | 0.3541 |
| predicted_R | 1.8870 |
| predicted_RBI | 2.1510 |
| predicted_SLG | 0.5826 |
| predicted_SO | 5.3390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.4490 | 0.3129 | model_form_blend |
| predicted_3B | 0.0200 | 0.0450 | 0.0311 | model_form_blend |
| predicted_AB | 4.3700 | 12.3890 | 7.9171 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2366 | 0.2285 | model_form_blend |
| predicted_BB | 0.6070 | 2.0680 | 1.2533 | model_form_blend |
| predicted_H | 0.9700 | 2.9310 | 1.8374 | model_form_blend |
| predicted_HBP | - | 0.1760 | 0.1760 | form_only |
| predicted_HR | 0.3200 | 1.2490 | 0.7309 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3541 | 0.3418 | model_form_blend |
| predicted_R | 0.6930 | 1.8870 | 1.2211 | model_form_blend |
| predicted_RBI | 0.5900 | 2.1510 | 1.2805 | model_form_blend |
| predicted_SLG | 0.4990 | 0.5826 | 0.5360 | model_form_blend |
| predicted_SO | 1.5370 | 5.3390 | 3.2188 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 244 |
| Season rows before report date | 244 |
| Report year | 2026 |
| Profile rows used | 244 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.246 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 1 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | 20260603_SD@PHI |
| game_type | full |
| mlbID | 656941 |
| playerID | 656941 |
| playerName | Kyle Schwarber |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 34.4 |
| sl_bb_percent | 13.9 |
| sl_woba | 0.404 |
| sl_xwoba | 0.38 |
| sl_xba | 0.232 |
| sl_xslg | 0.542 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 23.8 |
| sl_hard_hit_percent | 50.8 |
| sl_exit_velocity_avg | 92.9 |
| sl_launch_angle_avg | 22.1 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 43.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.187 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.850 | 4.000 | 7.000 | Hitting_AB | 3.614 | 3.000 | 0.386 | 1.000 |
| predicted_AVG | 0.233 | 0.500 | 0.286 | Hitting_AVG | 0.274 | 0.000 | 0.226 | 0.500 |
| predicted_BB | 0.660 | 0.000 | 1.000 | Hitting_BB | 0.657 | 1.000 | -0.657 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 0.900 | 2.000 | 2.000 | Hitting_H | 0.992 | 0.000 | 1.008 | 2.000 |
| predicted_HR | 0.210 | 0.000 | 1.000 | Hitting_HR | 0.246 | 0.000 | -0.246 | 0.000 |
| predicted_OBP | 0.346 | 0.500 | 0.375 | Hitting_OBP | 0.382 | 0.250 | 0.118 | 0.250 |
| predicted_R | 0.638 | 1.000 | 1.000 | Hitting_R | 0.636 | 0.000 | 0.364 | 1.000 |
| predicted_RBI | 0.620 | 1.000 | 1.000 | Hitting_RBI | 0.636 | 0.000 | 0.364 | 1.000 |
| predicted_SLG | 0.454 | 0.500 | 0.714 | Hitting_SLG | 0.539 | 0.000 | -0.039 | 0.500 |
| predicted_SO | 0.766 | 0.000 | 2.000 | Hitting_SO | 0.763 | 1.000 | -0.763 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.9000 -> 2.0000 (boost 1.1000, better) |
| Biggest Deboost | predicted_SO: 0.7660 -> 0.0000 (deboost -0.7660, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.8500 -> 6.8787 (boost 3.0287, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.3548 -> 0.3613 (boost 0.0065, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 1.5847 -> 2.0000 (boost 0.4153, better) | predicted_HR: 0.4281 -> 0.0000 (deboost -0.4281, worse) | AB rounded to 7 (raw=6.88), rates preserved: AVG=0.230 HR/AB=0.062 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | 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: 1.2184 -> 1.0000 (deboost -0.2184, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4638 -> 0.7140 (boost 0.2502, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.7140 -> 0.4638 (deboost -0.2502, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "547180",
"player_name": "Bryce Harper",
"position": "1B",
"team": "PHI",
"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.187,
"predicted_3B": 0.017,
"predicted_AB": 3.85,
"predicted_AVG": 0.233,
"predicted_BB": 0.66,
"predicted_H": 0.9,
"predicted_HR": 0.21,
"predicted_OBP": 0.346,
"predicted_R": 0.638,
"predicted_RBI": 0.62,
"predicted_SLG": 0.454,
"predicted_SO": 0.766
},
"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.2727,
"predicted_3B": 0.0245,
"predicted_AB": 6.8787,
"predicted_AVG": 0.2311,
"predicted_BB": 1.4125,
"predicted_H": 1.5841,
"predicted_HBP": 0.003,
"predicted_HR": 0.4357,
"predicted_OBP": 0.3548,
"predicted_R": 1.2134,
"predicted_RBI": 1.1906,
"predicted_SLG": 0.4622,
"predicted_SO": 1.6219
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.187,
"after": 0.2727,
"delta": 0.0857,
"percent_delta": 0.4583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0245,
"delta": 0.0075,
"percent_delta": 0.4412,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 6.8787,
"delta": 3.0287,
"percent_delta": 0.7867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2311,
"delta": -0.0019,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.66,
"after": 1.4125,
"delta": 0.7525,
"percent_delta": 1.1402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 1.5841,
"delta": 0.6841,
"percent_delta": 0.7601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.4357,
"delta": 0.2257,
"percent_delta": 1.0748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3548,
"delta": 0.0088,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.638,
"after": 1.2134,
"delta": 0.5754,
"percent_delta": 0.9019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.1906,
"delta": 0.5706,
"percent_delta": 0.9203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4622,
"delta": 0.0082,
"percent_delta": 0.0181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 1.6219,
"delta": 0.8559,
"percent_delta": 1.1174,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.85,
"after": 6.8787,
"delta": 3.0287,
"percent_delta": 0.7867,
"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": 59
}
},
{
"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.2727,
"predicted_3B": 0.0245,
"predicted_AB": 6.8787,
"predicted_AVG": 0.2304,
"predicted_BB": 1.4094,
"predicted_H": 1.5847,
"predicted_HBP": 0.003,
"predicted_HR": 0.4281,
"predicted_OBP": 0.3613,
"predicted_R": 1.2184,
"predicted_RBI": 1.1955,
"predicted_SLG": 0.4638,
"predicted_SO": 1.6255
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2727,
"after": 0.2727,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0245,
"after": 0.0245,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8787,
"after": 6.8787,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2311,
"after": 0.2304,
"delta": -0.0007,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.4125,
"after": 1.4094,
"delta": -0.0031,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5841,
"after": 1.5847,
"delta": 0.0006,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4357,
"after": 0.4281,
"delta": -0.0076,
"percent_delta": -0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3548,
"after": 0.3613,
"delta": 0.0065,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2134,
"after": 1.2184,
"delta": 0.005,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1906,
"after": 1.1955,
"delta": 0.0049,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4622,
"after": 0.4638,
"delta": 0.0016,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.6219,
"after": 1.6255,
"delta": 0.0036,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3548,
"after": 0.3613,
"delta": 0.0065,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.88), rates preserved: AVG=0.230 HR/AB=0.062",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2727,
"after": 0.0,
"delta": -0.2727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0245,
"after": 0.0,
"delta": -0.0245,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8787,
"after": 7.0,
"delta": 0.1213,
"percent_delta": 0.0176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.4094,
"after": 1.0,
"delta": -0.4094,
"percent_delta": -0.2905,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5847,
"after": 2.0,
"delta": 0.4153,
"percent_delta": 0.2621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4281,
"after": 0.0,
"delta": -0.4281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1955,
"after": 1.0,
"delta": -0.1955,
"percent_delta": -0.1635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6255,
"after": 2.0,
"delta": 0.3745,
"percent_delta": 0.2304,
"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": 1.5847,
"after": 2.0,
"delta": 0.4153,
"percent_delta": 0.2621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4281,
"after": 0.0,
"delta": -0.4281,
"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": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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_HR",
"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.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": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 7.0,
"after": 7.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2184,
"after": 1.0,
"delta": -0.2184,
"percent_delta": -0.1793,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.2184,
"after": 1.0,
"delta": -0.2184,
"percent_delta": -0.1793,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.714,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2304,
"after": 0.286,
"delta": 0.0556,
"percent_delta": 0.2413,
"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": 2.0,
"after": 2.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_OBP",
"before": 0.3613,
"after": 0.375,
"delta": 0.0137,
"percent_delta": 0.0379,
"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.4638,
"after": 0.714,
"delta": 0.2502,
"percent_delta": 0.5395,
"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.4638,
"after": 0.714,
"delta": 0.2502,
"percent_delta": 0.5395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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.2304,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3613,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4638,
"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.286,
"after": 0.2304,
"delta": -0.0556,
"percent_delta": -0.1945,
"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.375,
"after": 0.3613,
"delta": -0.0137,
"percent_delta": -0.0366,
"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.714,
"after": 0.4638,
"delta": -0.2502,
"percent_delta": -0.3504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.714,
"after": 0.4638,
"delta": -0.2502,
"percent_delta": -0.3504,
"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.187,
"after": 0.0,
"delta": -0.187,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2304,
"delta": -0.0026,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 2.0,
"delta": 1.1,
"percent_delta": 1.2222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3613,
"delta": 0.0153,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.638,
"after": 1.0,
"delta": 0.362,
"percent_delta": 0.5674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4638,
"delta": 0.0098,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 0.0,
"delta": -0.766,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9,
"after": 2.0,
"delta": 1.1,
"percent_delta": 1.2222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.766,
"after": 0.0,
"delta": -0.766,
"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.187 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.850 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.660 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.346 | - |
| predicted_R | 0.638 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.454 | - |
| predicted_SO | 0.766 | - |
Final model 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.273 | 0.086 |
| predicted_3B | 0.025 | 0.007 |
| predicted_AB | 6.879 | 3.029 |
| predicted_AVG | 0.231 | -0.002 |
| predicted_BB | 1.413 | 0.753 |
| predicted_H | 1.584 | 0.684 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.436 | 0.226 |
| predicted_OBP | 0.355 | 0.009 |
| predicted_R | 1.213 | 0.575 |
| predicted_RBI | 1.191 | 0.571 |
| predicted_SLG | 0.462 | 0.008 |
| predicted_SO | 1.622 | 0.856 |
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.273 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 6.879 | 0.000 |
| predicted_AVG | 0.230 | -0.001 |
| predicted_BB | 1.409 | -0.003 |
| predicted_H | 1.585 | 0.001 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.428 | -0.008 |
| predicted_OBP | 0.361 | 0.007 |
| predicted_R | 1.218 | 0.005 |
| predicted_RBI | 1.196 | 0.005 |
| predicted_SLG | 0.464 | 0.002 |
| predicted_SO | 1.625 | 0.004 |
AB rounded to 7 (raw=6.88), rates preserved: AVG=0.230 HR/AB=0.062
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.273 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 7.000 | 0.121 |
| predicted_AVG | 0.286 | 0.056 |
| predicted_BB | 1.000 | -0.409 |
| predicted_H | 2.000 | 0.415 |
| predicted_HR | 1.000 | 0.572 |
| predicted_OBP | 0.375 | 0.014 |
| predicted_R | 1.000 | -0.218 |
| predicted_RBI | 1.000 | -0.196 |
| predicted_SLG | 0.714 | 0.250 |
| predicted_SO | 2.000 | 0.375 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 5.000 | 5.000 | 0.1429 | 0.3684 | 0.3571 | 0.1429 | 0.0714 | 0.2143 | 0.3571 | 0.3571 |
| last_10 | 0.20 | 7 | - | 32.000 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 5.000 | 7.000 | 10.000 | 0.0938 | 0.2564 | 0.2812 | 0.0938 | 0.0625 | 0.1250 | 0.2188 | 0.3125 |
| season | 0.60 | 59 | - | 853.000 | 234.000 | 44.000 | 4.000 | 58.000 | 150.000 | 150.000 | 155.000 | 180.000 | 0.2743 | 0.3821 | 0.5393 | 0.2743 | 0.0680 | 0.1759 | 0.1817 | 0.2110 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3810 |
| predicted_3B | 0.0340 |
| predicted_AB | 10.7080 |
| predicted_AVG | 0.2287 |
| predicted_BB | 2.3640 |
| predicted_H | 2.4490 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.7210 |
| predicted_OBP | 0.3660 |
| predicted_R | 1.9410 |
| predicted_RBI | 1.9120 |
| predicted_SLG | 0.4725 |
| predicted_SO | 2.7040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1870 | 0.3810 | 0.2727 | model_form_blend |
| predicted_3B | 0.0170 | 0.0340 | 0.0245 | model_form_blend |
| predicted_AB | 3.8500 | 10.7080 | 6.8787 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2287 | 0.2311 | model_form_blend |
| predicted_BB | 0.6600 | 2.3640 | 1.4125 | model_form_blend |
| predicted_H | 0.9000 | 2.4490 | 1.5841 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.2100 | 0.7210 | 0.4357 | model_form_blend |
| predicted_OBP | 0.3460 | 0.3660 | 0.3548 | model_form_blend |
| predicted_R | 0.6380 | 1.9410 | 1.2134 | model_form_blend |
| predicted_RBI | 0.6200 | 1.9120 | 1.1906 | model_form_blend |
| predicted_SLG | 0.4540 | 0.4725 | 0.4622 | model_form_blend |
| predicted_SO | 0.7660 | 2.7040 | 1.6219 | 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 | 236 |
| Season rows before report date | 236 |
| Report year | 2026 |
| Profile rows used | 235 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.274 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 547180 |
| playerID | 547180 |
| playerName | Bryce Harper |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.7 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.377 |
| sl_xwoba | 0.413 |
| sl_xba | 0.291 |
| sl_xslg | 0.571 |
| sl_sweet_spot_percent | 36.7 |
| sl_barrel_batted_rate | 14.2 |
| sl_hard_hit_percent | 43.8 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 28.4 |
| 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.150 | 1.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | 0.850 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.860 | 4.000 | 7.000 | Hitting_AB | 3.762 | 4.000 | 0.238 | 0.000 |
| predicted_AVG | 0.215 | 0.250 | 0.143 | Hitting_AVG | 0.215 | 0.250 | 0.035 | 0.000 |
| predicted_BB | 0.294 | 0.000 | 0.000 | Hitting_BB | 0.294 | 0.000 | -0.294 | 0.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.808 | 1.000 | 0.192 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.084 | 0.000 | -0.084 | 0.000 |
| predicted_OBP | 0.269 | 0.250 | 0.143 | Hitting_OBP | 0.274 | 0.250 | -0.024 | 0.000 |
| predicted_R | 0.318 | 0.000 | 1.000 | Hitting_R | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.467 | 0.000 | -0.467 | 0.000 |
| predicted_SLG | 0.343 | 0.500 | 0.143 | Hitting_SLG | 0.322 | 0.250 | 0.178 | 0.250 |
| predicted_SO | 0.547 | 0.000 | 1.000 | Hitting_SO | 0.547 | 0.000 | -0.547 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_2B: 0.1500 -> 1.0000 (boost 0.8500, better) |
| Biggest Deboost | predicted_SO: 0.5470 -> 0.0000 (deboost -0.5470, 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 | 11 | 8 | 3 | 7 | 4 | predicted_AB: 3.8600 -> 6.9023 (boost 3.0423, better) | predicted_SLG: 0.3430 -> 0.3327 (deboost -0.0103, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3327 -> 0.3244 (deboost -0.0083, 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.7061 -> 1.0000 (boost 0.2939, better) | predicted_BB: 0.4858 -> 0.0000 (deboost -0.4858, worse) | AB rounded to 7 (raw=6.90), rates preserved: AVG=0.207 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5299 -> 1.0000 (boost 0.4701, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3244 -> 0.1430 (deboost -0.1814, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3244 (boost 0.1814, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664761",
"player_name": "Alec Bohm",
"position": "3B",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.0,
"predicted_AB": 3.86,
"predicted_AVG": 0.215,
"predicted_BB": 0.294,
"predicted_H": 0.83,
"predicted_HR": 0.11,
"predicted_OBP": 0.269,
"predicted_R": 0.318,
"predicted_RBI": 0.39,
"predicted_SLG": 0.343,
"predicted_SO": 0.547
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2156,
"predicted_3B": 0.0004,
"predicted_AB": 6.9023,
"predicted_AVG": 0.2096,
"predicted_BB": 0.4869,
"predicted_H": 1.4255,
"predicted_HBP": 0.074,
"predicted_HR": 0.2025,
"predicted_OBP": 0.2627,
"predicted_R": 0.5277,
"predicted_RBI": 0.7032,
"predicted_SLG": 0.3327,
"predicted_SO": 0.8602
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.2156,
"delta": 0.0656,
"percent_delta": 0.4373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.86,
"after": 6.9023,
"delta": 3.0423,
"percent_delta": 0.7882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2096,
"delta": -0.0054,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.4869,
"delta": 0.1929,
"percent_delta": 0.6561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.4255,
"delta": 0.5955,
"percent_delta": 0.7175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.2025,
"delta": 0.0925,
"percent_delta": 0.8409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.2627,
"delta": -0.0063,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.318,
"after": 0.5277,
"delta": 0.2097,
"percent_delta": 0.6594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.7032,
"delta": 0.3132,
"percent_delta": 0.8031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3327,
"delta": -0.0103,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.547,
"after": 0.8602,
"delta": 0.3132,
"percent_delta": 0.5726,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.86,
"after": 6.9023,
"delta": 3.0423,
"percent_delta": 0.7882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3327,
"delta": -0.0103,
"percent_delta": -0.03,
"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": 7,
"season": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2156,
"predicted_3B": 0.0004,
"predicted_AB": 6.9023,
"predicted_AVG": 0.2066,
"predicted_BB": 0.4858,
"predicted_H": 1.4261,
"predicted_HBP": 0.074,
"predicted_HR": 0.199,
"predicted_OBP": 0.2588,
"predicted_R": 0.5299,
"predicted_RBI": 0.7061,
"predicted_SLG": 0.3244,
"predicted_SO": 0.8621
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2156,
"after": 0.2156,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.9023,
"after": 6.9023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2096,
"after": 0.2066,
"delta": -0.003,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4869,
"after": 0.4858,
"delta": -0.0011,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4255,
"after": 1.4261,
"delta": 0.0006,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.074,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2025,
"after": 0.199,
"delta": -0.0035,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2627,
"after": 0.2588,
"delta": -0.0039,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5277,
"after": 0.5299,
"delta": 0.0022,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7032,
"after": 0.7061,
"delta": 0.0029,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3327,
"after": 0.3244,
"delta": -0.0083,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8602,
"after": 0.8621,
"delta": 0.0019,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3327,
"after": 0.3244,
"delta": -0.0083,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.90), rates preserved: AVG=0.207 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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.2156,
"after": 0.0,
"delta": -0.2156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.9023,
"after": 7.0,
"delta": 0.0977,
"percent_delta": 0.0142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4858,
"after": 0.0,
"delta": -0.4858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4261,
"after": 1.0,
"delta": -0.4261,
"percent_delta": -0.2988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.199,
"after": 0.0,
"delta": -0.199,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7061,
"after": 1.0,
"delta": 0.2939,
"percent_delta": 0.4162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8621,
"after": 1.0,
"delta": 0.1379,
"percent_delta": 0.16,
"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.7061,
"after": 1.0,
"delta": 0.2939,
"percent_delta": 0.4162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4858,
"after": 0.0,
"delta": -0.4858,
"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": 7.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": 7.0,
"after": 7.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.5299,
"after": 1.0,
"delta": 0.4701,
"percent_delta": 0.8871,
"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.5299,
"after": 1.0,
"delta": 0.4701,
"percent_delta": 0.8871,
"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": 7.0,
"predicted_AVG": 0.143,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.143,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.143,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2066,
"after": 0.143,
"delta": -0.0636,
"percent_delta": -0.3078,
"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.2588,
"after": 0.143,
"delta": -0.1158,
"percent_delta": -0.4474,
"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.3244,
"after": 0.143,
"delta": -0.1814,
"percent_delta": -0.5592,
"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.3244,
"after": 0.143,
"delta": -0.1814,
"percent_delta": -0.5592,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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_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": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2066,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2588,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3244,
"predicted_SO": 0.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": 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.143,
"after": 0.2066,
"delta": 0.0636,
"percent_delta": 0.4448,
"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.143,
"after": 0.2588,
"delta": 0.1158,
"percent_delta": 0.8096,
"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.143,
"after": 0.3244,
"delta": 0.1814,
"percent_delta": 1.2688,
"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.143,
"after": 0.3244,
"delta": 0.1814,
"percent_delta": 1.2688,
"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.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"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.86,
"after": 4.0,
"delta": 0.14,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2066,
"delta": -0.0084,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.0,
"delta": 0.17,
"percent_delta": 0.2048,
"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.269,
"after": 0.2588,
"delta": -0.0102,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.318,
"after": 0.0,
"delta": -0.318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3244,
"delta": -0.0186,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.547,
"after": 0.0,
"delta": -0.547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.547,
"after": 0.0,
"delta": -0.547,
"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.150 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.860 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.294 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.269 | - |
| predicted_R | 0.318 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.343 | - |
| predicted_SO | 0.547 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.216 | 0.066 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.902 | 3.042 |
| predicted_AVG | 0.210 | -0.005 |
| predicted_BB | 0.487 | 0.193 |
| predicted_H | 1.425 | 0.596 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.203 | 0.093 |
| predicted_OBP | 0.263 | -0.006 |
| predicted_R | 0.528 | 0.210 |
| predicted_RBI | 0.703 | 0.313 |
| predicted_SLG | 0.333 | -0.010 |
| predicted_SO | 0.860 | 0.313 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.216 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.902 | 0.000 |
| predicted_AVG | 0.207 | -0.003 |
| predicted_BB | 0.486 | -0.001 |
| predicted_H | 1.426 | 0.001 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.199 | -0.004 |
| predicted_OBP | 0.259 | -0.004 |
| predicted_R | 0.530 | 0.002 |
| predicted_RBI | 0.706 | 0.003 |
| predicted_SLG | 0.324 | -0.008 |
| predicted_SO | 0.862 | 0.002 |
AB rounded to 7 (raw=6.90), rates preserved: AVG=0.207 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.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 | 7.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.216 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | 0.098 |
| predicted_AVG | 0.143 | -0.064 |
| predicted_BB | 0.000 | -0.486 |
| predicted_H | 1.000 | -0.426 |
| predicted_HR | 0.000 | -0.199 |
| predicted_OBP | 0.143 | -0.116 |
| predicted_R | 1.000 | 0.470 |
| predicted_RBI | 1.000 | 0.294 |
| predicted_SLG | 0.143 | -0.181 |
| predicted_SO | 1.000 | 0.138 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 0.1579 | 0.2000 | 0.3158 | 0.1579 | 0.0526 | 0.0526 | 0.0526 | 0.0526 |
| last_10 | 0.20 | 7 | - | 39.000 | 8.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 1.000 | 0.2051 | 0.2250 | 0.2821 | 0.2051 | 0.0256 | 0.0513 | 0.0256 | 0.0256 |
| season | 0.60 | 57 | - | 805.000 | 173.000 | 32.000 | 0.000 | 18.000 | 100.000 | 68.000 | 63.000 | 117.000 | 0.2149 | 0.2742 | 0.3217 | 0.2149 | 0.0224 | 0.1242 | 0.0783 | 0.1453 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2990 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.7670 |
| predicted_AVG | 0.2027 |
| predicted_BB | 0.7320 |
| predicted_H | 2.1820 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.3200 |
| predicted_OBP | 0.2548 |
| predicted_R | 0.7940 |
| predicted_RBI | 1.1010 |
| predicted_SLG | 0.3197 |
| predicted_SO | 1.2580 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.2990 | 0.2156 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8600 | 10.7670 | 6.9023 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2027 | 0.2096 | model_form_blend |
| predicted_BB | 0.2940 | 0.7320 | 0.4869 | model_form_blend |
| predicted_H | 0.8300 | 2.1820 | 1.4255 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.1100 | 0.3200 | 0.2025 | model_form_blend |
| predicted_OBP | 0.2690 | 0.2548 | 0.2627 | model_form_blend |
| predicted_R | 0.3180 | 0.7940 | 0.5277 | model_form_blend |
| predicted_RBI | 0.3900 | 1.1010 | 0.7032 | model_form_blend |
| predicted_SLG | 0.3430 | 0.3197 | 0.3327 | model_form_blend |
| predicted_SO | 0.5470 | 1.2580 | 0.8602 | 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 | 214 |
| Season rows before report date | 214 |
| Report year | 2026 |
| Profile rows used | 214 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.215 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 664761 |
| playerID | 664761 |
| playerName | Alec Bohm |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.266 |
| sl_xwoba | 0.289 |
| sl_xba | 0.237 |
| sl_xslg | 0.344 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 42.5 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 16.4 |
| sl_swing_percent | 43.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.127 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.493 | 4.000 | 6.000 | Hitting_AB | 3.441 | 3.000 | 0.559 | 1.000 |
| predicted_AVG | 0.238 | 0.250 | 0.167 | Hitting_AVG | 0.250 | 0.333 | 0.000 | -0.083 |
| predicted_BB | 0.276 | 0.000 | 0.000 | Hitting_BB | 0.272 | 0.000 | -0.272 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.770 | 1.000 | 1.000 | Hitting_H | 0.860 | 1.000 | 0.140 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.074 | 1.000 | -0.074 | -1.000 |
| predicted_OBP | 0.300 | 0.250 | 0.167 | Hitting_OBP | 0.326 | 0.333 | -0.076 | -0.083 |
| predicted_R | 0.343 | 0.000 | 1.000 | Hitting_R | 0.338 | 1.000 | -0.338 | -1.000 |
| predicted_RBI | 0.350 | 0.000 | 1.000 | Hitting_RBI | 0.309 | 1.000 | -0.309 | -1.000 |
| predicted_SLG | 0.396 | 0.250 | 0.167 | Hitting_SLG | 0.350 | 1.333 | -0.100 | -1.083 |
| predicted_SO | 0.627 | 1.000 | 1.000 | Hitting_SO | 0.618 | 0.000 | 0.382 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.4930 -> 4.0000 (boost 0.5070, better) |
| Biggest Deboost | predicted_RBI: 0.3500 -> 0.0000 (deboost -0.3500, 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 | 8 | 1 | 7 | 2 | predicted_AB: 3.4930 -> 6.3171 (boost 2.8241, better) | predicted_SLG: 0.3960 -> 0.3903 (deboost -0.0057, 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.3020 -> 0.2844 (deboost -0.0176, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_RBI: 0.5921 -> 1.0000 (boost 0.4079, better) | predicted_H: 1.4983 -> 1.0000 (deboost -0.4983, worse) | AB rounded to 6 (raw=6.32), rates preserved: AVG=0.237 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6138 -> 1.0000 (boost 0.3862, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3764 -> 0.1670 (deboost -0.2094, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3764 (boost 0.2094, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592663",
"player_name": "J.T. Realmuto",
"position": "C",
"team": "PHI",
"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.127,
"predicted_3B": 0.0,
"predicted_AB": 3.493,
"predicted_AVG": 0.238,
"predicted_BB": 0.276,
"predicted_H": 0.77,
"predicted_HR": 0.13,
"predicted_OBP": 0.3,
"predicted_R": 0.343,
"predicted_RBI": 0.35,
"predicted_SLG": 0.396,
"predicted_SO": 0.627
},
"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.1952,
"predicted_3B": 0.0009,
"predicted_AB": 6.3171,
"predicted_AVG": 0.2409,
"predicted_BB": 0.4176,
"predicted_H": 1.4977,
"predicted_HBP": 0.324,
"predicted_HR": 0.2316,
"predicted_OBP": 0.302,
"predicted_R": 0.6113,
"predicted_RBI": 0.5897,
"predicted_SLG": 0.3903,
"predicted_SO": 1.191
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.127,
"after": 0.1952,
"delta": 0.0682,
"percent_delta": 0.537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.493,
"after": 6.3171,
"delta": 2.8241,
"percent_delta": 0.8085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2409,
"delta": 0.0029,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.4176,
"delta": 0.1416,
"percent_delta": 0.513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.4977,
"delta": 0.7277,
"percent_delta": 0.9451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2316,
"delta": 0.1016,
"percent_delta": 0.7815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.302,
"delta": 0.002,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.343,
"after": 0.6113,
"delta": 0.2683,
"percent_delta": 0.7822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.5897,
"delta": 0.2397,
"percent_delta": 0.6849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3903,
"delta": -0.0057,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 1.191,
"delta": 0.564,
"percent_delta": 0.8995,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.493,
"after": 6.3171,
"delta": 2.8241,
"percent_delta": 0.8085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3903,
"delta": -0.0057,
"percent_delta": -0.0144,
"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": 5,
"season": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1952,
"predicted_3B": 0.0009,
"predicted_AB": 6.3171,
"predicted_AVG": 0.2372,
"predicted_BB": 0.4167,
"predicted_H": 1.4983,
"predicted_HBP": 0.324,
"predicted_HR": 0.2275,
"predicted_OBP": 0.2844,
"predicted_R": 0.6138,
"predicted_RBI": 0.5921,
"predicted_SLG": 0.3764,
"predicted_SO": 1.1936
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1952,
"after": 0.1952,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.3171,
"after": 6.3171,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2409,
"after": 0.2372,
"delta": -0.0037,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4176,
"after": 0.4167,
"delta": -0.0009,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4977,
"after": 1.4983,
"delta": 0.0006,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.324,
"after": 0.324,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2316,
"after": 0.2275,
"delta": -0.0041,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2844,
"delta": -0.0176,
"percent_delta": -0.0583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6113,
"after": 0.6138,
"delta": 0.0025,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5897,
"after": 0.5921,
"delta": 0.0024,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3903,
"after": 0.3764,
"delta": -0.0139,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.191,
"after": 1.1936,
"delta": 0.0026,
"percent_delta": 0.0022,
"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.302,
"after": 0.2844,
"delta": -0.0176,
"percent_delta": -0.0583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.32), rates preserved: AVG=0.237 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1952,
"after": 0.0,
"delta": -0.1952,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.3171,
"after": 6.0,
"delta": -0.3171,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4167,
"after": 0.0,
"delta": -0.4167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4983,
"after": 1.0,
"delta": -0.4983,
"percent_delta": -0.3326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2275,
"after": 0.0,
"delta": -0.2275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5921,
"after": 1.0,
"delta": 0.4079,
"percent_delta": 0.6889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1936,
"after": 1.0,
"delta": -0.1936,
"percent_delta": -0.1622,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5921,
"after": 1.0,
"delta": 0.4079,
"percent_delta": 0.6889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4983,
"after": 1.0,
"delta": -0.4983,
"percent_delta": -0.3326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 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.6138,
"after": 1.0,
"delta": 0.3862,
"percent_delta": 0.6292,
"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.6138,
"after": 1.0,
"delta": 0.3862,
"percent_delta": 0.6292,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.2372,
"after": 0.167,
"delta": -0.0702,
"percent_delta": -0.296,
"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.2844,
"after": 0.167,
"delta": -0.1174,
"percent_delta": -0.4128,
"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.3764,
"after": 0.167,
"delta": -0.2094,
"percent_delta": -0.5563,
"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.3764,
"after": 0.167,
"delta": -0.2094,
"percent_delta": -0.5563,
"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": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2372,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2844,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3764,
"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.167,
"after": 0.2372,
"delta": 0.0702,
"percent_delta": 0.4202,
"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.167,
"after": 0.2844,
"delta": 0.1174,
"percent_delta": 0.7029,
"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.167,
"after": 0.3764,
"delta": 0.2094,
"percent_delta": 1.2541,
"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.167,
"after": 0.3764,
"delta": 0.2094,
"percent_delta": 1.2541,
"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.127,
"after": 0.0,
"delta": -0.127,
"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.493,
"after": 4.0,
"delta": 0.507,
"percent_delta": 0.1451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2372,
"delta": -0.0008,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.0,
"delta": -0.276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.0,
"delta": 0.23,
"percent_delta": 0.2987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2844,
"delta": -0.0156,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3764,
"delta": -0.0196,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 1.0,
"delta": 0.373,
"percent_delta": 0.5949,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.493,
"after": 4.0,
"delta": 0.507,
"percent_delta": 0.1451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"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.127 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.493 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.276 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.343 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 0.627 | - |
Final model 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.195 | 0.068 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.317 | 2.824 |
| predicted_AVG | 0.241 | 0.003 |
| predicted_BB | 0.418 | 0.142 |
| predicted_H | 1.498 | 0.728 |
| predicted_HBP | 0.324 | - |
| predicted_HR | 0.232 | 0.102 |
| predicted_OBP | 0.302 | 0.002 |
| predicted_R | 0.611 | 0.268 |
| predicted_RBI | 0.590 | 0.240 |
| predicted_SLG | 0.390 | -0.006 |
| predicted_SO | 1.191 | 0.564 |
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.195 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.317 | 0.000 |
| predicted_AVG | 0.237 | -0.004 |
| predicted_BB | 0.417 | -0.001 |
| predicted_H | 1.498 | 0.001 |
| predicted_HBP | 0.324 | 0.000 |
| predicted_HR | 0.228 | -0.004 |
| predicted_OBP | 0.284 | -0.018 |
| predicted_R | 0.614 | 0.003 |
| predicted_RBI | 0.592 | 0.002 |
| predicted_SLG | 0.376 | -0.014 |
| predicted_SO | 1.194 | 0.003 |
AB rounded to 6 (raw=6.32), rates preserved: AVG=0.237 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.195 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.317 |
| predicted_AVG | 0.167 | -0.070 |
| predicted_BB | 0.000 | -0.417 |
| predicted_H | 1.000 | -0.498 |
| predicted_HR | 0.000 | -0.228 |
| predicted_OBP | 0.167 | -0.117 |
| predicted_R | 1.000 | 0.386 |
| predicted_RBI | 1.000 | 0.408 |
| predicted_SLG | 0.167 | -0.209 |
| predicted_SO | 1.000 | -0.194 |
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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 16.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 4.000 | 0.1875 | 0.1875 | 0.3750 | 0.1875 | 0.0625 | 0.0625 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 5 | - | 31.000 | 12.000 | 0.000 | 0.000 | 5.000 | 5.000 | 5.000 | 0.000 | 4.000 | 0.3871 | 0.4571 | 0.8710 | 0.3871 | 0.1613 | 0.1613 | 0.0000 | 0.1290 |
| season | 0.60 | 38 | - | 468.000 | 117.000 | 17.000 | 0.000 | 10.000 | 42.000 | 46.000 | 37.000 | 84.000 | 0.2500 | 0.3251 | 0.3504 | 0.2500 | 0.0214 | 0.0897 | 0.0791 | 0.1795 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2840 |
| predicted_3B | 0.0020 |
| predicted_AB | 9.9970 |
| predicted_AVG | 0.2447 |
| predicted_BB | 0.6020 |
| predicted_H | 2.4460 |
| predicted_HBP | 0.3240 |
| predicted_HR | 0.3640 |
| predicted_OBP | 0.3047 |
| predicted_R | 0.9610 |
| predicted_RBI | 0.9020 |
| predicted_SLG | 0.3828 |
| predicted_SO | 1.9260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1270 | 0.2840 | 0.1952 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.4930 | 9.9970 | 6.3171 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2447 | 0.2409 | model_form_blend |
| predicted_BB | 0.2760 | 0.6020 | 0.4176 | model_form_blend |
| predicted_H | 0.7700 | 2.4460 | 1.4977 | model_form_blend |
| predicted_HBP | - | 0.3240 | 0.3240 | form_only |
| predicted_HR | 0.1300 | 0.3640 | 0.2316 | model_form_blend |
| predicted_OBP | 0.3000 | 0.3047 | 0.3020 | model_form_blend |
| predicted_R | 0.3430 | 0.9610 | 0.6113 | model_form_blend |
| predicted_RBI | 0.3500 | 0.9020 | 0.5897 | model_form_blend |
| predicted_SLG | 0.3960 | 0.3828 | 0.3903 | model_form_blend |
| predicted_SO | 0.6270 | 1.9260 | 1.1910 | 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 | 136 |
| Season rows before report date | 136 |
| Report year | 2026 |
| Profile rows used | 134 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 592663 |
| playerID | 592663 |
| playerName | J.T. Realmuto |
| pos | C |
| started | True |
| startingPosition | C |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 17.2 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.283 |
| sl_xwoba | 0.319 |
| sl_xba | 0.253 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 40.6 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 47.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.133 | 1.000 | 0.000 | Hitting_2B | 0.133 | 1.000 | 0.867 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 3.560 | 4.000 | 6.000 | Hitting_AB | 3.560 | 3.000 | 0.440 | 1.000 |
| predicted_AVG | 0.212 | 0.500 | 0.167 | Hitting_AVG | 0.197 | 0.333 | 0.303 | 0.167 |
| predicted_BB | 0.376 | 0.000 | 1.000 | Hitting_BB | 0.376 | 0.000 | -0.376 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.670 | 2.000 | 1.000 | Hitting_H | 0.702 | 1.000 | 1.298 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_OBP | 0.261 | 0.500 | 0.286 | Hitting_OBP | 0.284 | 0.333 | 0.216 | 0.167 |
| predicted_R | 0.294 | 1.000 | 0.000 | Hitting_R | 0.294 | 0.000 | 0.706 | 1.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.317 | 1.000 | -0.317 | -1.000 |
| predicted_SLG | 0.316 | 0.750 | 0.167 | Hitting_SLG | 0.294 | 0.667 | 0.456 | 0.083 |
| predicted_SO | 1.197 | 1.000 | 2.000 | Hitting_SO | 1.197 | 1.000 | -0.197 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.6700 -> 2.0000 (boost 1.3300, better) |
| Biggest Deboost | predicted_BB: 0.3760 -> 0.0000 (deboost -0.3760, 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 | 10 | 7 | 3 | 6 | 4 | predicted_AB: 3.5600 -> 6.3277 (boost 2.7677, better) | predicted_SLG: 0.3160 -> 0.2905 (deboost -0.0255, 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.2905 -> 0.2724 (deboost -0.0181, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_BB: 0.5505 -> 1.0000 (boost 0.4495, better) | predicted_RBI: 0.5222 -> 0.0000 (deboost -0.5222, worse) | AB rounded to 6 (raw=6.33), rates preserved: AVG=0.177 HR/AB=0.015 |
| 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 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4203 -> 0.0000 (deboost -0.4203, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2431 -> 0.2860 (boost 0.0429, better) | predicted_SLG: 0.2724 -> 0.1670 (deboost -0.1054, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 3 | 3 | 4 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.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.1670 -> 0.2724 (boost 0.1054, better) | predicted_OBP: 0.2860 -> 0.2431 (deboost -0.0429, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666969",
"player_name": "Adolis García",
"position": "RF",
"team": "PHI",
"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.133,
"predicted_3B": 0.023,
"predicted_AB": 3.56,
"predicted_AVG": 0.212,
"predicted_BB": 0.376,
"predicted_H": 0.67,
"predicted_HR": 0.08,
"predicted_OBP": 0.261,
"predicted_R": 0.294,
"predicted_RBI": 0.31,
"predicted_SLG": 0.316,
"predicted_SO": 1.197
},
"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.262,
"predicted_3B": 0.0318,
"predicted_AB": 6.3277,
"predicted_AVG": 0.1945,
"predicted_BB": 0.5517,
"predicted_H": 1.1214,
"predicted_HBP": 0.145,
"predicted_HR": 0.0937,
"predicted_OBP": 0.2504,
"predicted_R": 0.4186,
"predicted_RBI": 0.5201,
"predicted_SLG": 0.2905,
"predicted_SO": 2.221
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.262,
"delta": 0.129,
"percent_delta": 0.9699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0318,
"delta": 0.0088,
"percent_delta": 0.3826,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.56,
"after": 6.3277,
"delta": 2.7677,
"percent_delta": 0.7774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.1945,
"delta": -0.0175,
"percent_delta": -0.0825,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.376,
"after": 0.5517,
"delta": 0.1757,
"percent_delta": 0.4673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.1214,
"delta": 0.4514,
"percent_delta": 0.6737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0937,
"delta": 0.0137,
"percent_delta": 0.1713,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2504,
"delta": -0.0106,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 0.4186,
"delta": 0.1246,
"percent_delta": 0.4238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.5201,
"delta": 0.2101,
"percent_delta": 0.6777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.2905,
"delta": -0.0255,
"percent_delta": -0.0807,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.197,
"after": 2.221,
"delta": 1.024,
"percent_delta": 0.8555,
"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_AB",
"before": 3.56,
"after": 6.3277,
"delta": 2.7677,
"percent_delta": 0.7774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.2905,
"delta": -0.0255,
"percent_delta": -0.0807,
"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": 7,
"season": 59
}
},
{
"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.262,
"predicted_3B": 0.0318,
"predicted_AB": 6.3277,
"predicted_AVG": 0.1773,
"predicted_BB": 0.5505,
"predicted_H": 1.1218,
"predicted_HBP": 0.145,
"predicted_HR": 0.0921,
"predicted_OBP": 0.2431,
"predicted_R": 0.4203,
"predicted_RBI": 0.5222,
"predicted_SLG": 0.2724,
"predicted_SO": 2.2259
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.262,
"after": 0.262,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0318,
"after": 0.0318,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.3277,
"after": 6.3277,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1945,
"after": 0.1773,
"delta": -0.0172,
"percent_delta": -0.0884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5517,
"after": 0.5505,
"delta": -0.0012,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1214,
"after": 1.1218,
"delta": 0.0004,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.145,
"after": 0.145,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0937,
"after": 0.0921,
"delta": -0.0016,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2504,
"after": 0.2431,
"delta": -0.0073,
"percent_delta": -0.0292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4186,
"after": 0.4203,
"delta": 0.0017,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5201,
"after": 0.5222,
"delta": 0.0021,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2905,
"after": 0.2724,
"delta": -0.0181,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.221,
"after": 2.2259,
"delta": 0.0049,
"percent_delta": 0.0022,
"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.2905,
"after": 0.2724,
"delta": -0.0181,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.33), rates preserved: AVG=0.177 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.262,
"after": 0.0,
"delta": -0.262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0318,
"after": 0.0,
"delta": -0.0318,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.3277,
"after": 6.0,
"delta": -0.3277,
"percent_delta": -0.0518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5505,
"after": 1.0,
"delta": 0.4495,
"percent_delta": 0.8165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1218,
"after": 1.0,
"delta": -0.1218,
"percent_delta": -0.1086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0921,
"after": 0.0,
"delta": -0.0921,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5222,
"after": 0.0,
"delta": -0.5222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2259,
"after": 2.0,
"delta": -0.2259,
"percent_delta": -0.1015,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5505,
"after": 1.0,
"delta": 0.4495,
"percent_delta": 0.8165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5222,
"after": 0.0,
"delta": -0.5222,
"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": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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.4203,
"after": 0.0,
"delta": -0.4203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4203,
"after": 0.0,
"delta": -0.4203,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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": 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.1773,
"after": 0.167,
"delta": -0.0103,
"percent_delta": -0.0581,
"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.2431,
"after": 0.286,
"delta": 0.0429,
"percent_delta": 0.1765,
"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.2724,
"after": 0.167,
"delta": -0.1054,
"percent_delta": -0.3869,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2431,
"after": 0.286,
"delta": 0.0429,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2724,
"after": 0.167,
"delta": -0.1054,
"percent_delta": -0.3869,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1773,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2431,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2724,
"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": 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.167,
"after": 0.1773,
"delta": 0.0103,
"percent_delta": 0.0616,
"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.286,
"after": 0.2431,
"delta": -0.0429,
"percent_delta": -0.1499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.2724,
"delta": 0.1054,
"percent_delta": 0.6311,
"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.167,
"after": 0.2724,
"delta": 0.1054,
"percent_delta": 0.6311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2431,
"delta": -0.0429,
"percent_delta": -0.1499,
"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.133,
"after": 1.0,
"delta": 0.867,
"percent_delta": 6.5188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.56,
"after": 4.0,
"delta": 0.44,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.1773,
"delta": -0.0347,
"percent_delta": -0.1637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.376,
"after": 0.0,
"delta": -0.376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 2.0,
"delta": 1.33,
"percent_delta": 1.9851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2431,
"delta": -0.0179,
"percent_delta": -0.0686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 1.0,
"delta": 0.706,
"percent_delta": 2.4014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.2724,
"delta": -0.0436,
"percent_delta": -0.138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.197,
"after": 1.0,
"delta": -0.197,
"percent_delta": -0.1646,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.67,
"after": 2.0,
"delta": 1.33,
"percent_delta": 1.9851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.376,
"after": 0.0,
"delta": -0.376,
"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.133 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.560 | - |
| predicted_AVG | 0.212 | - |
| predicted_BB | 0.376 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.294 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.316 | - |
| predicted_SO | 1.197 | - |
Final model 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.262 | 0.129 |
| predicted_3B | 0.032 | 0.009 |
| predicted_AB | 6.328 | 2.768 |
| predicted_AVG | 0.195 | -0.017 |
| predicted_BB | 0.552 | 0.176 |
| predicted_H | 1.121 | 0.451 |
| predicted_HBP | 0.145 | - |
| predicted_HR | 0.094 | 0.014 |
| predicted_OBP | 0.250 | -0.011 |
| predicted_R | 0.419 | 0.125 |
| predicted_RBI | 0.520 | 0.210 |
| predicted_SLG | 0.290 | -0.026 |
| predicted_SO | 2.221 | 1.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.262 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 6.328 | 0.000 |
| predicted_AVG | 0.177 | -0.017 |
| predicted_BB | 0.550 | -0.001 |
| predicted_H | 1.122 | 0.000 |
| predicted_HBP | 0.145 | 0.000 |
| predicted_HR | 0.092 | -0.002 |
| predicted_OBP | 0.243 | -0.007 |
| predicted_R | 0.420 | 0.002 |
| predicted_RBI | 0.522 | 0.002 |
| predicted_SLG | 0.272 | -0.018 |
| predicted_SO | 2.226 | 0.005 |
AB rounded to 6 (raw=6.33), rates preserved: AVG=0.177 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=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 | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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 | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.262 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 6.000 | -0.328 |
| predicted_AVG | 0.167 | -0.010 |
| predicted_BB | 1.000 | 0.450 |
| predicted_H | 1.000 | -0.122 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.286 | 0.043 |
| predicted_R | 0.000 | -0.420 |
| predicted_RBI | 0.000 | -0.522 |
| predicted_SLG | 0.167 | -0.105 |
| predicted_SO | 2.000 | -0.226 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 7.000 | 0.1250 | 0.1250 | 0.1875 | 0.1250 | 0.0000 | 0.0625 | 0.0000 | 0.4375 |
| last_10 | 0.20 | 7 | - | 27.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 10.000 | 0.0741 | 0.1379 | 0.1111 | 0.0741 | 0.0000 | 0.0370 | 0.0741 | 0.3704 |
| season | 0.60 | 59 | - | 776.000 | 153.000 | 29.000 | 5.000 | 12.000 | 69.000 | 64.000 | 82.000 | 261.000 | 0.1972 | 0.2838 | 0.2938 | 0.1972 | 0.0155 | 0.0889 | 0.1057 | 0.3363 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4260 |
| predicted_3B | 0.0430 |
| predicted_AB | 9.8440 |
| predicted_AVG | 0.1722 |
| predicted_BB | 0.7750 |
| predicted_H | 1.6950 |
| predicted_HBP | 0.1450 |
| predicted_HR | 0.1110 |
| predicted_OBP | 0.2370 |
| predicted_R | 0.5770 |
| predicted_RBI | 0.7870 |
| predicted_SLG | 0.2581 |
| predicted_SO | 3.5220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.4260 | 0.2620 | model_form_blend |
| predicted_3B | 0.0230 | 0.0430 | 0.0318 | model_form_blend |
| predicted_AB | 3.5600 | 9.8440 | 6.3277 | model_form_blend |
| predicted_AVG | 0.2120 | 0.1722 | 0.1945 | model_form_blend |
| predicted_BB | 0.3760 | 0.7750 | 0.5517 | model_form_blend |
| predicted_H | 0.6700 | 1.6950 | 1.1214 | model_form_blend |
| predicted_HBP | - | 0.1450 | 0.1450 | form_only |
| predicted_HR | 0.0800 | 0.1110 | 0.0937 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2370 | 0.2504 | model_form_blend |
| predicted_R | 0.2940 | 0.5770 | 0.4186 | model_form_blend |
| predicted_RBI | 0.3100 | 0.7870 | 0.5201 | model_form_blend |
| predicted_SLG | 0.3160 | 0.2581 | 0.2905 | model_form_blend |
| predicted_SO | 1.1970 | 3.5220 | 2.2210 | 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 | 218 |
| Season rows before report date | 218 |
| Report year | 2026 |
| Profile rows used | 218 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.197 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 666969 |
| playerID | 666969 |
| playerName | Adolis García |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 31.0 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.264 |
| sl_xwoba | 0.289 |
| sl_xba | 0.218 |
| sl_xslg | 0.341 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 48.5 |
| sl_exit_velocity_avg | 92.4 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 33.9 |
| sl_swing_percent | 44.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.168 | 0.000 | 0.000 | Hitting_2B | 0.168 | 1.000 | -0.168 | -1.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 3.600 | 3.000 | 6.000 | Hitting_AB | 3.600 | 4.000 | -0.600 | -1.000 |
| predicted_AVG | 0.217 | 0.333 | 0.167 | Hitting_AVG | 0.218 | 0.250 | 0.115 | 0.083 |
| predicted_BB | 0.242 | 1.000 | 0.000 | Hitting_BB | 0.242 | 0.000 | 0.758 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.770 | 1.000 | 1.000 | Hitting_H | 0.784 | 1.000 | 0.216 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_OBP | 0.261 | 0.500 | 0.167 | Hitting_OBP | 0.269 | 0.250 | 0.231 | 0.250 |
| predicted_R | 0.321 | 0.000 | 1.000 | Hitting_R | 0.321 | 1.000 | -0.321 | -1.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.521 | 0.000 | -0.521 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_SLG | 0.366 | 0.333 | 0.167 | Hitting_SLG | 0.371 | 0.500 | -0.038 | -0.167 |
| predicted_SO | 0.579 | 0.000 | 1.000 | Hitting_SO | 0.579 | 0.000 | -0.579 | 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.2420 -> 1.0000 (boost 0.7580, better) |
| Biggest Deboost | predicted_AB: 3.6000 -> 3.0000 (deboost -0.6000, 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 | 11 | 8 | 3 | 7 | 4 | predicted_AB: 3.6000 -> 6.2802 (boost 2.6802, better) | predicted_AVG: 0.2170 -> 0.2013 (deboost -0.0157, 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_AVG: 0.2013 -> 0.1919 (deboost -0.0094, 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_RBI: 0.7204 -> 1.0000 (boost 0.2796, better) | predicted_BB: 0.3968 -> 0.0000 (deboost -0.3968, worse) | AB rounded to 6 (raw=6.28), rates preserved: AVG=0.192 HR/AB=0.034 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5756 -> 1.0000 (boost 0.4244, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3533 -> 0.1670 (deboost -0.1863, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3533 (boost 0.1863, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681082",
"player_name": "Bryson Stott",
"position": "2B",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.168,
"predicted_3B": 0.026,
"predicted_AB": 3.6,
"predicted_AVG": 0.217,
"predicted_BB": 0.242,
"predicted_H": 0.77,
"predicted_HR": 0.12,
"predicted_OBP": 0.261,
"predicted_R": 0.321,
"predicted_RBI": 0.41,
"predicted_SLG": 0.366,
"predicted_SO": 0.579
},
"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.2943,
"predicted_3B": 0.0356,
"predicted_AB": 6.2802,
"predicted_AVG": 0.2013,
"predicted_BB": 0.3977,
"predicted_H": 1.2046,
"predicted_HBP": 0.041,
"predicted_HR": 0.22,
"predicted_OBP": 0.2474,
"predicted_R": 0.5732,
"predicted_RBI": 0.7175,
"predicted_SLG": 0.3571,
"predicted_SO": 1.0049
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 0.2943,
"delta": 0.1263,
"percent_delta": 0.7518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0356,
"delta": 0.0096,
"percent_delta": 0.3692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6,
"after": 6.2802,
"delta": 2.6802,
"percent_delta": 0.7445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2013,
"delta": -0.0157,
"percent_delta": -0.0724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.242,
"after": 0.3977,
"delta": 0.1557,
"percent_delta": 0.6434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.2046,
"delta": 0.4346,
"percent_delta": 0.5644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.22,
"delta": 0.1,
"percent_delta": 0.8333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2474,
"delta": -0.0136,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.321,
"after": 0.5732,
"delta": 0.2522,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.7175,
"delta": 0.3075,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3571,
"delta": -0.0089,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.579,
"after": 1.0049,
"delta": 0.4259,
"percent_delta": 0.7356,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6,
"after": 6.2802,
"delta": 2.6802,
"percent_delta": 0.7445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2013,
"delta": -0.0157,
"percent_delta": -0.0724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 7,
"season": 54
}
},
{
"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.2943,
"predicted_3B": 0.0356,
"predicted_AB": 6.2802,
"predicted_AVG": 0.1919,
"predicted_BB": 0.3968,
"predicted_H": 1.2051,
"predicted_HBP": 0.041,
"predicted_HR": 0.2162,
"predicted_OBP": 0.2399,
"predicted_R": 0.5756,
"predicted_RBI": 0.7204,
"predicted_SLG": 0.3533,
"predicted_SO": 1.0071
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2943,
"after": 0.2943,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0356,
"after": 0.0356,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.2802,
"after": 6.2802,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2013,
"after": 0.1919,
"delta": -0.0094,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3977,
"after": 0.3968,
"delta": -0.0009,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2046,
"after": 1.2051,
"delta": 0.0005,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2162,
"delta": -0.0038,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2474,
"after": 0.2399,
"delta": -0.0075,
"percent_delta": -0.0303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5732,
"after": 0.5756,
"delta": 0.0024,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7175,
"after": 0.7204,
"delta": 0.0029,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3571,
"after": 0.3533,
"delta": -0.0038,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0049,
"after": 1.0071,
"delta": 0.0022,
"percent_delta": 0.0022,
"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_AVG",
"before": 0.2013,
"after": 0.1919,
"delta": -0.0094,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.28), rates preserved: AVG=0.192 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2943,
"after": 0.0,
"delta": -0.2943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0356,
"after": 0.0,
"delta": -0.0356,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.2802,
"after": 6.0,
"delta": -0.2802,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3968,
"after": 0.0,
"delta": -0.3968,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2051,
"after": 1.0,
"delta": -0.2051,
"percent_delta": -0.1702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2162,
"after": 0.0,
"delta": -0.2162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7204,
"after": 1.0,
"delta": 0.2796,
"percent_delta": 0.3881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0071,
"after": 1.0,
"delta": -0.0071,
"percent_delta": -0.007,
"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_RBI",
"before": 0.7204,
"after": 1.0,
"delta": 0.2796,
"percent_delta": 0.3881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3968,
"after": 0.0,
"delta": -0.3968,
"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=8.0, weight=0.084, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 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": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5756,
"after": 1.0,
"delta": 0.4244,
"percent_delta": 0.7373,
"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.5756,
"after": 1.0,
"delta": 0.4244,
"percent_delta": 0.7373,
"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.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.1919,
"after": 0.167,
"delta": -0.0249,
"percent_delta": -0.1298,
"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.2399,
"after": 0.167,
"delta": -0.0729,
"percent_delta": -0.3039,
"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.3533,
"after": 0.167,
"delta": -0.1863,
"percent_delta": -0.5273,
"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.3533,
"after": 0.167,
"delta": -0.1863,
"percent_delta": -0.5273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 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": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1919,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2399,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3533,
"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.167,
"after": 0.1919,
"delta": 0.0249,
"percent_delta": 0.149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.2399,
"delta": 0.0729,
"percent_delta": 0.4366,
"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.167,
"after": 0.3533,
"delta": 0.1863,
"percent_delta": 1.1158,
"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.167,
"after": 0.3533,
"delta": 0.1863,
"percent_delta": 1.1158,
"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.168,
"after": 0.0,
"delta": -0.168,
"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.6,
"after": 3.0,
"delta": -0.6,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.1919,
"delta": -0.0251,
"percent_delta": -0.1157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.242,
"after": 1.0,
"delta": 0.758,
"percent_delta": 3.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.0,
"delta": 0.23,
"percent_delta": 0.2987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2399,
"delta": -0.0211,
"percent_delta": -0.0808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3533,
"delta": -0.0127,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.579,
"after": 0.0,
"delta": -0.579,
"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.242,
"after": 1.0,
"delta": 0.758,
"percent_delta": 3.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.6,
"after": 3.0,
"delta": -0.6,
"percent_delta": -0.1667,
"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.168 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.600 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.242 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.321 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.366 | - |
| predicted_SO | 0.579 | - |
Final model 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.294 | 0.126 |
| predicted_3B | 0.036 | 0.010 |
| predicted_AB | 6.280 | 2.680 |
| predicted_AVG | 0.201 | -0.016 |
| predicted_BB | 0.398 | 0.156 |
| predicted_H | 1.205 | 0.435 |
| predicted_HBP | 0.041 | - |
| predicted_HR | 0.220 | 0.100 |
| predicted_OBP | 0.247 | -0.014 |
| predicted_R | 0.573 | 0.252 |
| predicted_RBI | 0.718 | 0.308 |
| predicted_SLG | 0.357 | -0.009 |
| predicted_SO | 1.005 | 0.426 |
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.294 | 0.000 |
| predicted_3B | 0.036 | 0.000 |
| predicted_AB | 6.280 | 0.000 |
| predicted_AVG | 0.192 | -0.009 |
| predicted_BB | 0.397 | -0.001 |
| predicted_H | 1.205 | 0.001 |
| predicted_HBP | 0.041 | 0.000 |
| predicted_HR | 0.216 | -0.004 |
| predicted_OBP | 0.240 | -0.008 |
| predicted_R | 0.576 | 0.002 |
| predicted_RBI | 0.720 | 0.003 |
| predicted_SLG | 0.353 | -0.004 |
| predicted_SO | 1.007 | 0.002 |
AB rounded to 6 (raw=6.28), rates preserved: AVG=0.192 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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 | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.294 |
| predicted_3B | 0.000 | -0.036 |
| predicted_AB | 6.000 | -0.280 |
| predicted_AVG | 0.167 | -0.025 |
| predicted_BB | 0.000 | -0.397 |
| predicted_H | 1.000 | -0.205 |
| predicted_HR | 0.000 | -0.216 |
| predicted_OBP | 0.167 | -0.073 |
| predicted_R | 1.000 | 0.424 |
| predicted_RBI | 1.000 | 0.280 |
| predicted_SLG | 0.167 | -0.186 |
| predicted_SO | 1.000 | -0.007 |
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 | -3.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 2.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 3.000 | 0.1111 | 0.1579 | 0.3333 | 0.1111 | 0.0556 | 0.0556 | 0.0556 | 0.1667 |
| last_10 | 0.20 | 7 | - | 38.000 | 2.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 4.000 | 0.0526 | 0.0769 | 0.1579 | 0.0526 | 0.0263 | 0.0263 | 0.0263 | 0.1053 |
| season | 0.60 | 54 | - | 684.000 | 149.000 | 32.000 | 5.000 | 21.000 | 99.000 | 61.000 | 46.000 | 110.000 | 0.2178 | 0.2693 | 0.3713 | 0.2178 | 0.0307 | 0.1447 | 0.0673 | 0.1608 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4560 |
| predicted_3B | 0.0480 |
| predicted_AB | 9.7110 |
| predicted_AVG | 0.1813 |
| predicted_BB | 0.5970 |
| predicted_H | 1.7610 |
| predicted_HBP | 0.0410 |
| predicted_HR | 0.3480 |
| predicted_OBP | 0.2299 |
| predicted_R | 0.8960 |
| predicted_RBI | 1.1110 |
| predicted_SLG | 0.3458 |
| predicted_SO | 1.5500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1680 | 0.4560 | 0.2943 | model_form_blend |
| predicted_3B | 0.0260 | 0.0480 | 0.0356 | model_form_blend |
| predicted_AB | 3.6000 | 9.7110 | 6.2802 | model_form_blend |
| predicted_AVG | 0.2170 | 0.1813 | 0.2013 | model_form_blend |
| predicted_BB | 0.2420 | 0.5970 | 0.3977 | model_form_blend |
| predicted_H | 0.7700 | 1.7610 | 1.2046 | model_form_blend |
| predicted_HBP | - | 0.0410 | 0.0410 | form_only |
| predicted_HR | 0.1200 | 0.3480 | 0.2200 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2299 | 0.2474 | model_form_blend |
| predicted_R | 0.3210 | 0.8960 | 0.5732 | model_form_blend |
| predicted_RBI | 0.4100 | 1.1110 | 0.7175 | model_form_blend |
| predicted_SLG | 0.3660 | 0.3458 | 0.3571 | model_form_blend |
| predicted_SO | 0.5790 | 1.5500 | 1.0049 | 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 | 190 |
| Season rows before report date | 190 |
| Report year | 2026 |
| Profile rows used | 190 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.218 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 681082 |
| playerID | 681082 |
| playerName | Bryson Stott |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.282 |
| sl_xwoba | 0.302 |
| sl_xba | 0.248 |
| sl_xslg | 0.394 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 40.3 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 43.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.163 | 1.000 | 0.000 | Hitting_2B | 0.163 | 0.000 | 0.837 | 1.000 |
| predicted_3B | 0.067 | 0.000 | 0.000 | Hitting_3B | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_AB | 3.421 | 4.000 | 6.000 | Hitting_AB | 3.421 | 3.000 | 0.579 | 1.000 |
| predicted_AVG | 0.234 | 0.250 | 0.167 | Hitting_AVG | 0.236 | 0.000 | 0.014 | 0.250 |
| predicted_BB | 0.275 | 0.000 | 0.000 | Hitting_BB | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.670 | 1.000 | 1.000 | Hitting_H | 0.809 | 0.000 | 0.191 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_OBP | 0.267 | 0.250 | 0.167 | Hitting_OBP | 0.301 | 0.000 | -0.051 | 0.250 |
| predicted_R | 0.275 | 1.000 | 1.000 | Hitting_R | 0.275 | 0.000 | 0.725 | 1.000 |
| predicted_RBI | 0.240 | 1.000 | 0.000 | Hitting_RBI | 0.247 | 0.000 | 0.753 | 1.000 |
| predicted_SLG | 0.325 | 0.500 | 0.167 | Hitting_SLG | 0.363 | 0.000 | 0.137 | 0.500 |
| predicted_SO | 0.680 | 2.000 | 1.000 | Hitting_SO | 0.680 | 2.000 | 1.320 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_SO: 0.6800 -> 2.0000 (boost 1.3200, worse) |
| Biggest Deboost | predicted_BB: 0.2750 -> 0.0000 (deboost -0.2750, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.4210 -> 5.8239 (boost 2.4029, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3323 -> 0.3390 (boost 0.0067, better) | predicted_AVG: 0.2340 -> 0.2213 (deboost -0.0127, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 1 | 8 | 2 | 7 | predicted_AB: 5.8239 -> 6.0000 (boost 0.1761, better) | predicted_BB: 0.3814 -> 0.0000 (deboost -0.3814, worse) | AB rounded to 6 (raw=5.82), rates preserved: AVG=0.221 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5177 -> 1.0000 (boost 0.4823, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3390 -> 0.1670 (deboost -0.1720, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 2 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3390 (boost 0.1720, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702222",
"player_name": "Justin Crawford",
"position": "CF",
"team": "PHI",
"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.163,
"predicted_3B": 0.067,
"predicted_AB": 3.421,
"predicted_AVG": 0.234,
"predicted_BB": 0.275,
"predicted_H": 0.67,
"predicted_HR": 0.06,
"predicted_OBP": 0.267,
"predicted_R": 0.275,
"predicted_RBI": 0.24,
"predicted_SLG": 0.325,
"predicted_SO": 0.68
},
"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.2841,
"predicted_3B": 0.0911,
"predicted_AB": 5.8239,
"predicted_AVG": 0.234,
"predicted_BB": 0.3822,
"predicted_H": 1.2884,
"predicted_HBP": 0.074,
"predicted_HR": 0.0744,
"predicted_OBP": 0.2729,
"predicted_R": 0.5156,
"predicted_RBI": 0.3498,
"predicted_SLG": 0.3323,
"predicted_SO": 1.1786
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.2841,
"delta": 0.1211,
"percent_delta": 0.7429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.067,
"after": 0.0911,
"delta": 0.0241,
"percent_delta": 0.3597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.421,
"after": 5.8239,
"delta": 2.4029,
"percent_delta": 0.7024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.234,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.3822,
"delta": 0.1072,
"percent_delta": 0.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.2884,
"delta": 0.6184,
"percent_delta": 0.923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0744,
"delta": 0.0144,
"percent_delta": 0.24,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2729,
"delta": 0.0059,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.275,
"after": 0.5156,
"delta": 0.2406,
"percent_delta": 0.8749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.3498,
"delta": 0.1098,
"percent_delta": 0.4575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3323,
"delta": 0.0073,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.68,
"after": 1.1786,
"delta": 0.4986,
"percent_delta": 0.7332,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.421,
"after": 5.8239,
"delta": 2.4029,
"percent_delta": 0.7024,
"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": 6,
"season": 54
}
},
{
"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.2841,
"predicted_3B": 0.0911,
"predicted_AB": 5.8239,
"predicted_AVG": 0.2213,
"predicted_BB": 0.3814,
"predicted_H": 1.2889,
"predicted_HBP": 0.074,
"predicted_HR": 0.0731,
"predicted_OBP": 0.2692,
"predicted_R": 0.5177,
"predicted_RBI": 0.3512,
"predicted_SLG": 0.339,
"predicted_SO": 1.1812
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2841,
"after": 0.2841,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0911,
"after": 0.0911,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.8239,
"after": 5.8239,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2213,
"delta": -0.0127,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3822,
"after": 0.3814,
"delta": -0.0008,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2884,
"after": 1.2889,
"delta": 0.0005,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.074,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0744,
"after": 0.0731,
"delta": -0.0013,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2729,
"after": 0.2692,
"delta": -0.0037,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5156,
"after": 0.5177,
"delta": 0.0021,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3498,
"after": 0.3512,
"delta": 0.0014,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3323,
"after": 0.339,
"delta": 0.0067,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1786,
"after": 1.1812,
"delta": 0.0026,
"percent_delta": 0.0022,
"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.3323,
"after": 0.339,
"delta": 0.0067,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2213,
"delta": -0.0127,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.82), rates preserved: AVG=0.221 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2841,
"after": 0.0,
"delta": -0.2841,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0911,
"after": 0.0,
"delta": -0.0911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.8239,
"after": 6.0,
"delta": 0.1761,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3814,
"after": 0.0,
"delta": -0.3814,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2889,
"after": 1.0,
"delta": -0.2889,
"percent_delta": -0.2241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0731,
"after": 0.0,
"delta": -0.0731,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3512,
"after": 0.0,
"delta": -0.3512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1812,
"after": 1.0,
"delta": -0.1812,
"percent_delta": -0.1534,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 5.8239,
"after": 6.0,
"delta": 0.1761,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3814,
"after": 0.0,
"delta": -0.3814,
"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": 6.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5177,
"after": 1.0,
"delta": 0.4823,
"percent_delta": 0.9316,
"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.5177,
"after": 1.0,
"delta": 0.4823,
"percent_delta": 0.9316,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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.2213,
"after": 0.167,
"delta": -0.0543,
"percent_delta": -0.2454,
"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.2692,
"after": 0.167,
"delta": -0.1022,
"percent_delta": -0.3796,
"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.339,
"after": 0.167,
"delta": -0.172,
"percent_delta": -0.5074,
"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.339,
"after": 0.167,
"delta": -0.172,
"percent_delta": -0.5074,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"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": 4.0,
"predicted_AVG": 0.2213,
"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.2692,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.339,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.167,
"after": 0.2213,
"delta": 0.0543,
"percent_delta": 0.3252,
"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.167,
"after": 0.2692,
"delta": 0.1022,
"percent_delta": 0.6118,
"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.167,
"after": 0.339,
"delta": 0.172,
"percent_delta": 1.0302,
"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.167,
"after": 0.339,
"delta": 0.172,
"percent_delta": 1.0302,
"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.163,
"after": 1.0,
"delta": 0.837,
"percent_delta": 5.135,
"direction": "boost",
"projection_effect": "better",
"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.421,
"after": 4.0,
"delta": 0.579,
"percent_delta": 0.1692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2213,
"delta": -0.0127,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.0,
"delta": -0.275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.0,
"delta": 0.33,
"percent_delta": 0.4925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2692,
"delta": 0.0022,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.275,
"after": 1.0,
"delta": 0.725,
"percent_delta": 2.6364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.339,
"delta": 0.014,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.275,
"after": 0.0,
"delta": -0.275,
"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.163 | - |
| predicted_3B | 0.067 | - |
| predicted_AB | 3.421 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.275 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.267 | - |
| predicted_R | 0.275 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.325 | - |
| predicted_SO | 0.680 | - |
Final model 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.284 | 0.121 |
| predicted_3B | 0.091 | 0.024 |
| predicted_AB | 5.824 | 2.403 |
| predicted_AVG | 0.234 | 0.000 |
| predicted_BB | 0.382 | 0.107 |
| predicted_H | 1.288 | 0.618 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.074 | 0.014 |
| predicted_OBP | 0.273 | 0.006 |
| predicted_R | 0.516 | 0.241 |
| predicted_RBI | 0.350 | 0.110 |
| predicted_SLG | 0.332 | 0.007 |
| predicted_SO | 1.179 | 0.499 |
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.284 | 0.000 |
| predicted_3B | 0.091 | 0.000 |
| predicted_AB | 5.824 | 0.000 |
| predicted_AVG | 0.221 | -0.013 |
| predicted_BB | 0.381 | -0.001 |
| predicted_H | 1.289 | 0.000 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.073 | -0.001 |
| predicted_OBP | 0.269 | -0.004 |
| predicted_R | 0.518 | 0.002 |
| predicted_RBI | 0.351 | 0.001 |
| predicted_SLG | 0.339 | 0.007 |
| predicted_SO | 1.181 | 0.003 |
AB rounded to 6 (raw=5.82), rates preserved: AVG=0.221 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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 | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.284 |
| predicted_3B | 0.000 | -0.091 |
| predicted_AB | 6.000 | 0.176 |
| predicted_AVG | 0.167 | -0.054 |
| predicted_BB | 0.000 | -0.381 |
| predicted_H | 1.000 | -0.289 |
| predicted_HR | 0.000 | -0.073 |
| predicted_OBP | 0.167 | -0.102 |
| predicted_R | 1.000 | 0.482 |
| predicted_RBI | 0.000 | -0.351 |
| predicted_SLG | 0.167 | -0.172 |
| predicted_SO | 1.000 | -0.181 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -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 | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.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 | - | 17.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 4.000 | 0.2353 | 0.2353 | 0.2941 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.2353 |
| last_10 | 0.20 | 6 | - | 35.000 | 6.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 4.000 | 0.1714 | 0.1714 | 0.2000 | 0.1714 | 0.0000 | 0.0000 | 0.0000 | 0.1143 |
| season | 0.60 | 54 | - | 609.000 | 144.000 | 29.000 | 12.000 | 8.000 | 44.000 | 49.000 | 49.000 | 121.000 | 0.2365 | 0.3008 | 0.3629 | 0.2364 | 0.0131 | 0.0722 | 0.0805 | 0.1987 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4400 |
| predicted_3B | 0.1220 |
| predicted_AB | 8.9150 |
| predicted_AVG | 0.2339 |
| predicted_BB | 0.5200 |
| predicted_H | 2.0840 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.2805 |
| predicted_R | 0.8250 |
| predicted_RBI | 0.4910 |
| predicted_SLG | 0.3418 |
| predicted_SO | 1.8200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.4400 | 0.2841 | model_form_blend |
| predicted_3B | 0.0670 | 0.1220 | 0.0911 | model_form_blend |
| predicted_AB | 3.4210 | 8.9150 | 5.8239 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2339 | 0.2340 | model_form_blend |
| predicted_BB | 0.2750 | 0.5200 | 0.3822 | model_form_blend |
| predicted_H | 0.6700 | 2.0840 | 1.2884 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.0600 | 0.0930 | 0.0744 | model_form_blend |
| predicted_OBP | 0.2670 | 0.2805 | 0.2729 | model_form_blend |
| predicted_R | 0.2750 | 0.8250 | 0.5156 | model_form_blend |
| predicted_RBI | 0.2400 | 0.4910 | 0.3498 | model_form_blend |
| predicted_SLG | 0.3250 | 0.3418 | 0.3323 | model_form_blend |
| predicted_SO | 0.6800 | 1.8200 | 1.1786 | 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 | 178 |
| Season rows before report date | 178 |
| Report year | 2026 |
| Profile rows used | 178 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | CF |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 702222 |
| playerID | 702222 |
| playerName | Justin Crawford |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.282 |
| sl_xwoba | 0.267 |
| sl_xba | 0.231 |
| sl_xslg | 0.297 |
| sl_sweet_spot_percent | 25.5 |
| sl_barrel_batted_rate | 1.5 |
| sl_hard_hit_percent | 35.8 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 1.2 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 51.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.286 | 1.000 | -1.286 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.571 | 4.000 | -0.571 | -3.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.000 | 5.000 | -1.000 | -2.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 6.171 | 6.000 | -0.071 | 0.100 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.714 | 4.000 | 0.286 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better) | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "554430",
"player_name": "Zack Wheeler",
"position": "Starter",
"team": "PHI",
"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": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.3333,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.1,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.1,
"predicted_R": 1.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.1,
"after": 6.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.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": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 5.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.100 | -0.233 |
| predicted_SO | 6.000 | 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 | 32.200 | 8.000 | 22.000 | 4.000 | 26.000 | 5.000 | 2.2041 | 0.7959 | 0.2449 | 0.6735 | 0.1225 | 0.7959 | 0.1531 |
| last_10 | 0.35 | 7 | 43.200 | 11.000 | 28.000 | 9.000 | 40.000 | 5.000 | 2.2672 | 0.8473 | 0.2519 | 0.6412 | 0.2061 | 0.9160 | 0.1145 |
| season | 0.20 | 7 | 43.200 | 11.000 | 28.000 | 9.000 | 40.000 | 5.000 | 2.2672 | 0.8473 | 0.2519 | 0.6412 | 0.2061 | 0.9160 | 0.1145 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5290 |
| predicted_ER | 2.2350 |
| predicted_ERA | 3.1040 |
| predicted_H | 5.0990 |
| predicted_HR | 0.9150 |
| predicted_IP | 6.1000 |
| predicted_SO | 5.6580 |
| predicted_WHIP | 1.0225 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.5290 | 0.7247 | model_form_blend |
| predicted_ER | 1.0000 | 2.2350 | 1.5853 | model_form_blend |
| predicted_ERA | - | 3.1040 | 3.1040 | form_only |
| predicted_H | 3.0000 | 5.0990 | 3.9948 | model_form_blend |
| predicted_HR | 1.0000 | 0.9150 | 0.9597 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 5.0000 | 5.6580 | 5.3119 | model_form_blend |
| predicted_WHIP | - | 1.0225 | 1.0225 | 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 | 7 |
| Season rows before report date | 7 |
| Report year | 2026 |
| Profile rows used | 7 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 6 |
| HR | 1 |
| BF | 23 |
| Pitches | 93 |
| 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 | 23 |
| Pitching_ER | 4 |
| Pitching_ERA | 2.27 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 6 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 4 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 90 |
| Pitching_R | 4 |
| Pitching_SO | 4 |
| Pitching_Strikes | 56 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260529_PHI@LAD |
| game_type | full |
| mlbID | 554430 |
| playerID | 554430 |
| playerName | Zack Wheeler |
| pos | P |
| started | True |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-05-29 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.25 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 36.0 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 37.7 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 50.8 |
| sl_avg_best_speed | 77.287498772 |
| sl_avg_hyper_speed | 93.687632301 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.407 | 1.000 | -0.407 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.889 | 2.000 | -0.889 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.944 | 1.000 | 0.056 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.074 | 1.000 | -1.074 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641745",
"player_name": "Brad Keller",
"position": "Middle Reliever",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 6.000 | 3.000 | 4.000 | 1.000 | 3.6000 | 1.8000 | 0.4000 | 1.2000 | 0.6000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 3.000 | 8.000 | 3.000 | 11.000 | 2.000 | 2.7000 | 1.1000 | 0.3000 | 0.8000 | 0.3000 | 1.1000 | 0.2000 |
| season | 0.20 | 27 | 26.200 | 11.000 | 24.000 | 9.000 | 29.000 | 4.000 | 3.7125 | 1.2375 | 0.4125 | 0.9000 | 0.3375 | 1.0875 | 0.1500 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4060 |
| predicted_ER | 0.4240 |
| predicted_ERA | 3.8118 |
| predicted_H | 0.9790 |
| predicted_HR | 0.1640 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9520 |
| predicted_WHIP | 1.3842 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4060 | 0.1803 | model_form_blend |
| predicted_ER | 0.0000 | 0.4240 | 0.1883 | model_form_blend |
| predicted_ERA | - | 3.8118 | 3.8118 | form_only |
| predicted_H | 0.0000 | 0.9790 | 0.4348 | model_form_blend |
| predicted_HR | 0.0000 | 0.1640 | 0.0728 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9520 | 0.4228 | model_form_blend |
| predicted_WHIP | - | 1.3842 | 1.3842 | 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 | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.71 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 22 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 641745 |
| playerID | 641745 |
| playerName | Brad Keller |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.9 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.311 |
| sl_xwoba | 0.28 |
| sl_sweet_spot_percent | 29.2 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 45.9 |
| sl_avg_best_speed | 74.236444444 |
| sl_avg_hyper_speed | 92.786025915 |
| 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.238 | 0.000 | -0.238 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.571 | 0.000 | 1.429 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.914 | 1.000 | 0.086 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.476 | 2.000 | -1.476 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "661395",
"player_name": "Jhoan Duran",
"position": "Middle Reliever",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 1.000 | 0.000 | 8.000 | 0.000 | 0.0000 | 0.2000 | 0.0000 | 0.2000 | 0.0000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 5.000 | 2.000 | 17.000 | 1.000 | 0.9000 | 0.7000 | 0.1000 | 0.5000 | 0.2000 | 1.7000 | 0.1000 |
| season | 0.20 | 20 | 19.200 | 3.000 | 12.000 | 5.000 | 31.000 | 1.000 | 1.3729 | 0.8644 | 0.1525 | 0.6102 | 0.2542 | 1.5763 | 0.0508 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2590 |
| predicted_ER | 0.3000 |
| predicted_ERA | 2.7025 |
| predicted_H | 0.7070 |
| predicted_HR | 0.0970 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2420 |
| predicted_WHIP | 0.9666 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2590 | 0.1067 | model_form_blend |
| predicted_ER | 0.0000 | 0.3000 | 0.1236 | model_form_blend |
| predicted_ERA | - | 2.7025 | 2.7025 | form_only |
| predicted_H | 2.0000 | 0.7070 | 1.4671 | model_form_blend |
| predicted_HR | 0.0000 | 0.0970 | 0.0400 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2420 | 1.0997 | model_form_blend |
| predicted_WHIP | - | 0.9666 | 0.9666 | 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 | 20 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 12 |
| 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 | 1.37 |
| 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 | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260603_SD@PHI |
| game_type | full |
| mlbID | 661395 |
| playerID | 661395 |
| playerName | Jhoan Duran |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-03 |
| sl_k_percent | 41.9 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.219 |
| sl_xwoba | 0.243 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 55.3 |
| sl_whiff_percent | 40.5 |
| sl_swing_percent | 50.5 |
| sl_avg_best_speed | 85.067885789 |
| sl_avg_hyper_speed | 95.951698684 |
| 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.360 | 1.000 | 1.640 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.680 | 1.000 | -0.680 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.800 | 1.000 | -0.600 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.960 | 1.000 | 0.040 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "689147",
"player_name": "Orion Kerkering",
"position": "Middle Reliever",
"team": "PHI",
"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": 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": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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 | 2.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 | 5.000 | 1.000 | 3.000 | 2.000 | 10.000 | 0.000 | 1.8000 | 1.0000 | 0.2000 | 0.6000 | 0.4000 | 2.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 3.000 | 7.000 | 3.000 | 14.000 | 1.000 | 3.2400 | 1.2000 | 0.3600 | 0.8400 | 0.3600 | 1.6800 | 0.1200 |
| season | 0.20 | 25 | 22.100 | 6.000 | 17.000 | 9.000 | 24.000 | 2.000 | 2.4179 | 1.1642 | 0.2687 | 0.7612 | 0.4030 | 1.0746 | 0.0896 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2890 |
| predicted_ER | 0.2940 |
| predicted_ERA | 3.4454 |
| predicted_H | 0.6480 |
| predicted_HR | 0.0780 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.9970 |
| predicted_WHIP | 1.2197 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.2890 | 1.2721 | model_form_blend |
| predicted_ER | 0.0000 | 0.2940 | 0.1251 | model_form_blend |
| predicted_ERA | - | 3.4454 | 3.4454 | form_only |
| predicted_H | 0.0000 | 0.6480 | 0.2757 | model_form_blend |
| predicted_HR | 0.0000 | 0.0780 | 0.0332 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9970 | 0.9987 | model_form_blend |
| predicted_WHIP | - | 1.2197 | 1.2197 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 2 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.42 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260602_SD@PHI |
| game_type | full |
| mlbID | 689147 |
| playerID | 689147 |
| playerName | Orion Kerkering |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-02 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.286 |
| sl_xwoba | 0.251 |
| sl_sweet_spot_percent | 27.9 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 21.3 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 45.2 |
| sl_avg_best_speed | 68.71421 |
| sl_avg_hyper_speed | 91.570019831 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | SF 1 - 6 MIL | MIL | 0.645 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | SF 2 - 6 MIL | MIL | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| 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 | 7 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6452 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 4.501 | 5.323 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 5 | 0.6452 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 1 | 6 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 1 | 6 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 2 | 6 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5140800000000001,
"base_low_score_probability": 0.42424242424242425,
"low_score_signal_threshold": 0.5042424242424243,
"low_score_signal_strength": 0.08983757575757584,
"confidence": 0.7058800000000001,
"factors": {
"environmental": 1.1016000000000001,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.2117600000000002
},
"prediction": "low_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 7.0,
"low_score_model_expected_total_runs": 7.0,
"final_simulation_total_runs": 8,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 107,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 107,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.5327,
"bayesian_hit_rate": 0.528,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.856,
"confidence_cap": 0.78,
"raw_pick_probability": 0.8613,
"calibrated_pick_probability": 0.6452,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "MIL",
"games": 59,
"wins": 37,
"losses": 22,
"win_pct": 0.6271186440677966,
"runs_scored": 292,
"runs_allowed": 200,
"run_differential": 92,
"run_differential_per_game": 1.5593220338983051,
"available": true
},
"away": {
"team": "SF",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3870967741935484,
"runs_scored": 238,
"runs_allowed": 304,
"run_differential": -66,
"run_differential_per_game": -1.064516129032258,
"available": true
},
"run_differential_edge_per_game": 2.6238,
"win_pct_edge": 0.24,
"quality_edge": 2.9839,
"margin_adjustment": 1.2532,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 0.447,
"home_runs": 4.945,
"home_win_probability": 0.8824
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "MIL",
"guardrail_predicted_team": "MIL",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "MIL",
"output_opponent_team": "SF",
"final_score_winner": "MIL",
"pre_simulation_winner": "MIL",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 6,
"score_text": "SF 1 - 6 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "SF 2 - 6 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "MIL",
"games": 59,
"wins": 37,
"losses": 22,
"win_pct": 0.6271186440677966,
"runs_scored": 292,
"runs_allowed": 200,
"run_differential": 92,
"run_differential_per_game": 1.5593220338983051,
"available": true
},
"away": {
"team": "SF",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3870967741935484,
"runs_scored": 238,
"runs_allowed": 304,
"run_differential": -66,
"run_differential_per_game": -1.064516129032258,
"available": true
}
}
}{
"applied": true,
"raw_margin": 4.4983,
"final_margin": 4.25,
"margin_cap": 4.25,
"season_quality_edge": 2.9839,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 0.571,
"home_runs": 4.821
}
}{
"applied": false,
"raw_confidence": 0.64517,
"final_confidence": 0.64517,
"confidence_cap": 0.66,
"score_gap": 4.25,
"calibration_sample_size": 107,
"calibration_empirical_hit_rate": 0.5327,
"calibration_bayesian_hit_rate": 0.528,
"calibration_sparse_bucket": false,
"season_quality_edge": 2.9839,
"reasons": [
"unvalidated probabilities are capped for production display",
"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": 1,
"home_runs": 6,
"score_text": "SF 1 - 6 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "SF 2 - 6 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 1,
"home_runs": 6,
"confidence": 0.64517,
"home_win_probability": 0.64517,
"away_win_probability": 0.35483,
"predicted_score_text": "SF 1 - 6 MIL",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "SF",
"original_runs": 1,
"run_delta": 0.1701,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 59.0,
"quality": -0.10112533103225263,
"contact": 0.04689527825541393,
"power": 0.06699564388607455,
"discipline": -0.18038736897167895,
"xwoba": 0.314728813559322,
"recent_xwoba": 0.314728813559322,
"barrel": 8.242372881355932,
"ab_hard_contact": -0.338156533093706,
"ab_bat_speed": 69.28165227284357,
"ab_strikeout_rate": 0.2053563174574844,
"available_players": 9,
"top_players": [
{
"player_id": "656305",
"player_name": "Matt Chapman",
"position": "3B",
"weight": 7.0,
"quality": -0.7568687320285918,
"contact": -0.9439210446270221,
"power": -0.8666358937204034,
"discipline": 0.15201068800627854,
"xwoba": 0.266,
"recent_xwoba": 0.266,
"barrel": 5.3,
"ab_hard_contact": -0.5494797791699959,
"ab_bat_speed": 74.09591194968554,
"ab_strikeout_rate": 0.2362778730703259,
"available": 1.0
},
{
"player_id": "669477",
"player_name": "Casey Schmitt",
"position": "LF",
"weight": 8.0,
"quality": 0.5255098721075658,
"contact": 0.6293093394584712,
"power": 1.1427228482215563,
"discipline": -0.6203957039337475,
"xwoba": 0.351,
"recent_xwoba": 0.351,
"barrel": 14.5,
"ab_hard_contact": -0.09182874985461541,
"ab_bat_speed": 70.20570686680469,
"ab_strikeout_rate": 0.2028985507246377,
"available": 1.0
},
{
"player_id": "687551",
"player_name": "Drew Gilbert",
"position": "CF",
"weight": 5.0,
"quality": -0.4969080399159499,
"contact": -1.1506539701871263,
"power": -1.1301265063848231,
"discipline": -0.3377072372427232,
"xwoba": 0.255,
"recent_xwoba": 0.255,
"barrel": 3.3,
"ab_hard_contact": -1.3583396515060093,
"ab_bat_speed": 67.10556862745098,
"ab_strikeout_rate": 0.20735294117647057,
"available": 1.0
},
{
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "DH",
"weight": 5.0,
"quality": 0.2833857635244879,
"contact": 1.5784135858352821,
"power": 1.5975457994655469,
"discipline": 0.24814570393374735,
"xwoba": 0.391,
"recent_xwoba": 0.391,
"barrel": 12.5,
"ab_hard_contact": -0.33898877259383886,
"ab_bat_speed": 73.21211734693877,
"ab_strikeout_rate": 0.30357142857142855,
"available": 1.0
},
{
"player_id": "650333",
"player_name": "Luis Arraez",
"position": "2B",
"weight": 8.0,
"quality": -0.26419343294316705,
"contact": 0.1923921392899979,
"power": -0.996027767618862,
"discipline": 0.8198515862866884,
"xwoba": 0.309,
"recent_xwoba": 0.309,
"barrel": 0.0,
"ab_hard_contact": -0.6535077333296484,
"ab_bat_speed": 61.88162153750389,
"ab_strikeout_rate": 0.03529411764705882,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "689441",
"player_name": "Coleman Crow",
"quality": -0.08741749260649569,
"contact": -0.2343118171552493,
"command": -0.8006190476190477,
"movement": -0.8480586567551511,
"xwoba": 0.35,
"whiff": 16.2,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
},
"home": {
"team": "MIL",
"original_runs": 5,
"run_delta": 0.6077,
"adjusted_runs": 6,
"lineup": {
"players_used": 9,
"total_weight": 59.0,
"quality": 0.15769347012017013,
"contact": 0.15253878562653822,
"power": 0.19201671076924381,
"discipline": 0.3074948743441724,
"xwoba": 0.32155932203389825,
"recent_xwoba": 0.32155932203389825,
"barrel": 8.55084745762712,
"ab_hard_contact": 0.12232937276984157,
"ab_bat_speed": 70.39077173759746,
"ab_strikeout_rate": 0.22517636736548113,
"available_players": 9,
"top_players": [
{
"player_id": "668930",
"player_name": "Brice Turang",
"position": "2B",
"weight": 7.0,
"quality": 0.8988233849277798,
"contact": 1.1369487329913672,
"power": 0.7027361602879041,
"discipline": 1.2107601219231654,
"xwoba": 0.381,
"recent_xwoba": 0.381,
"barrel": 8.1,
"ab_hard_contact": 0.8063422533771103,
"ab_bat_speed": 67.52860339506172,
"ab_strikeout_rate": 0.23067129629629632,
"available": 1.0
},
{
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "1B",
"weight": 6.0,
"quality": 0.6757342241550972,
"contact": 0.9308351826967541,
"power": 1.1541132055627374,
"discipline": 0.14395739224543558,
"xwoba": 0.354,
"recent_xwoba": 0.354,
"barrel": 12.4,
"ab_hard_contact": 0.729121254111875,
"ab_bat_speed": 75.74101632395383,
"ab_strikeout_rate": 0.22954545454545452,
"available": 1.0
},
{
"player_id": "666152",
"player_name": "David Hamilton",
"position": "SS",
"weight": 5.0,
"quality": -0.5137845451593034,
"contact": -0.8981819066459201,
"power": -1.2335716132007686,
"discipline": 0.47908555355780746,
"xwoba": 0.276,
"recent_xwoba": 0.276,
"barrel": 2.6,
"ab_hard_contact": -1.712194168777299,
"ab_bat_speed": 60.515232732732734,
"ab_strikeout_rate": 0.22763157894736843,
"available": 1.0
},
{
"player_id": "686217",
"player_name": "Sal Frelick",
"position": "RF",
"weight": 6.0,
"quality": -0.46259646411922234,
"contact": -0.5369407588962266,
"power": -1.104491930676461,
"discipline": 0.8590585712083166,
"xwoba": 0.279,
"recent_xwoba": 0.279,
"barrel": 2.4,
"ab_hard_contact": -0.6513624230530547,
"ab_bat_speed": 66.94349130361365,
"ab_strikeout_rate": 0.1078014184397163,
"available": 1.0
},
{
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"weight": 8.0,
"quality": 0.2999744341613549,
"contact": 0.4637519410984403,
"power": 1.5476167293979264,
"discipline": -0.25203474719407215,
"xwoba": 0.34,
"recent_xwoba": 0.34,
"barrel": 17.8,
"ab_hard_contact": 0.7214774451013738,
"ab_bat_speed": 73.21261779448622,
"ab_strikeout_rate": 0.3078947368421052,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "605288",
"player_name": "Adrian Houser",
"quality": -0.7693250750842564,
"contact": -1.0640084285535831,
"command": -0.852047619047619,
"movement": -0.15279144564286998,
"xwoba": 0.368,
"whiff": 18.0,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 1,
"home_runs": 6,
"predicted_score_text": "SF 1 - 6 MIL",
"confidence": 0.64517,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 6,
"score_text": "SF 1 - 6 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "SF 2 - 6 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 SF | True | 1.0063 | 1.0063 | 1 | 9 | 0 |
| Home MIL | True | 1.0159 | 1.0159 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Casey Schmitt | 111 | 1.0639 | 0.8526 | neutral | 0.3510 | 0.2750 | 0.5090 | 14.50 | 43.70 | 89.40 | 21.70 | 23.60 | 20.40 | 3.10 | -0.2571 |
| SS | Willy Adames | 75 | 0.9973 | -0.0357 | neutral | 0.2950 | 0.2280 | 0.4040 | 9.20 | 42 | 88.90 | 21.80 | 27.10 | 27.30 | 5.40 | -0.4857 |
| 1B | Rafael Devers | 310 | 1.0012 | 0.0160 | neutral | 0.2900 | 0.2210 | 0.4000 | 9.90 | 49.40 | 91.70 | 11.70 | 31.50 | 30.80 | 6.50 | -0.4571 |
| 2B | Luis Arraez | 35 | 0.9817 | -0.2444 | negative_batter_regression | 0.3090 | 0.2920 | 0.3680 | 0 | 21.10 | 87.40 | 14.90 | 8.40 | 4.30 | 5.80 | -1.0286 |
| DH | Bryce Eldridge | 232 | 1.0637 | 0.8499 | positive_batter_regression | 0.3910 | 0.2980 | 0.5480 | 12.50 | 58.30 | 93.30 | 15.40 | 23.60 | 25 | 11.80 | 1.3143 |
| 3B | Matt Chapman | 66 | 0.9348 | -0.8690 | neutral | 0.2660 | 0.2050 | 0.2940 | 5.30 | 33.10 | 87.40 | 11.40 | 23.10 | 22.30 | 9.80 | -0.6571 |
| RF | Jung Hoo Lee | 117 | 1.0096 | 0.1274 | neutral | 0.3250 | 0.3030 | 0.3950 | 2.70 | 29.70 | 87.60 | 10.80 | 14.20 | 10.60 | 4.60 | -0.5143 |
| C | Eric Haase | 228 | 1.0416 | 0.5541 | neutral | 0.3830 | 0.2880 | 0.5760 | 23.10 | 30.80 | 85.90 | 16.70 | 32.40 | 24.30 | 5.40 | -0.6857 |
| CF | Drew Gilbert | 425 | 0.9629 | -0.4953 | negative_batter_regression | 0.2550 | 0.2170 | 0.3130 | 3.30 | 30.90 | 84.40 | 16.10 | 24.50 | 19.70 | 5.50 | -0.9429 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Christian Yelich | 156 | 0.9807 | -0.2570 | negative_batter_regression | 0.2890 | 0.2160 | 0.3690 | 6.40 | 35.90 | 88.70 | 2.40 | 33.60 | 29.50 | 10.10 | -1.8571 |
| LF | Jackson Chourio | 130 | 1.0321 | 0.4275 | neutral | 0.3400 | 0.2360 | 0.4910 | 17.80 | 47.90 | 92.80 | 13.90 | 26 | 26.50 | 8.80 | -0.3143 |
| C | William Contreras | 97 | 1.0389 | 0.5182 | neutral | 0.3330 | 0.2760 | 0.4200 | 6.80 | 42.60 | 90.10 | 11.30 | 19.60 | 13.10 | 9 | 0.1429 |
| 2B | Brice Turang | 11 | 1.0887 | 1.1821 | neutral | 0.3810 | 0.2720 | 0.4660 | 8.10 | 48.30 | 91.50 | 8.30 | 20.80 | 23.30 | 17.80 | 0.0286 |
| RF | Sal Frelick | 450 | 0.9629 | -0.4941 | neutral | 0.2790 | 0.2390 | 0.3190 | 2.40 | 26.80 | 85.90 | 8.40 | 10.70 | 10.50 | 8.60 | 0.1714 |
| 3B | Luis Rengifo | 503 | 0.9973 | -0.0355 | positive_batter_regression | 0.2950 | 0.2480 | 0.3370 | 4.90 | 35.20 | 87.40 | 3.80 | 19.60 | 11 | 8.80 | 1.4286 |
| CF | Garrett Mitchell | 135 | 1.0215 | 0.2871 | neutral | 0.3250 | 0.2160 | 0.3840 | 12.50 | 50 | 92.70 | 4.70 | 37.50 | 36.40 | 14.70 | -0.1429 |
| 1B | Jake Bauers | 123 | 1.0583 | 0.7776 | neutral | 0.3540 | 0.2630 | 0.4790 | 12.40 | 53.60 | 92 | 8 | 24.40 | 22.60 | 10.10 | -0.2857 |
| SS | David Hamilton | 148 | 0.9626 | -0.4991 | neutral | 0.2760 | 0.2120 | 0.2970 | 2.60 | 28.10 | 86 | 13.60 | 19 | 18.30 | 10.40 | -0.2000 |
{
"home": {
"applied": true,
"offense_factor": 1.0159,
"raw_average_factor": 1.0159,
"team_espn_average_rank": 194.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "592885",
"player_name": "Christian Yelich",
"offense_factor": 0.9807,
"quality_score": -0.257,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "592885",
"espn_id": 31283,
"player_name": "Christian Yelich",
"team": "MIL",
"role": "batter",
"espn_rank": 156,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 156,
"gp_value": 31.0,
"gp_rank": 324,
"ab_value": 116.0,
"ab_rank": 256,
"r_value": 23.0,
"r_rank": 134,
"h_value": 33.0,
"h_rank": 205,
"avg_value": 0.2844827,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 205,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 4.0,
"hr_rank": 173,
"rbi_value": 20.0,
"rbi_rank": 166,
"tb_value": 53.0,
"tb_rank": 1035,
"bb_value": 13.0,
"bb_rank": 202,
"so_value": 38.0,
"so_rank": 162,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.3565891,
"obp_rank": "-",
"slg_value": 0.4568965,
"slg_rank": "-",
"ops_value": 0.8134856,
"ops_rank": null,
"war_value": 0.69,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 94.0,
"k_percent": 29.5,
"bb_percent": 10.1,
"woba": 0.354,
"xwoba": 0.289,
"xba": 0.216,
"xslg": 0.369,
"sweet_spot_percent": 26.9,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 35.9,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 2.4,
"whiff_percent": 33.6,
"swing_percent": 45.8
},
"components": {
"expected_quality": -0.3617,
"regression_edge": -1.8571,
"xwoba_edge": -0.4714,
"xba_edge": -0.6,
"xslg_edge": -0.1,
"barrel_edge": -0.1111,
"hard_hit_edge": -0.3714,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": -1.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "694192",
"player_name": "Jackson Chourio",
"offense_factor": 1.0321,
"quality_score": 0.4275,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694192",
"espn_id": 4917869,
"player_name": "Jackson Chourio",
"team": "MIL",
"role": "batter",
"espn_rank": 130,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 130,
"gp_value": 25.0,
"gp_rank": 357,
"ab_value": 103.0,
"ab_rank": 283,
"r_value": 15.0,
"r_rank": 236,
"h_value": 30.0,
"h_rank": 228,
"avg_value": 0.2912621,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 12.0,
"rbi_rank": 265,
"tb_value": 45.0,
"tb_rank": 1467,
"bb_value": 10.0,
"bb_rank": 253,
"so_value": 30.0,
"so_rank": 222,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.3539823,
"obp_rank": "-",
"slg_value": 0.4368932,
"slg_rank": "-",
"ops_value": 0.7908755,
"ops_rank": null,
"war_value": 0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 87.0,
"k_percent": 26.5,
"bb_percent": 8.8,
"woba": 0.351,
"xwoba": 0.34,
"xba": 0.236,
"xslg": 0.491,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 17.8,
"hard_hit_percent": 47.9,
"exit_velocity_avg": 92.8,
"launch_angle_avg": 13.9,
"whiff_percent": 26.0,
"swing_percent": 45.5
},
"components": {
"expected_quality": 1.1559,
"regression_edge": -0.3143,
"xwoba_edge": 0.9857,
"xba_edge": -0.0286,
"xslg_edge": 1.6429,
"barrel_edge": 2.4222,
"hard_hit_edge": 1.3429,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": 0.3833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "661388",
"player_name": "William Contreras",
"offense_factor": 1.0389,
"quality_score": 0.5182,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661388",
"espn_id": 39895,
"player_name": "William Contreras",
"team": "MIL",
"role": "batter",
"espn_rank": 97,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 97,
"gp_value": 55.0,
"gp_rank": 140,
"ab_value": 219.0,
"ab_rank": 61,
"r_value": 31.0,
"r_rank": 58,
"h_value": 63.0,
"h_rank": 27,
"avg_value": 0.2876712,
"avg_rank": 25.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 4.0,
"hr_rank": 173,
"rbi_value": 36.0,
"rbi_rank": 30,
"tb_value": 85.0,
"tb_rank": 958,
"bb_value": 22.0,
"bb_rank": 79,
"so_value": 32.0,
"so_rank": 210,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3510204,
"obp_rank": "52",
"slg_value": 0.3881278,
"slg_rank": "112",
"ops_value": 0.7391482,
"ops_rank": 90.0,
"war_value": 1.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 13.1,
"bb_percent": 9.0,
"woba": 0.328,
"xwoba": 0.333,
"xba": 0.276,
"xslg": 0.42,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 42.6,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 11.3,
"whiff_percent": 19.6,
"swing_percent": 47.0
},
"components": {
"expected_quality": 0.5961,
"regression_edge": 0.1429,
"xwoba_edge": 0.7857,
"xba_edge": 1.1143,
"xslg_edge": 0.6286,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.5857,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.6333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "668930",
"player_name": "Brice Turang",
"offense_factor": 1.0887,
"quality_score": 1.1821,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668930",
"espn_id": 41179,
"player_name": "Brice Turang",
"team": "MIL",
"role": "batter",
"espn_rank": 11,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 11,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 204.0,
"ab_rank": 105,
"r_value": 46.0,
"r_rank": 3,
"h_value": 56.0,
"h_rank": 66,
"avg_value": 0.2745098,
"avg_rank": 48.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 35.0,
"rbi_rank": 36,
"tb_value": 93.0,
"tb_rank": 367,
"bb_value": 45.0,
"bb_rank": 5,
"so_value": 59.0,
"so_rank": 48,
"sb_value": 10.0,
"sb_rank": 20,
"obp_value": 0.4023904,
"obp_rank": "6",
"slg_value": 0.4558823,
"slg_rank": "57",
"ops_value": 0.8582727,
"ops_rank": 27.0,
"war_value": 2.69,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 23.3,
"bb_percent": 17.8,
"woba": 0.38,
"xwoba": 0.381,
"xba": 0.272,
"xslg": 0.466,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 48.3,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 8.3,
"whiff_percent": 20.8,
"swing_percent": 40.7
},
"components": {
"expected_quality": 1.3953,
"regression_edge": 0.0286,
"xwoba_edge": 2.1571,
"xba_edge": 1.0,
"xslg_edge": 1.2857,
"barrel_edge": 0.2667,
"hard_hit_edge": 1.4,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 0.9333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "686217",
"player_name": "Sal Frelick",
"offense_factor": 0.9629,
"quality_score": -0.4941,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686217",
"espn_id": 4417795,
"player_name": "Sal Frelick",
"team": "MIL",
"role": "batter",
"espn_rank": 450,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 450,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 183.0,
"ab_rank": 140,
"r_value": 24.0,
"r_rank": 129,
"h_value": 41.0,
"h_rank": 158,
"avg_value": 0.2240437,
"avg_rank": 135.0,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 19.0,
"rbi_rank": 184,
"tb_value": 57.0,
"tb_rank": 1293,
"bb_value": 18.0,
"bb_rank": 137,
"so_value": 22.0,
"so_rank": 303,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.2926829,
"obp_rank": "139",
"slg_value": 0.3114754,
"slg_rank": "163",
"ops_value": 0.6041583,
"ops_rank": 162.0,
"war_value": -0.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 10.5,
"bb_percent": 8.6,
"woba": 0.273,
"xwoba": 0.279,
"xba": 0.239,
"xslg": 0.319,
"sweet_spot_percent": 27.4,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 26.8,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 8.4,
"whiff_percent": 10.7,
"swing_percent": 42.1
},
"components": {
"expected_quality": -0.7148,
"regression_edge": 0.1714,
"xwoba_edge": -0.7571,
"xba_edge": 0.0571,
"xslg_edge": -0.8143,
"barrel_edge": -1.0,
"hard_hit_edge": -1.6714,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": -0.9833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "650859",
"player_name": "Luis Rengifo",
"offense_factor": 0.9973,
"quality_score": -0.0355,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "650859",
"espn_id": 37237,
"player_name": "Luis Rengifo",
"team": "MIL",
"role": "batter",
"espn_rank": 503,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 503,
"gp_value": 49.0,
"gp_rank": 188,
"ab_value": 162.0,
"ab_rank": 179,
"r_value": 15.0,
"r_rank": 236,
"h_value": 33.0,
"h_rank": 205,
"avg_value": 0.2037037,
"avg_rank": 161.0,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 15.0,
"rbi_rank": 229,
"tb_value": 41.0,
"tb_rank": 1914,
"bb_value": 16.0,
"bb_rank": 164,
"so_value": 20.0,
"so_rank": 321,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.2777777,
"obp_rank": "156",
"slg_value": 0.2530864,
"slg_rank": "173",
"ops_value": 0.5308641,
"ops_rank": 173.0,
"war_value": -0.53,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 163.0,
"k_percent": 11.0,
"bb_percent": 8.8,
"woba": 0.245,
"xwoba": 0.295,
"xba": 0.248,
"xslg": 0.337,
"sweet_spot_percent": 28.3,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 35.2,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 3.8,
"whiff_percent": 19.6,
"swing_percent": 49.9
},
"components": {
"expected_quality": -0.2883,
"regression_edge": 1.4286,
"xwoba_edge": -0.3,
"xba_edge": 0.3143,
"xslg_edge": -0.5571,
"barrel_edge": -0.4444,
"hard_hit_edge": -0.4714,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": -0.8333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"offense_factor": 1.0215,
"quality_score": 0.2871,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669003",
"espn_id": 4313442,
"player_name": "Garrett Mitchell",
"team": "MIL",
"role": "batter",
"espn_rank": 135,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 135,
"gp_value": 51.0,
"gp_rank": 177,
"ab_value": 153.0,
"ab_rank": 193,
"r_value": 22.0,
"r_rank": 150,
"h_value": 36.0,
"h_rank": 185,
"avg_value": 0.2352941,
"avg_rank": 119.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 28.0,
"rbi_rank": 80,
"tb_value": 57.0,
"tb_rank": 993,
"bb_value": 27.0,
"bb_rank": 46,
"so_value": 67.0,
"so_rank": 24,
"sb_value": 6.0,
"sb_rank": 61,
"obp_value": 0.3551912,
"obp_rank": "47",
"slg_value": 0.372549,
"slg_rank": "125",
"ops_value": 0.7277402,
"ops_rank": 98.0,
"war_value": 0.82,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 161.0,
"k_percent": 36.4,
"bb_percent": 14.7,
"woba": 0.33,
"xwoba": 0.325,
"xba": 0.216,
"xslg": 0.384,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 92.7,
"launch_angle_avg": 4.7,
"whiff_percent": 37.5,
"swing_percent": 41.7
},
"components": {
"expected_quality": 0.4795,
"regression_edge": -0.1429,
"xwoba_edge": 0.5571,
"xba_edge": -0.6,
"xslg_edge": 0.1143,
"barrel_edge": 1.2444,
"hard_hit_edge": 1.6429,
"exit_velocity_edge": 1.56,
"sweet_spot_edge": -0.8167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "641343",
"player_name": "Jake Bauers",
"offense_factor": 1.0583,
"quality_score": 0.7776,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641343",
"espn_id": 35013,
"player_name": "Jake Bauers",
"team": "MIL",
"role": "batter",
"espn_rank": 123,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 123,
"gp_value": 52.0,
"gp_rank": 169,
"ab_value": 185.0,
"ab_rank": 138,
"r_value": 32.0,
"r_rank": 56,
"h_value": 50.0,
"h_rank": 98,
"avg_value": 0.2702702,
"avg_rank": 56.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 10.0,
"hr_rank": 42,
"rbi_value": 36.0,
"rbi_rank": 30,
"tb_value": 90.0,
"tb_rank": 636,
"bb_value": 21.0,
"bb_rank": 96,
"so_value": 47.0,
"so_rank": 101,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.3509615,
"obp_rank": "52",
"slg_value": 0.4864864,
"slg_rank": "31",
"ops_value": 0.8374479,
"ops_rank": 36.0,
"war_value": 0.9,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 174.0,
"k_percent": 22.6,
"bb_percent": 10.1,
"woba": 0.364,
"xwoba": 0.354,
"xba": 0.263,
"xslg": 0.479,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 12.4,
"hard_hit_percent": 53.6,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 8.0,
"whiff_percent": 24.4,
"swing_percent": 42.2
},
"components": {
"expected_quality": 1.1897,
"regression_edge": -0.2857,
"xwoba_edge": 1.3857,
"xba_edge": 0.7429,
"xslg_edge": 1.4714,
"barrel_edge": 1.2222,
"hard_hit_edge": 2.1571,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": -0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "666152",
"player_name": "David Hamilton",
"offense_factor": 0.9626,
"quality_score": -0.4991,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666152",
"espn_id": 42987,
"player_name": "David Hamilton",
"team": "MIL",
"role": "batter",
"espn_rank": 148,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 148,
"gp_value": 49.0,
"gp_rank": 188,
"ab_value": 139.0,
"ab_rank": 217,
"r_value": 26.0,
"r_rank": 105,
"h_value": 32.0,
"h_rank": 219,
"avg_value": 0.2302158,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 9.0,
"rbi_rank": 306,
"tb_value": 40.0,
"tb_rank": 1615,
"bb_value": 17.0,
"bb_rank": 146,
"so_value": 30.0,
"so_rank": 222,
"sb_value": 13.0,
"sb_rank": 12,
"obp_value": 0.3184713,
"obp_rank": "-",
"slg_value": 0.2877697,
"slg_rank": "-",
"ops_value": 0.606241,
"ops_rank": null,
"war_value": 0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 133.0,
"k_percent": 18.3,
"bb_percent": 10.4,
"woba": 0.283,
"xwoba": 0.276,
"xba": 0.212,
"xslg": 0.297,
"sweet_spot_percent": 21.7,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 28.1,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 13.6,
"whiff_percent": 19.0,
"swing_percent": 45.2
},
"components": {
"expected_quality": -0.9274,
"regression_edge": -0.2,
"xwoba_edge": -0.8429,
"xba_edge": -0.7143,
"xslg_edge": -1.1286,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.4857,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -1.9333,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0063,
"raw_average_factor": 1.0063,
"team_espn_average_rank": 177.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "669477",
"player_name": "Casey Schmitt",
"offense_factor": 1.0639,
"quality_score": 0.8526,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669477",
"espn_id": 4301949,
"player_name": "Casey Schmitt",
"team": "SF",
"role": "batter",
"espn_rank": 111,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 111,
"gp_value": 54.0,
"gp_rank": 150,
"ab_value": 211.0,
"ab_rank": 88,
"r_value": 27.0,
"r_rank": 92,
"h_value": 59.0,
"h_rank": 46,
"avg_value": 0.2796208,
"avg_rank": 40.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 12.0,
"hr_rank": 31,
"rbi_value": 33.0,
"rbi_rank": 42,
"tb_value": 109.0,
"tb_rank": 284,
"bb_value": 7.0,
"bb_rank": 305,
"so_value": 46.0,
"so_rank": 112,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.3155555,
"obp_rank": "109",
"slg_value": 0.5165876,
"slg_rank": "19",
"ops_value": 0.8321431,
"ops_rank": 39.0,
"war_value": 1.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 190.0,
"k_percent": 20.4,
"bb_percent": 3.1,
"woba": 0.36,
"xwoba": 0.351,
"xba": 0.275,
"xslg": 0.509,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 14.5,
"hard_hit_percent": 43.7,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 21.7,
"whiff_percent": 23.6,
"swing_percent": 52.1
},
"components": {
"expected_quality": 1.1897,
"regression_edge": -0.2571,
"xwoba_edge": 1.3,
"xba_edge": 1.0857,
"xslg_edge": 1.9,
"barrel_edge": 1.6889,
"hard_hit_edge": 0.7429,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": 0.5333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "642715",
"player_name": "Willy Adames",
"offense_factor": 0.9973,
"quality_score": -0.0357,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642715",
"espn_id": 33675,
"player_name": "Willy Adames",
"team": "SF",
"role": "batter",
"espn_rank": 75,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 75,
"gp_value": 61.0,
"gp_rank": 28,
"ab_value": 244.0,
"ab_rank": 8,
"r_value": 29.0,
"r_rank": 75,
"h_value": 59.0,
"h_rank": 46,
"avg_value": 0.2418032,
"avg_rank": 102.0,
"2b_value": 17.0,
"2b_rank": 4,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 9.0,
"hr_rank": 53,
"rbi_value": 24.0,
"rbi_rank": 125,
"tb_value": 105.0,
"tb_rank": 315,
"bb_value": 14.0,
"bb_rank": 190,
"so_value": 71.0,
"so_rank": 20,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.2846153,
"obp_rank": "150",
"slg_value": 0.4303278,
"slg_rank": "77",
"ops_value": 0.7149431,
"ops_rank": 105.0,
"war_value": 1.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 228.0,
"k_percent": 27.3,
"bb_percent": 5.4,
"woba": 0.312,
"xwoba": 0.295,
"xba": 0.228,
"xslg": 0.404,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 42.0,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 21.8,
"whiff_percent": 27.1,
"swing_percent": 48.8
},
"components": {
"expected_quality": 0.0375,
"regression_edge": -0.4857,
"xwoba_edge": -0.3,
"xba_edge": -0.2571,
"xslg_edge": 0.4,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.5,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "646240",
"player_name": "Rafael Devers",
"offense_factor": 1.0012,
"quality_score": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "646240",
"espn_id": 33859,
"player_name": "Rafael Devers",
"team": "SF",
"role": "batter",
"espn_rank": 310,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 310,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 240.0,
"ab_rank": 14,
"r_value": 26.0,
"r_rank": 105,
"h_value": 58.0,
"h_rank": 54,
"avg_value": 0.2416666,
"avg_rank": 102.0,
"2b_value": 18.0,
"2b_rank": 3,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 30.0,
"rbi_rank": 63,
"tb_value": 99.0,
"tb_rank": 397,
"bb_value": 17.0,
"bb_rank": 146,
"so_value": 80.0,
"so_rank": 7,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.2923076,
"obp_rank": "140",
"slg_value": 0.4125,
"slg_rank": "89",
"ops_value": 0.7048076,
"ops_rank": 114.0,
"war_value": 0.03,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 223.0,
"k_percent": 30.8,
"bb_percent": 6.5,
"woba": 0.306,
"xwoba": 0.29,
"xba": 0.221,
"xslg": 0.4,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 49.4,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 11.7,
"whiff_percent": 31.5,
"swing_percent": 51.1
},
"components": {
"expected_quality": 0.093,
"regression_edge": -0.4571,
"xwoba_edge": -0.4429,
"xba_edge": -0.4571,
"xslg_edge": 0.3429,
"barrel_edge": 0.6667,
"hard_hit_edge": 1.5571,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "650333",
"player_name": "Luis Arraez",
"offense_factor": 0.9817,
"quality_score": -0.2444,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "650333",
"espn_id": 39572,
"player_name": "Luis Arraez",
"team": "SF",
"role": "batter",
"espn_rank": 35,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 35,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 230.0,
"ab_rank": 27,
"r_value": 30.0,
"r_rank": 67,
"h_value": 74.0,
"h_rank": 2,
"avg_value": 0.3217391,
"avg_rank": 3.0,
"2b_value": 11.0,
"2b_rank": 61,
"3b_value": 4.0,
"3b_rank": 2,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 23.0,
"rbi_rank": 134,
"tb_value": 99.0,
"tb_rank": 855,
"bb_value": 15.0,
"bb_rank": 173,
"so_value": 11.0,
"so_rank": 404,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.3636363,
"obp_rank": "36",
"slg_value": 0.4304347,
"slg_rank": "77",
"ops_value": 0.794071,
"ops_rank": 63.0,
"war_value": 2.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 4.3,
"bb_percent": 5.8,
"woba": 0.345,
"xwoba": 0.309,
"xba": 0.292,
"xslg": 0.368,
"sweet_spot_percent": 41.2,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 21.1,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 14.9,
"whiff_percent": 8.4,
"swing_percent": 51.4
},
"components": {
"expected_quality": -0.1233,
"regression_edge": -1.0286,
"xwoba_edge": 0.1,
"xba_edge": 1.5714,
"xslg_edge": -0.1143,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.4857,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 1.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"offense_factor": 1.0637,
"quality_score": 0.8499,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "805811",
"espn_id": 5149064,
"player_name": "Bryce Eldridge",
"team": "SF",
"role": "batter",
"espn_rank": 232,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 232,
"gp_value": 21.0,
"gp_rank": 381,
"ab_value": 66.0,
"ab_rank": 361,
"r_value": 9.0,
"r_rank": 324,
"h_value": 17.0,
"h_rank": 330,
"avg_value": 0.2575757,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 5.0,
"rbi_rank": 374,
"tb_value": 30.0,
"tb_rank": 1633,
"bb_value": 9.0,
"bb_rank": 271,
"so_value": 19.0,
"so_rank": 330,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3421052,
"obp_rank": "-",
"slg_value": 0.4545454,
"slg_rank": "-",
"ops_value": 0.7966506,
"ops_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 46.0,
"k_percent": 25.0,
"bb_percent": 11.8,
"woba": 0.345,
"xwoba": 0.391,
"xba": 0.298,
"xslg": 0.548,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 58.3,
"exit_velocity_avg": 93.3,
"launch_angle_avg": 15.4,
"whiff_percent": 23.6,
"swing_percent": 47.4
},
"components": {
"expected_quality": 1.9821,
"regression_edge": 1.3143,
"xwoba_edge": 2.4429,
"xba_edge": 1.7429,
"xslg_edge": 2.4571,
"barrel_edge": 1.2444,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.8,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "656305",
"player_name": "Matt Chapman",
"offense_factor": 0.9348,
"quality_score": -0.869,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656305",
"espn_id": 33857,
"player_name": "Matt Chapman",
"team": "SF",
"role": "batter",
"espn_rank": 66,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 66,
"gp_value": 61.0,
"gp_rank": 28,
"ab_value": 229.0,
"ab_rank": 31,
"r_value": 27.0,
"r_rank": 92,
"h_value": 52.0,
"h_rank": 91,
"avg_value": 0.2270742,
"avg_rank": 131.0,
"2b_value": 15.0,
"2b_rank": 12,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 21.0,
"rbi_rank": 154,
"tb_value": 75.0,
"tb_rank": 1001,
"bb_value": 25.0,
"bb_rank": 62,
"so_value": 57.0,
"so_rank": 55,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3085937,
"obp_rank": "124",
"slg_value": 0.3275109,
"slg_rank": "154",
"ops_value": 0.6361046,
"ops_rank": 145.0,
"war_value": 1.52,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 221.0,
"k_percent": 22.3,
"bb_percent": 9.8,
"woba": 0.289,
"xwoba": 0.266,
"xba": 0.205,
"xslg": 0.294,
"sweet_spot_percent": 22.1,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 33.1,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 11.4,
"whiff_percent": 23.1,
"swing_percent": 43.9
},
"components": {
"expected_quality": -0.9035,
"regression_edge": -0.6571,
"xwoba_edge": -1.1286,
"xba_edge": -0.9143,
"xslg_edge": -1.1714,
"barrel_edge": -0.3556,
"hard_hit_edge": -0.7714,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": -1.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "808982",
"player_name": "Jung Hoo Lee",
"offense_factor": 1.0096,
"quality_score": 0.1274,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808982",
"espn_id": 5134621,
"player_name": "Jung Hoo Lee",
"team": "SF",
"role": "batter",
"espn_rank": 117,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 117,
"gp_value": 54.0,
"gp_rank": 150,
"ab_value": 203.0,
"ab_rank": 108,
"r_value": 25.0,
"r_rank": 120,
"h_value": 63.0,
"h_rank": 27,
"avg_value": 0.3103448,
"avg_rank": 10.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 20.0,
"rbi_rank": 166,
"tb_value": 88.0,
"tb_rank": 712,
"bb_value": 10.0,
"bb_rank": 253,
"so_value": 23.0,
"so_rank": 292,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3456221,
"obp_rank": "62",
"slg_value": 0.4334975,
"slg_rank": "74",
"ops_value": 0.7791196,
"ops_rank": 71.0,
"war_value": 0.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 193.0,
"k_percent": 10.6,
"bb_percent": 4.6,
"woba": 0.343,
"xwoba": 0.325,
"xba": 0.303,
"xslg": 0.395,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 29.7,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 10.8,
"whiff_percent": 14.2,
"swing_percent": 46.7
},
"components": {
"expected_quality": 0.2526,
"regression_edge": -0.5143,
"xwoba_edge": 0.5571,
"xba_edge": 1.8857,
"xslg_edge": 0.2714,
"barrel_edge": -0.9333,
"hard_hit_edge": -1.2571,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 0.7667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "606992",
"player_name": "Eric Haase",
"offense_factor": 1.0416,
"quality_score": 0.5541,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606992",
"espn_id": 33452,
"player_name": "Eric Haase",
"team": "SF",
"role": "batter",
"espn_rank": 228,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 228,
"gp_value": 13.0,
"gp_rank": 426,
"ab_value": 35.0,
"ab_rank": 419,
"r_value": 6.0,
"r_rank": 375,
"h_value": 10.0,
"h_rank": 385,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 5.0,
"rbi_rank": 374,
"tb_value": 22.0,
"tb_rank": 1652,
"bb_value": 2.0,
"bb_rank": 422,
"so_value": 9.0,
"so_rank": 419,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3243243,
"obp_rank": "-",
"slg_value": 0.6285714,
"slg_rank": "-",
"ops_value": 0.9528957,
"ops_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 29.0,
"k_percent": 24.3,
"bb_percent": 5.4,
"woba": 0.407,
"xwoba": 0.383,
"xba": 0.288,
"xslg": 0.576,
"sweet_spot_percent": 42.3,
"barrel_batted_rate": 23.1,
"hard_hit_percent": 30.8,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 16.7,
"whiff_percent": 32.4,
"swing_percent": 52.6
},
"components": {
"expected_quality": 1.5433,
"regression_edge": -0.6857,
"xwoba_edge": 2.2143,
"xba_edge": 1.4571,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": -1.1,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": 1.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "687551",
"player_name": "Drew Gilbert",
"offense_factor": 0.9629,
"quality_score": -0.4953,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "687551",
"espn_id": 4619467,
"player_name": "Drew Gilbert",
"team": "SF",
"role": "batter",
"espn_rank": 425,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 425,
"gp_value": 43.0,
"gp_rank": 237,
"ab_value": 118.0,
"ab_rank": 252,
"r_value": 12.0,
"r_rank": 279,
"h_value": 27.0,
"h_rank": 246,
"avg_value": 0.2288135,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 235,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 12.0,
"rbi_rank": 265,
"tb_value": 45.0,
"tb_rank": 1127,
"bb_value": 7.0,
"bb_rank": 305,
"so_value": 25.0,
"so_rank": 274,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.2777777,
"obp_rank": "-",
"slg_value": 0.3813559,
"slg_rank": "-",
"ops_value": 0.6591336,
"ops_rank": null,
"war_value": -0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 105.0,
"k_percent": 19.7,
"bb_percent": 5.5,
"woba": 0.288,
"xwoba": 0.255,
"xba": 0.217,
"xslg": 0.313,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 30.9,
"exit_velocity_avg": 84.4,
"launch_angle_avg": 16.1,
"whiff_percent": 24.5,
"swing_percent": 44.9
},
"components": {
"expected_quality": -1.0533,
"regression_edge": -0.9429,
"xwoba_edge": -1.4429,
"xba_edge": -0.5714,
"xslg_edge": -0.9,
"barrel_edge": -0.8,
"hard_hit_edge": -1.0857,
"exit_velocity_edge": -1.76,
"sweet_spot_edge": -0.7667,
"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 SF | True | 655 | -0.8075 | 0.9320 | 1.0686 | 0.9111 | 0.9814 | 1.1084 | neutral | 0.3680 | 0.3720 | 13.60 | 8.20 | 18 | 9.10 | 44.90 | |
| Home MIL | True | 305 | -0.2793 | 0.4500 | 1.0237 | 0.9529 | 0.9640 | 1.0338 | negative_pitcher_regression | 0.3500 | 0.2710 | 13.80 | 5.20 | 16.20 | 10.90 | 34.80 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SF | True | None | 81 | 91.24 | 2079 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0863 | |
| Home MIL | True | None | 72 | 85.34 | 2835 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2441 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0107 |
| home_runs_vs_away_pitcher | 1.0639 |
| home_pitcher_quality_edge | 0.5282 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "689441",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 40.0,
"k_percent": 13.8,
"bb_percent": 5.2,
"woba": 0.271,
"xwoba": 0.35,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 34.8,
"avg_best_speed": 77.1998,
"avg_hyper_speed": 93.4512,
"whiff_percent": 16.2,
"swing_percent": 51.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.3268,
"command_and_miss": -0.8393,
"regression_edge": -2.0,
"xwoba_edge": -1.0,
"barrel_edge": -0.8222,
"hard_hit_edge": 0.5143,
"whiff_edge": -1.3714,
"bb_edge": 1.0,
"pitch_design_score": -0.2441
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "689441",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 72,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 72,
"pitch_usage": 0.0,
"release_speed": 85.34118601986249,
"release_spin_rate": 2835.3519862490452,
"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": 72,
"pitch_usage": 0.0,
"release_speed": 85.34118601986249,
"release_spin_rate": 2835.3519862490452,
"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": 85.3412,
"release_spin_rate": 2835.352,
"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.2441,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.7436,
"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.2793,
"sample_weight": 0.45,
"run_prevention_factor": 1.0237,
"strikeout_factor": 0.9529,
"walk_factor": 0.964,
"homer_factor": 1.0338,
"woba_minus_xwoba": -0.079,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "689441",
"espn_id": 5127100,
"player_name": "Coleman Crow",
"team": "MIL",
"role": "pitcher",
"espn_rank": 305,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 305,
"gp_value": 3.0,
"gp_rank": 514,
"gs_value": 3.0,
"gs_rank": 172,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.1395,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 14.1,
"ip_rank": 411,
"h_value": 11.0,
"h_rank": 431,
"er_value": 5.0,
"er_rank": 444,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 3.0,
"bb_rank": 505,
"k_value": 8.0,
"k_rank": 462,
"k_per_9_value": 5.023256,
"k_per_9_rank": 30,
"whip_value": 0.9767,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "605288",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 233.0,
"k_percent": 13.6,
"bb_percent": 8.2,
"woba": 0.372,
"xwoba": 0.368,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 44.9,
"avg_best_speed": 79.343,
"avg_hyper_speed": 95.2904,
"whiff_percent": 18.0,
"swing_percent": 46.2
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -1.1565,
"command_and_miss": -0.9121,
"regression_edge": 0.1143,
"xwoba_edge": -1.5143,
"barrel_edge": -0.4222,
"hard_hit_edge": -0.9286,
"whiff_edge": -1.1143,
"bb_edge": 0.25,
"pitch_design_score": 0.0863
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "605288",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 81,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 91.24192215447832,
"release_spin_rate": 2078.534930925795,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 91.24192215447832,
"release_spin_rate": 2078.534930925795,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.2419,
"release_spin_rate": 2078.5349,
"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.0863,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6166,
"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.8075,
"sample_weight": 0.932,
"run_prevention_factor": 1.0686,
"strikeout_factor": 0.9111,
"walk_factor": 0.9814,
"homer_factor": 1.1084,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605288",
"espn_id": 32157,
"player_name": "Adrian Houser",
"team": "SF",
"role": "pitcher",
"espn_rank": 655,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 655,
"gp_value": 11.0,
"gp_rank": 322,
"gs_value": 11.0,
"gs_rank": 70,
"qs_value": 2.0,
"qs_rank": 103,
"era_value": 5.5917,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 5.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 56.1,
"ip_rank": 94,
"h_value": 67.0,
"h_rank": 22,
"er_value": 35.0,
"er_rank": 15,
"hr_value": 9.0,
"hr_rank": 40,
"bb_value": 21.0,
"bb_rank": 62,
"k_value": 35.0,
"k_rank": 147,
"k_per_9_value": 5.591716,
"k_per_9_rank": 42,
"whip_value": 1.5621,
"whip_rank": null,
"war_value": -0.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0107,
"home_runs_vs_away_pitcher": 1.0639,
"home_pitcher_quality_edge": 0.5282
},
"score_before": {
"away_runs": 1.0,
"home_runs": 4.0
},
"score_after": {
"away_runs": 1.0107,
"home_runs": 4.2557,
"home_win_probability": 0.7853
},
"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 SF | 12-45 | 0.211 | 1.30 | 4.10 | -161 | cold | average | |
| Home MIL | 20-32 | 0.385 | 1.40 | 2.50 | -60 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away SF | 24-38 | 0.387 | -66 | -1.065 | True |
| Home MIL | 37-22 | 0.627 | 92 | 1.559 | True |
| Signal | - | - | 2.624 | 2.984 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target SF | - | - | 1 | - | - | - | - |
| Game target MIL | - | - | 6 | - | - | - | - |
| Player finalized SF | 59 | 13 | 9 | 0 | 6 | 5 | 12 |
| Player finalized MIL | 59 | 14 | 10 | 0 | 7 | 9 | 14 |
| Player model fractional SF | 59.05 | 14.64 | 6.70 | 1.74 | 6.39 | 3.93 | 12.71 |
| Player model fractional MIL | 59.88 | 15.34 | 10.39 | 1.49 | 9.03 | 7.61 | 13.70 |
| Simulation box SF | 31 | 5 | 2 | 0 | 2 | 3 | 12 |
| Simulation box MIL | 33 | 9 | 6 | 0 | 6 | 6 | 7 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away SF | Starter | Adrian Houser | 4.20 | 6 | 3 | 9 | 6 | 4.75 | 1.44 | True |
| Away SF | Middle Reliever | Keaton Winn | 1.10 | 0 | 1 | 0 | 0 | 3.20 | 1.13 | True |
| Away SF | Middle Reliever | Caleb Kilian | 1 | 0 | 0 | 0 | 0 | 5.81 | 1.38 | True |
| Away SF | Middle Reliever | Sam Hentges | 0.10 | 0 | 1 | 0 | 0 | 4.08 | 1.48 | True |
| Away SF | Middle Reliever | Erik Miller | 0.20 | 0 | 2 | 0 | 0 | 4.26 | 1.36 | True |
| Home MIL | Starter | Coleman Crow | 4.20 | 1 | 8 | 3 | 1 | 3.89 | 1.19 | True |
| Home MIL | Middle Reliever | Aaron Ashby | 1.10 | 0 | 1 | 0 | 0 | 2.72 | 1.20 | True |
| Home MIL | Middle Reliever | Abner Uribe | 1 | 0 | 1 | 1 | 0 | 3.80 | 1.36 | True |
| Home MIL | Middle Reliever | Trevor Megill | 1 | 1 | 1 | 1 | 2 | 2.85 | 0.99 | True |
| Home MIL | Middle Reliever | DL Hall | 1 | 0 | 1 | 0 | 0 | 3.48 | 1.31 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | SF | batter | SS | Willy Adames | worse | 9 | 2 | 7 | 3 | 6 | predicted_AB | -2.3200 | deboost | worse |
| away | SF | batter | LF | Casey Schmitt | worse | 12 | 2 | 10 | 1 | 11 | predicted_SO | 2.1700 | boost | worse |
| home | MIL | batter | 3B | Luis Rengifo | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_RBI | 1.8700 | boost | better |
| away | SF | batter | 2B | Luis Arraez | worse | 12 | 2 | 10 | 1 | 11 | predicted_SO | 1.8140 | boost | worse |
| home | MIL | batter | LF | Jackson Chourio | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_BB | 1.6910 | boost | better |
| away | SF | batter | DH | Bryce Eldridge | worse | 11 | 4 | 7 | 3 | 8 | predicted_RBI | 1.6400 | boost | better |
| home | MIL | batter | C | William Contreras | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 1.3700 | boost | better |
| away | SF | batter | 1B | Rafael Devers | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | -1.3600 | deboost | worse |
| home | MIL | batter | SS | David Hamilton | worse | 11 | 6 | 5 | 5 | 6 | predicted_H | 1.3600 | boost | better |
| away | SF | batter | C | Eric Haase | worse | 11 | 6 | 5 | 5 | 6 | predicted_H | 1.3200 | boost | better |
| home | MIL | batter | RF | Sal Frelick | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | 1.2200 | boost | better |
| away | SF | pitcher | Starter | Adrian Houser | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -1.1333 | deboost | worse |
| home | MIL | pitcher | Starter | Coleman Crow | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -1.1333 | deboost | worse |
| home | MIL | batter | DH | Christian Yelich | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -1.0600 | deboost | worse |
| away | SF | batter | 3B | Matt Chapman | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 0.9960 | boost | worse |
| home | MIL | batter | 2B | Brice Turang | better | 9 | 7 | 2 | 6 | 3 | predicted_SO | 0.9700 | boost | worse |
| home | MIL | batter | 1B | Jake Bauers | better | 11 | 5 | 6 | 6 | 5 | predicted_SO | -0.9190 | deboost | better |
| home | MIL | batter | CF | Garrett Mitchell | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | -0.7400 | deboost | worse |
| home | MIL | pitcher | Middle Reliever | DL Hall | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.6667 | boost | better |
| away | SF | batter | CF | Drew Gilbert | worse | 12 | 1 | 11 | 0 | 12 | predicted_H | -0.6500 | deboost | worse |
| away | SF | batter | RF | Jung Hoo Lee | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 0.5730 | boost | worse |
| away | SF | pitcher | Middle Reliever | Keaton Winn | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | SF | pitcher | Middle Reliever | Sam Hentges | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | MIL | pitcher | Middle Reliever | Aaron Ashby | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | SF | pitcher | Middle Reliever | Erik Miller | 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 | Adrian Houser |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.8075 |
| ESPN Rank | 655 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0863 |
| Avg Velo | 91.2419 |
| Avg Spin | 2078.5349 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 6 |
| Pre H | 9 |
| Pre BB | 6 |
| Pre SO | 3 |
| Season ERA | 5.5917 |
| Season WHIP | 1.5621 |
| Role Avg IP | 5.1210 |
| Recent Avg IP | 5.2000 |
| Last Start IP | 3.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4085,
"runs_scored": 292.0,
"runs_allowed": 341.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6901,
"avg_runs_scored": 4.1127,
"avg_runs_allowed": 4.8028,
"offense_index": 0.9214,
"defense_index": 0.9293,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.7,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2328
},
"opponent": {
"team": "MIL",
"games": 69,
"wins": 41,
"losses": 28,
"win_pct": 0.5942,
"runs_scored": 335.0,
"runs_allowed": 238.0,
"run_differential": 97.0,
"run_differential_per_game": 1.4058,
"avg_runs_scored": 4.8551,
"avg_runs_allowed": 3.4493,
"offense_index": 1.0877,
"defense_index": 1.294,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.6,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.3233
},
"edges": {
"quality_edge": -0.5561,
"offense_edge": -0.0786,
"opponent_offense_edge": 0.0877,
"defense_strength": -0.0707,
"opponent_defense_weakness": -0.294,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9721,
"run_prevention": 1.0489,
"strikeout": 0.9763
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "605288",
"profile": {
"available": true,
"pitcher_id": "605288",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 233.0,
"k_percent": 13.6,
"bb_percent": 8.2,
"woba": 0.372,
"xwoba": 0.368,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 44.9,
"avg_best_speed": 79.343,
"avg_hyper_speed": 95.2904,
"whiff_percent": 18.0,
"swing_percent": 46.2
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -1.1565,
"command_and_miss": -0.9121,
"regression_edge": 0.1143,
"xwoba_edge": -1.5143,
"barrel_edge": -0.4222,
"hard_hit_edge": -0.9286,
"whiff_edge": -1.1143,
"bb_edge": 0.25,
"pitch_design_score": 0.0863
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "605288",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 81,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 91.24192215447832,
"release_spin_rate": 2078.534930925795,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 91.24192215447832,
"release_spin_rate": 2078.534930925795,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.2419,
"release_spin_rate": 2078.5349,
"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.0863,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6166,
"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.8075,
"sample_weight": 0.932,
"run_prevention_factor": 1.0686,
"strikeout_factor": 0.9111,
"walk_factor": 0.9814,
"homer_factor": 1.1084,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605288",
"espn_id": 32157,
"player_name": "Adrian Houser",
"team": "SF",
"role": "pitcher",
"espn_rank": 655,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 655,
"gp_value": 11.0,
"gp_rank": 322,
"gs_value": 11.0,
"gs_rank": 70,
"qs_value": 2.0,
"qs_rank": 103,
"era_value": 5.5917,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 5.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 56.1,
"ip_rank": 94,
"h_value": 67.0,
"h_rank": 22,
"er_value": 35.0,
"er_rank": 15,
"hr_value": 9.0,
"hr_rank": 40,
"bb_value": 21.0,
"bb_rank": 62,
"k_value": 35.0,
"k_rank": 147,
"k_per_9_value": 5.591716,
"k_per_9_rank": 42,
"whip_value": 1.5621,
"whip_rank": null,
"war_value": -0.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0639,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0639,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9827,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.101,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9171,
"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": 51.0,
"ER": 34,
"H": 61,
"BB": 20,
"SO": 31,
"HR": 9,
"ERA": 6.0,
"WHIP": 1.588235294117647,
"K9": 5.470588235294118,
"HR9": 1.588235294117647,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "605288",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 81,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 91.24192215447832,
"release_spin_rate": 2078.534930925795,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 91.24192215447832,
"release_spin_rate": 2078.534930925795,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.2419,
"release_spin_rate": 2078.5349,
"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.0863,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6166,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"role": "pitcher",
"player_id": "605288",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.0,
"ER": 11.0,
"R": 12.0,
"H": 25.0,
"BB": 11.0,
"SO": 19.0,
"HR": 3.0,
"BF": 114.0,
"Pitches": 429.0
},
"per_game": {
"IP": 5.1,
"ER": 2.2,
"R": 2.4,
"H": 5.0,
"BB": 2.2,
"SO": 3.8,
"HR": 0.6,
"BF": 22.8,
"Pitches": 85.8
},
"rates": {
"ERA": 3.8077,
"WHIP": 1.3846,
"ER_per_IP": 0.42308,
"H_per_IP": 0.96154,
"BB_per_IP": 0.42308,
"SO_per_IP": 0.73077,
"HR_per_IP": 0.11538
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.0,
"ER": 34.0,
"R": 36.0,
"H": 61.0,
"BB": 20.0,
"SO": 31.0,
"HR": 9.0,
"BF": 232.0,
"Pitches": 839.0
},
"per_game": {
"IP": 5.0,
"ER": 3.4,
"R": 3.6,
"H": 6.1,
"BB": 2.0,
"SO": 3.1,
"HR": 0.9,
"BF": 23.2,
"Pitches": 83.9
},
"rates": {
"ERA": 6.0,
"WHIP": 1.5882,
"ER_per_IP": 0.66667,
"H_per_IP": 1.19608,
"BB_per_IP": 0.39216,
"SO_per_IP": 0.60784,
"HR_per_IP": 0.17647
}
},
"season": {
"games": 11,
"totals": {
"IP": 56.1,
"ER": 35.0,
"R": 39.0,
"H": 67.0,
"BB": 21.0,
"SO": 35.0,
"HR": 9.0,
"BF": 257.0,
"Pitches": 925.0
},
"per_game": {
"IP": 5.0,
"ER": 3.1818,
"R": 3.5455,
"H": 6.0909,
"BB": 1.9091,
"SO": 3.1818,
"HR": 0.8182,
"BF": 23.3636,
"Pitches": 84.0909
},
"rates": {
"ERA": 5.5917,
"WHIP": 1.5621,
"ER_per_IP": 0.6213,
"H_per_IP": 1.18935,
"BB_per_IP": 0.37278,
"SO_per_IP": 0.6213,
"HR_per_IP": 0.15976
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.747,
"predicted_H": 5.455,
"predicted_BB": 2.037,
"predicted_SO": 3.915,
"predicted_HR": 0.745,
"predicted_ERA": 4.7477,
"predicted_WHIP": 1.4387
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.482,
"form_weight": 0.518,
"form_reliability": 0.6875,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 6.0,
"form": 2.747,
"final": 4.315,
"source": "model_form_blend"
},
"predicted_H": {
"model": 9.0,
"form": 5.455,
"final": 7.1638,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 6.0,
"form": 2.037,
"final": 3.9473,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.915,
"final": 3.4739,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.745,
"final": 0.3859,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7477,
"final": 4.7477,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4387,
"final": 1.4387,
"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 | Keaton Winn |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3933 |
| ESPN Rank | 153 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1592 |
| Avg Velo | 92.5436 |
| Avg Spin | 1915.2713 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.3049 |
| Season WHIP | 0.8780 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4085,
"runs_scored": 292.0,
"runs_allowed": 341.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6901,
"avg_runs_scored": 4.1127,
"avg_runs_allowed": 4.8028,
"offense_index": 0.9214,
"defense_index": 0.9293,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.7,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2328
},
"opponent": {
"team": "MIL",
"games": 69,
"wins": 41,
"losses": 28,
"win_pct": 0.5942,
"runs_scored": 335.0,
"runs_allowed": 238.0,
"run_differential": 97.0,
"run_differential_per_game": 1.4058,
"avg_runs_scored": 4.8551,
"avg_runs_allowed": 3.4493,
"offense_index": 1.0877,
"defense_index": 1.294,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.6,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.3233
},
"edges": {
"quality_edge": -0.5561,
"offense_edge": -0.0786,
"opponent_offense_edge": 0.0877,
"defense_strength": -0.0707,
"opponent_defense_weakness": -0.294,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9721,
"run_prevention": 1.0489,
"strikeout": 0.9763
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676775",
"profile": {
"available": true,
"pitcher_id": "676775",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 22.5,
"bb_percent": 7.8,
"woba": 0.223,
"xwoba": 0.247,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 26.8,
"avg_best_speed": 75.0729,
"avg_hyper_speed": 92.3378,
"whiff_percent": 25.7,
"swing_percent": 49.6
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.6304,
"command_and_miss": 0.065,
"regression_edge": -0.6857,
"xwoba_edge": 1.9429,
"barrel_edge": 0.9778,
"hard_hit_edge": 1.6571,
"whiff_edge": -0.0143,
"bb_edge": 0.35,
"pitch_design_score": 0.1592
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676775",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.54362711575556,
"release_spin_rate": 1915.2712786040493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.54362711575556,
"release_spin_rate": 1915.2712786040493,
"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.5436,
"release_spin_rate": 1915.2713,
"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.1592,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1373,
"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.3933,
"sample_weight": 0.45,
"run_prevention_factor": 0.9666,
"strikeout_factor": 0.9997,
"walk_factor": 0.9874,
"homer_factor": 0.9087,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676775",
"espn_id": 5116843,
"player_name": "Keaton Winn",
"team": "SF",
"role": "pitcher",
"espn_rank": 153,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 153,
"gp_value": 26.0,
"gp_rank": 49,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.3048,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 11.0,
"hld_rank": 5,
"ip_value": 27.1,
"ip_rank": 216,
"h_value": 16.0,
"h_rank": 342,
"er_value": 7.0,
"er_rank": 363,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 8.0,
"bb_rank": 312,
"k_value": 23.0,
"k_rank": 274,
"k_per_9_value": 7.5731707,
"k_per_9_rank": 34,
"whip_value": 0.878,
"whip_rank": null,
"war_value": 0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.985,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.985,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9943,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9589,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9999,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.0,
"ER": 2,
"H": 9,
"BB": 2,
"SO": 10,
"HR": 1,
"ERA": 1.5,
"WHIP": 0.9166666666666666,
"K9": 7.5,
"HR9": 0.75,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "676775",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.54362711575556,
"release_spin_rate": 1915.2712786040493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.54362711575556,
"release_spin_rate": 1915.2712786040493,
"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.5436,
"release_spin_rate": 1915.2713,
"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.1592,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1373,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.395,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.519,
"prior_weight": 0.481
},
"role": "pitcher",
"player_id": "676775",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 2.0,
"R": 3.0,
"H": 6.0,
"BB": 1.0,
"SO": 6.0,
"HR": 1.0,
"BF": 27.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.6,
"H": 1.2,
"BB": 0.2,
"SO": 1.2,
"HR": 0.2,
"BF": 5.4,
"Pitches": 17.0
},
"rates": {
"ERA": 2.5714,
"WHIP": 1.0,
"ER_per_IP": 0.28571,
"H_per_IP": 0.85714,
"BB_per_IP": 0.14286,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.14286
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 2.0,
"R": 3.0,
"H": 9.0,
"BB": 2.0,
"SO": 10.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 151.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.3,
"H": 0.9,
"BB": 0.2,
"SO": 1.0,
"HR": 0.1,
"BF": 4.5,
"Pitches": 15.1
},
"rates": {
"ERA": 1.5,
"WHIP": 0.9167,
"ER_per_IP": 0.16667,
"H_per_IP": 0.75,
"BB_per_IP": 0.16667,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.08333
}
},
"season": {
"games": 26,
"totals": {
"IP": 27.1,
"ER": 7.0,
"R": 8.0,
"H": 16.0,
"BB": 8.0,
"SO": 23.0,
"HR": 1.0,
"BF": 102.0,
"Pitches": 377.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2692,
"R": 0.3077,
"H": 0.6154,
"BB": 0.3077,
"SO": 0.8846,
"HR": 0.0385,
"BF": 3.9231,
"Pitches": 14.5
},
"rates": {
"ERA": 2.3049,
"WHIP": 0.878,
"ER_per_IP": 0.2561,
"H_per_IP": 0.58537,
"BB_per_IP": 0.29268,
"SO_per_IP": 0.84146,
"HR_per_IP": 0.03659
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.462,
"predicted_H": 1.113,
"predicted_BB": 0.351,
"predicted_SO": 1.158,
"predicted_HR": 0.154,
"predicted_ERA": 3.2011,
"predicted_WHIP": 1.1274
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5532,
"form_weight": 0.4468,
"form_reliability": 0.519,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.395,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.519,
"prior_weight": 0.481
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.462,
"final": 0.2064,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.113,
"final": 0.4973,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.351,
"final": 0.1568,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.158,
"final": 1.0706,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.154,
"final": 0.0688,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2011,
"final": 3.2011,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1274,
"final": 1.1274,
"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 | Caleb Kilian |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0398 |
| ESPN Rank | 261 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0905 |
| Avg Velo | 91.3162 |
| Avg Spin | 2486.3492 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.7125 |
| Season WHIP | 1.2000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4085,
"runs_scored": 292.0,
"runs_allowed": 341.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6901,
"avg_runs_scored": 4.1127,
"avg_runs_allowed": 4.8028,
"offense_index": 0.9214,
"defense_index": 0.9293,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.7,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2328
},
"opponent": {
"team": "MIL",
"games": 69,
"wins": 41,
"losses": 28,
"win_pct": 0.5942,
"runs_scored": 335.0,
"runs_allowed": 238.0,
"run_differential": 97.0,
"run_differential_per_game": 1.4058,
"avg_runs_scored": 4.8551,
"avg_runs_allowed": 3.4493,
"offense_index": 1.0877,
"defense_index": 1.294,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.6,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.3233
},
"edges": {
"quality_edge": -0.5561,
"offense_edge": -0.0786,
"opponent_offense_edge": 0.0877,
"defense_strength": -0.0707,
"opponent_defense_weakness": -0.294,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9721,
"run_prevention": 1.0489,
"strikeout": 0.9763
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668873",
"profile": {
"available": true,
"pitcher_id": "668873",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 25.9,
"bb_percent": 12.5,
"woba": 0.286,
"xwoba": 0.313,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 35.8,
"avg_best_speed": 75.9259,
"avg_hyper_speed": 93.6302,
"whiff_percent": 27.0,
"swing_percent": 47.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2299,
"command_and_miss": 0.1136,
"regression_edge": -0.7714,
"xwoba_edge": 0.0571,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.3714,
"whiff_edge": 0.1714,
"bb_edge": -0.825,
"pitch_design_score": 0.0905
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668873",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 91.31622332276896,
"release_spin_rate": 2486.349222384747,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 91.31622332276896,
"release_spin_rate": 2486.349222384747,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3162,
"release_spin_rate": 2486.3492,
"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.0905,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6464,
"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.0398,
"sample_weight": 0.45,
"run_prevention_factor": 0.9966,
"strikeout_factor": 1.0118,
"walk_factor": 1.0297,
"homer_factor": 0.9949,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668873",
"espn_id": 4875969,
"player_name": "Caleb Kilian",
"team": "SF",
"role": "pitcher",
"espn_rank": 261,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 261,
"gp_value": 25.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.7125,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 3.0,
"sv_rank": 40,
"hld_value": 3.0,
"hld_rank": 124,
"ip_value": 26.2,
"ip_rank": 228,
"h_value": 18.0,
"h_rank": 308,
"er_value": 11.0,
"er_rank": 242,
"hr_value": 5.0,
"hr_rank": 120,
"bb_value": 14.0,
"bb_rank": 167,
"k_value": 29.0,
"k_rank": 200,
"k_per_9_value": 9.7875,
"k_per_9_rank": 23,
"whip_value": 1.2,
"whip_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9985,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9985,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0134,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9977,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0053,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 9,
"H": 10,
"BB": 6,
"SO": 11,
"HR": 3,
"ERA": 7.59375,
"WHIP": 1.5,
"K9": 9.28125,
"HR9": 2.53125,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "668873",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 91.31622332276896,
"release_spin_rate": 2486.349222384747,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 91.31622332276896,
"release_spin_rate": 2486.349222384747,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3162,
"release_spin_rate": 2486.3492,
"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.0905,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6464,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5128,
"prior_weight": 0.4872
},
"role": "pitcher",
"player_id": "668873",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 2.0,
"SO": 7.0,
"HR": 2.0,
"BF": 24.0,
"Pitches": 90.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.2,
"BB": 0.4,
"SO": 1.4,
"HR": 0.4,
"BF": 4.8,
"Pitches": 18.0
},
"rates": {
"ERA": 8.4375,
"WHIP": 1.5,
"ER_per_IP": 0.9375,
"H_per_IP": 1.125,
"BB_per_IP": 0.375,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.375
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 9.0,
"R": 10.0,
"H": 10.0,
"BB": 6.0,
"SO": 11.0,
"HR": 3.0,
"BF": 48.0,
"Pitches": 195.0
},
"per_game": {
"IP": 1.0,
"ER": 0.9,
"R": 1.0,
"H": 1.0,
"BB": 0.6,
"SO": 1.1,
"HR": 0.3,
"BF": 4.8,
"Pitches": 19.5
},
"rates": {
"ERA": 7.5938,
"WHIP": 1.5,
"ER_per_IP": 0.84375,
"H_per_IP": 0.9375,
"BB_per_IP": 0.5625,
"SO_per_IP": 1.03125,
"HR_per_IP": 0.28125
}
},
"season": {
"games": 25,
"totals": {
"IP": 26.2,
"ER": 11.0,
"R": 13.0,
"H": 18.0,
"BB": 14.0,
"SO": 29.0,
"HR": 5.0,
"BF": 112.0,
"Pitches": 427.0
},
"per_game": {
"IP": 1.0,
"ER": 0.44,
"R": 0.52,
"H": 0.72,
"BB": 0.56,
"SO": 1.16,
"HR": 0.2,
"BF": 4.48,
"Pitches": 17.08
},
"rates": {
"ERA": 3.7125,
"WHIP": 1.2,
"ER_per_IP": 0.4125,
"H_per_IP": 0.675,
"BB_per_IP": 0.525,
"SO_per_IP": 1.0875,
"HR_per_IP": 0.1875
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.645,
"predicted_H": 0.963,
"predicted_BB": 0.42,
"predicted_SO": 1.058,
"predicted_HR": 0.223,
"predicted_ERA": 5.8065,
"predicted_WHIP": 1.3829
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5558,
"form_weight": 0.4442,
"form_reliability": 0.5128,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5128,
"prior_weight": 0.4872
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.645,
"final": 0.2865,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.963,
"final": 0.4277,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.42,
"final": 0.1865,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.058,
"final": 0.4699,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.223,
"final": 0.099,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.8065,
"final": 5.8065,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3829,
"final": 1.3829,
"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 | Sam Hentges |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0132 |
| ESPN Rank | 266 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0515 |
| Avg Velo | 88.7808 |
| Avg Spin | 2203.3888 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.2500 |
| Season WHIP | 1.7500 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4085,
"runs_scored": 292.0,
"runs_allowed": 341.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6901,
"avg_runs_scored": 4.1127,
"avg_runs_allowed": 4.8028,
"offense_index": 0.9214,
"defense_index": 0.9293,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.7,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2328
},
"opponent": {
"team": "MIL",
"games": 69,
"wins": 41,
"losses": 28,
"win_pct": 0.5942,
"runs_scored": 335.0,
"runs_allowed": 238.0,
"run_differential": 97.0,
"run_differential_per_game": 1.4058,
"avg_runs_scored": 4.8551,
"avg_runs_allowed": 3.4493,
"offense_index": 1.0877,
"defense_index": 1.294,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.6,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.3233
},
"edges": {
"quality_edge": -0.5561,
"offense_edge": -0.0786,
"opponent_offense_edge": 0.0877,
"defense_strength": -0.0707,
"opponent_defense_weakness": -0.294,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9721,
"run_prevention": 1.0489,
"strikeout": 0.9763
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656529",
"profile": {
"available": true,
"pitcher_id": "656529",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 21.0,
"k_percent": 23.7,
"bb_percent": 26.3,
"woba": 0.278,
"xwoba": 0.321,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 26.3,
"avg_best_speed": 75.5076,
"avg_hyper_speed": 91.3692,
"whiff_percent": 27.3,
"swing_percent": 35.3
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.4406,
"command_and_miss": -0.3479,
"regression_edge": -1.2286,
"xwoba_edge": -0.1714,
"barrel_edge": 0.4222,
"hard_hit_edge": 1.7286,
"whiff_edge": 0.2143,
"bb_edge": -2.5,
"pitch_design_score": -0.0515
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656529",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 88.78078614672364,
"release_spin_rate": 2203.388764245014,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 88.78078614672364,
"release_spin_rate": 2203.388764245014,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.7808,
"release_spin_rate": 2203.3888,
"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.0515,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3678,
"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.0132,
"sample_weight": 0.45,
"run_prevention_factor": 0.9989,
"strikeout_factor": 1.0069,
"walk_factor": 1.09,
"homer_factor": 0.956,
"woba_minus_xwoba": -0.043,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656529",
"espn_id": 41225,
"player_name": "Sam Hentges",
"team": "SF",
"role": "pitcher",
"espn_rank": 266,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 266,
"gp_value": 9.0,
"gp_rank": 378,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.25,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 1.0,
"hld_rank": 188,
"ip_value": 8.0,
"ip_rank": 488,
"h_value": 4.0,
"h_rank": 559,
"er_value": 2.0,
"er_rank": 551,
"hr_value": 0.0,
"hr_rank": 536,
"bb_value": 10.0,
"bb_rank": 258,
"k_value": 9.0,
"k_rank": 450,
"k_per_9_value": 10.125,
"k_per_9_rank": 24,
"whip_value": 1.75,
"whip_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0405,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9802,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0031,
"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": 4,
"BB": 10,
"SO": 9,
"HR": 0,
"ERA": 2.2500000000000004,
"WHIP": 1.7500000000000002,
"K9": 10.125000000000002,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 9,
"error_prone": false
},
"games_count": 9,
"latest_game_date": "2026-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "656529",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 88.78078614672364,
"release_spin_rate": 2203.388764245014,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 88.78078614672364,
"release_spin_rate": 2203.388764245014,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.7808,
"release_spin_rate": 2203.3888,
"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.0515,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3678,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.6164383561643836,
"last_10": 0.3835616438356164
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.579,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.24,
"prior_weight": 0.76
},
"role": "pitcher",
"player_id": "656529",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 9,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 7.0,
"SO": 4.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 92.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 1.4,
"SO": 0.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 18.4
},
"rates": {
"ERA": 3.8571,
"WHIP": 2.1429,
"ER_per_IP": 0.42857,
"H_per_IP": 0.64286,
"BB_per_IP": 1.5,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 9,
"totals": {
"IP": 8.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 10.0,
"SO": 9.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2222,
"R": 0.2222,
"H": 0.4444,
"BB": 1.1111,
"SO": 1.0,
"HR": 0.0,
"BF": 4.2222,
"Pitches": 17.3333
},
"rates": {
"ERA": 2.25,
"WHIP": 1.75,
"ER_per_IP": 0.25,
"H_per_IP": 0.5,
"BB_per_IP": 1.25,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"season": {
"games": 9,
"totals": {
"IP": 8.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 10.0,
"SO": 9.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2222,
"R": 0.2222,
"H": 0.4444,
"BB": 1.1111,
"SO": 1.0,
"HR": 0.0,
"BF": 4.2222,
"Pitches": 17.3333
},
"rates": {
"ERA": 2.25,
"WHIP": 1.75,
"ER_per_IP": 0.25,
"H_per_IP": 0.5,
"BB_per_IP": 1.25,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.224,
"predicted_H": 0.428,
"predicted_BB": 0.304,
"predicted_SO": 0.466,
"predicted_HR": 0.051,
"predicted_ERA": 4.0782,
"predicted_WHIP": 1.4834
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6711,
"form_weight": 0.3289,
"form_reliability": 0.24,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.579,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.24,
"prior_weight": 0.76
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.224,
"final": 0.0737,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.428,
"final": 0.1408,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.304,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.466,
"final": 0.8244,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.051,
"final": 0.0168,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0782,
"final": 4.0782,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4834,
"final": 1.4834,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Erik Miller |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2200 |
| ESPN Rank | 340 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1352 |
| Avg Velo | 92.1146 |
| Avg Spin | 2396.2111 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 4.0755 |
| Season WHIP | 1.4717 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4085,
"runs_scored": 292.0,
"runs_allowed": 341.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6901,
"avg_runs_scored": 4.1127,
"avg_runs_allowed": 4.8028,
"offense_index": 0.9214,
"defense_index": 0.9293,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.7,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2328
},
"opponent": {
"team": "MIL",
"games": 69,
"wins": 41,
"losses": 28,
"win_pct": 0.5942,
"runs_scored": 335.0,
"runs_allowed": 238.0,
"run_differential": 97.0,
"run_differential_per_game": 1.4058,
"avg_runs_scored": 4.8551,
"avg_runs_allowed": 3.4493,
"offense_index": 1.0877,
"defense_index": 1.294,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.6,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.3233
},
"edges": {
"quality_edge": -0.5561,
"offense_edge": -0.0786,
"opponent_offense_edge": 0.0877,
"defense_strength": -0.0707,
"opponent_defense_weakness": -0.294,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9721,
"run_prevention": 1.0489,
"strikeout": 0.9763
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669062",
"profile": {
"available": true,
"pitcher_id": "669062",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 67.0,
"k_percent": 32.1,
"bb_percent": 17.9,
"woba": 0.298,
"xwoba": 0.293,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 28.2,
"avg_best_speed": 72.1254,
"avg_hyper_speed": 92.8885,
"whiff_percent": 31.9,
"swing_percent": 36.1
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6022,
"command_and_miss": 0.4871,
"regression_edge": 0.1429,
"xwoba_edge": 0.6286,
"barrel_edge": -0.1111,
"hard_hit_edge": 1.4571,
"whiff_edge": 0.8714,
"bb_edge": -2.175,
"pitch_design_score": 0.1352
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669062",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 92.11462544936303,
"release_spin_rate": 2396.2110663291955,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 92.11462544936303,
"release_spin_rate": 2396.2110663291955,
"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.1146,
"release_spin_rate": 2396.2111,
"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.1352,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9657,
"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.22,
"sample_weight": 0.45,
"run_prevention_factor": 0.9813,
"strikeout_factor": 1.0404,
"walk_factor": 1.0783,
"homer_factor": 0.9693,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669062",
"espn_id": 4152950,
"player_name": "Erik Miller",
"team": "SF",
"role": "pitcher",
"espn_rank": 340,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 340,
"gp_value": 20.0,
"gp_rank": 142,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.0754,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 8.0,
"hld_rank": 29,
"ip_value": 17.2,
"ip_rank": 373,
"h_value": 12.0,
"h_rank": 410,
"er_value": 8.0,
"er_rank": 334,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 14.0,
"bb_rank": 167,
"k_value": 25.0,
"k_rank": 248,
"k_per_9_value": 12.735849,
"k_per_9_rank": 17,
"whip_value": 1.4716,
"whip_rank": null,
"war_value": 0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9916,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9916,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0352,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9862,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0182,
"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": 4,
"H": 4,
"BB": 8,
"SO": 10,
"HR": 1,
"ERA": 4.153846153846154,
"WHIP": 1.3846153846153848,
"K9": 10.384615384615385,
"HR9": 1.0384615384615385,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "669062",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 92.11462544936303,
"release_spin_rate": 2396.2110663291955,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 92.11462544936303,
"release_spin_rate": 2396.2110663291955,
"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.1146,
"release_spin_rate": 2396.2111,
"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.1352,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9657,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.487,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4109,
"prior_weight": 0.5891
},
"role": "pitcher",
"player_id": "669062",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 2.0,
"SO": 5.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.4,
"SO": 1.0,
"HR": 0.2,
"BF": 3.6,
"Pitches": 15.0
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.3846,
"ER_per_IP": 0.46154,
"H_per_IP": 0.92308,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 4.0,
"R": 4.0,
"H": 4.0,
"BB": 8.0,
"SO": 10.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 170.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.8,
"SO": 1.0,
"HR": 0.1,
"BF": 3.7,
"Pitches": 17.0
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.3846,
"ER_per_IP": 0.46154,
"H_per_IP": 0.46154,
"BB_per_IP": 0.92308,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 20,
"totals": {
"IP": 17.2,
"ER": 8.0,
"R": 8.0,
"H": 12.0,
"BB": 14.0,
"SO": 25.0,
"HR": 1.0,
"BF": 78.0,
"Pitches": 374.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.7,
"SO": 1.25,
"HR": 0.05,
"BF": 3.9,
"Pitches": 18.7
},
"rates": {
"ERA": 4.0755,
"WHIP": 1.4717,
"ER_per_IP": 0.45283,
"H_per_IP": 0.67925,
"BB_per_IP": 0.79245,
"SO_per_IP": 1.41509,
"HR_per_IP": 0.0566
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.287,
"predicted_H": 0.52,
"predicted_BB": 0.303,
"predicted_SO": 0.638,
"predicted_HR": 0.088,
"predicted_ERA": 4.2586,
"predicted_WHIP": 1.3553
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5989,
"form_weight": 0.4011,
"form_reliability": 0.4109,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.487,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4109,
"prior_weight": 0.5891
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.287,
"final": 0.1151,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.52,
"final": 0.2086,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.303,
"final": 0.1215,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.638,
"final": 1.4537,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.088,
"final": 0.0353,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2586,
"final": 4.2586,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3553,
"final": 1.3553,
"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.240 | 0.000 | 0.000 | Hitting_2B | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_3B | 0.050 | 0.000 | 0.000 | Hitting_3B | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_AB | 4.520 | 4.000 | 8.000 | Hitting_AB | 3.965 | 5.000 | 0.035 | -1.000 |
| predicted_AVG | 0.233 | 0.000 | 0.250 | Hitting_AVG | 0.304 | 0.200 | -0.304 | -0.200 |
| predicted_BB | 0.150 | 0.000 | 0.000 | Hitting_BB | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 1.050 | 0.000 | 2.000 | Hitting_H | 1.205 | 1.000 | -1.205 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_OBP | 0.290 | 0.000 | 0.250 | Hitting_OBP | 0.347 | 0.200 | -0.347 | -0.200 |
| predicted_R | 0.645 | 0.000 | 1.000 | Hitting_R | 0.645 | 0.000 | -0.645 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.670 | 0.000 | -0.670 | 0.000 |
| predicted_SLG | 0.437 | 0.000 | 0.250 | Hitting_SLG | 0.583 | 0.200 | -0.583 | -0.200 |
| predicted_SO | 0.830 | 3.000 | 2.000 | Hitting_SO | 0.830 | 1.000 | 2.170 | 2.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 | 1 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.8300 -> 3.0000 (boost 2.1700, worse) |
| Biggest Deboost | predicted_H: 1.0500 -> 0.0000 (deboost -1.0500, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.5200 -> 7.6393 (boost 3.1193, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 1.9475 -> 1.8197 (deboost -0.1278, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 4 | 5 | 3 | 6 | predicted_AB: 7.6393 -> 8.0000 (boost 0.3607, better) | predicted_2B: 0.4134 -> 0.0000 (deboost -0.4134, worse) | AB rounded to 8 (raw=7.64), rates preserved: AVG=0.238 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8765 -> 1.0000 (boost 0.1235, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2382 -> 0.2500 (boost 0.0118, better) | predicted_SLG: 0.4293 -> 0.2500 (deboost -0.1793, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4293 (boost 0.1793, better) | predicted_AVG: 0.2500 -> 0.2382 (deboost -0.0118, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669477",
"player_name": "Casey Schmitt",
"position": "LF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.24,
"predicted_3B": 0.05,
"predicted_AB": 4.52,
"predicted_AVG": 0.233,
"predicted_BB": 0.15,
"predicted_H": 1.05,
"predicted_HR": 0.18,
"predicted_OBP": 0.29,
"predicted_R": 0.645,
"predicted_RBI": 0.56,
"predicted_SLG": 0.437,
"predicted_SO": 0.83
},
"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.4134,
"predicted_3B": 0.0711,
"predicted_AB": 7.6393,
"predicted_AVG": 0.2476,
"predicted_BB": 0.2248,
"predicted_H": 1.9475,
"predicted_HBP": 0.264,
"predicted_HR": 0.323,
"predicted_OBP": 0.2929,
"predicted_R": 0.9874,
"predicted_RBI": 1.0182,
"predicted_SLG": 0.4507,
"predicted_SO": 1.6143
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.24,
"after": 0.4134,
"delta": 0.1734,
"percent_delta": 0.7225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.05,
"after": 0.0711,
"delta": 0.0211,
"percent_delta": 0.422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.52,
"after": 7.6393,
"delta": 3.1193,
"percent_delta": 0.6901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2476,
"delta": 0.0146,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.15,
"after": 0.2248,
"delta": 0.0748,
"percent_delta": 0.4987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.9475,
"delta": 0.8975,
"percent_delta": 0.8548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.323,
"delta": 0.143,
"percent_delta": 0.7944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2929,
"delta": 0.0029,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.645,
"after": 0.9874,
"delta": 0.3424,
"percent_delta": 0.5309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 1.0182,
"delta": 0.4582,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4507,
"delta": 0.0137,
"percent_delta": 0.0314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.83,
"after": 1.6143,
"delta": 0.7843,
"percent_delta": 0.9449,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.52,
"after": 7.6393,
"delta": 3.1193,
"percent_delta": 0.6901,
"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": 53
}
},
{
"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.4134,
"predicted_3B": 0.0711,
"predicted_AB": 7.6393,
"predicted_AVG": 0.2382,
"predicted_BB": 0.2203,
"predicted_H": 1.8197,
"predicted_HBP": 0.264,
"predicted_HR": 0.3015,
"predicted_OBP": 0.2596,
"predicted_R": 0.8765,
"predicted_RBI": 0.9039,
"predicted_SLG": 0.4293,
"predicted_SO": 1.6463
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4134,
"after": 0.4134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0711,
"after": 0.0711,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6393,
"after": 7.6393,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2476,
"after": 0.2382,
"delta": -0.0094,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2248,
"after": 0.2203,
"delta": -0.0045,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9475,
"after": 1.8197,
"delta": -0.1278,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.264,
"after": 0.264,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.323,
"after": 0.3015,
"delta": -0.0215,
"percent_delta": -0.0666,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2929,
"after": 0.2596,
"delta": -0.0333,
"percent_delta": -0.1137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9874,
"after": 0.8765,
"delta": -0.1109,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0182,
"after": 0.9039,
"delta": -0.1143,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4507,
"after": 0.4293,
"delta": -0.0214,
"percent_delta": -0.0475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6143,
"after": 1.6463,
"delta": 0.032,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.9475,
"after": 1.8197,
"delta": -0.1278,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.64), rates preserved: AVG=0.238 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4134,
"after": 0.0,
"delta": -0.4134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0711,
"after": 0.0,
"delta": -0.0711,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.6393,
"after": 8.0,
"delta": 0.3607,
"percent_delta": 0.0472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2203,
"after": 0.0,
"delta": -0.2203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8197,
"after": 2.0,
"delta": 0.1803,
"percent_delta": 0.0991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.264,
"after": 0.0,
"delta": -0.264,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3015,
"after": 0.0,
"delta": -0.3015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9039,
"after": 1.0,
"delta": 0.0961,
"percent_delta": 0.1063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6463,
"after": 2.0,
"delta": 0.3537,
"percent_delta": 0.2148,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 7.6393,
"after": 8.0,
"delta": 0.3607,
"percent_delta": 0.0472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4134,
"after": 0.0,
"delta": -0.4134,
"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": 8.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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.8765,
"after": 1.0,
"delta": 0.1235,
"percent_delta": 0.1409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8765,
"after": 1.0,
"delta": 0.1235,
"percent_delta": 0.1409,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2382,
"after": 0.25,
"delta": 0.0118,
"percent_delta": 0.0495,
"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.2596,
"after": 0.25,
"delta": -0.0096,
"percent_delta": -0.037,
"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.4293,
"after": 0.25,
"delta": -0.1793,
"percent_delta": -0.4177,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2382,
"after": 0.25,
"delta": 0.0118,
"percent_delta": 0.0495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4293,
"after": 0.25,
"delta": -0.1793,
"percent_delta": -0.4177,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"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": 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": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"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": 4.0,
"predicted_AVG": 0.2382,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2596,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4293,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 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.2382,
"delta": -0.0118,
"percent_delta": -0.0472,
"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.25,
"after": 0.2596,
"delta": 0.0096,
"percent_delta": 0.0383,
"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.4293,
"delta": 0.1793,
"percent_delta": 0.7173,
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4293,
"delta": 0.1793,
"percent_delta": 0.7173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2382,
"delta": -0.0118,
"percent_delta": -0.0472,
"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.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.52,
"after": 4.0,
"delta": -0.52,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2382,
"delta": 0.0052,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2596,
"delta": -0.0304,
"percent_delta": -0.1048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.645,
"after": 0.0,
"delta": -0.645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4293,
"delta": -0.0077,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.83,
"after": 3.0,
"delta": 2.17,
"percent_delta": 2.6145,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 2,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.83,
"after": 3.0,
"delta": 2.17,
"percent_delta": 2.6145,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.240 | - |
| predicted_3B | 0.050 | - |
| predicted_AB | 4.520 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.150 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.645 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.437 | - |
| predicted_SO | 0.830 | - |
Final model 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.413 | 0.173 |
| predicted_3B | 0.071 | 0.021 |
| predicted_AB | 7.639 | 3.119 |
| predicted_AVG | 0.248 | 0.015 |
| predicted_BB | 0.225 | 0.075 |
| predicted_H | 1.948 | 0.897 |
| predicted_HBP | 0.264 | - |
| predicted_HR | 0.323 | 0.143 |
| predicted_OBP | 0.293 | 0.003 |
| predicted_R | 0.987 | 0.342 |
| predicted_RBI | 1.018 | 0.458 |
| predicted_SLG | 0.451 | 0.014 |
| predicted_SO | 1.614 | 0.784 |
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.413 | 0.000 |
| predicted_3B | 0.071 | 0.000 |
| predicted_AB | 7.639 | 0.000 |
| predicted_AVG | 0.238 | -0.009 |
| predicted_BB | 0.220 | -0.005 |
| predicted_H | 1.820 | -0.128 |
| predicted_HBP | 0.264 | 0.000 |
| predicted_HR | 0.301 | -0.022 |
| predicted_OBP | 0.260 | -0.033 |
| predicted_R | 0.876 | -0.111 |
| predicted_RBI | 0.904 | -0.114 |
| predicted_SLG | 0.429 | -0.021 |
| predicted_SO | 1.646 | 0.032 |
AB rounded to 8 (raw=7.64), rates preserved: AVG=0.238 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.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 | 2.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.413 |
| predicted_3B | 0.000 | -0.071 |
| predicted_AB | 8.000 | 0.361 |
| predicted_AVG | 0.250 | 0.012 |
| predicted_BB | 0.000 | -0.220 |
| predicted_H | 2.000 | 0.180 |
| predicted_HR | 0.000 | -0.301 |
| predicted_OBP | 0.250 | -0.010 |
| predicted_R | 1.000 | 0.124 |
| predicted_RBI | 1.000 | 0.096 |
| predicted_SLG | 0.250 | -0.179 |
| predicted_SO | 2.000 | 0.354 |
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 | -4.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 24.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 7.000 | 0.2083 | 0.2083 | 0.2500 | 0.2083 | 0.0000 | 0.0833 | 0.0000 | 0.2917 |
| last_10 | 0.20 | 7 | - | 45.000 | 6.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 8.000 | 0.1333 | 0.1333 | 0.1778 | 0.1333 | 0.0000 | 0.0444 | 0.0000 | 0.1778 |
| season | 0.60 | 53 | - | 793.000 | 241.000 | 48.000 | 10.000 | 51.000 | 134.000 | 129.000 | 30.000 | 166.000 | 0.3039 | 0.3469 | 0.5826 | 0.3039 | 0.0643 | 0.1690 | 0.0378 | 0.2093 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6340 |
| predicted_3B | 0.0980 |
| predicted_AB | 11.6070 |
| predicted_AVG | 0.2661 |
| predicted_BB | 0.3200 |
| predicted_H | 3.0890 |
| predicted_HBP | 0.2640 |
| predicted_HR | 0.5050 |
| predicted_OBP | 0.2966 |
| predicted_R | 1.4230 |
| predicted_RBI | 1.6010 |
| predicted_SLG | 0.4681 |
| predicted_SO | 2.6120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2400 | 0.6340 | 0.4134 | model_form_blend |
| predicted_3B | 0.0500 | 0.0980 | 0.0711 | model_form_blend |
| predicted_AB | 4.5200 | 11.6070 | 7.6393 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2661 | 0.2476 | model_form_blend |
| predicted_BB | 0.1500 | 0.3200 | 0.2248 | model_form_blend |
| predicted_H | 1.0500 | 3.0890 | 1.9475 | model_form_blend |
| predicted_HBP | - | 0.2640 | 0.2640 | form_only |
| predicted_HR | 0.1800 | 0.5050 | 0.3230 | model_form_blend |
| predicted_OBP | 0.2900 | 0.2966 | 0.2929 | model_form_blend |
| predicted_R | 0.6450 | 1.4230 | 0.9874 | model_form_blend |
| predicted_RBI | 0.5600 | 1.6010 | 1.0182 | model_form_blend |
| predicted_SLG | 0.4370 | 0.4681 | 0.4507 | model_form_blend |
| predicted_SO | 0.8300 | 2.6120 | 1.6143 | 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 | 200 |
| Season rows before report date | 200 |
| Report year | 2026 |
| Profile rows used | 200 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.304 |
| 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 | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 669477 |
| playerID | 669477 |
| playerName | Casey Schmitt |
| pos | DH |
| started | True |
| startingPosition | LF |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-03 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 3.1 |
| sl_woba | 0.36 |
| sl_xwoba | 0.351 |
| sl_xba | 0.275 |
| sl_xslg | 0.509 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 14.5 |
| sl_hard_hit_percent | 43.7 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 21.7 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 52.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.325 | 0.000 | 1.000 | Hitting_2B | 0.325 | 0.000 | -0.325 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 4.320 | 2.000 | 8.000 | Hitting_AB | 4.190 | 3.000 | -2.190 | -1.000 |
| predicted_AVG | 0.232 | 0.500 | 0.250 | Hitting_AVG | 0.254 | 0.000 | 0.246 | 0.500 |
| predicted_BB | 0.186 | 2.000 | 1.000 | Hitting_BB | 0.186 | 1.000 | 1.814 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 1.000 | 1.000 | 2.000 | Hitting_H | 1.063 | 0.000 | -0.063 | 1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_OBP | 0.315 | 0.750 | 0.333 | Hitting_OBP | 0.288 | 0.250 | 0.462 | 0.500 |
| predicted_R | 0.523 | 0.000 | 1.000 | Hitting_R | 0.523 | 0.000 | -0.523 | 0.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.388 | 0.000 | -0.388 | 0.000 |
| predicted_SLG | 0.454 | 0.500 | 0.375 | Hitting_SLG | 0.438 | 0.000 | 0.062 | 0.500 |
| predicted_SO | 1.211 | 0.000 | 2.000 | Hitting_SO | 1.211 | 1.000 | -1.211 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.1860 -> 2.0000 (boost 1.8140, better) |
| Biggest Deboost | predicted_AB: 4.3200 -> 2.0000 (deboost -2.3200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.3200 -> 7.8682 (boost 3.5482, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 2.0140 -> 1.8819 (deboost -0.1321, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 5 | 1 | predicted_BB: 0.5045 -> 1.0000 (boost 0.4955, better) | predicted_HR: 0.3612 -> 0.0000 (deboost -0.3612, worse) | AB rounded to 8 (raw=7.87), rates preserved: AVG=0.239 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8639 -> 1.0000 (boost 0.1361, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2850 -> 0.3330 (boost 0.0480, better) | predicted_SLG: 0.4572 -> 0.3750 (deboost -0.0822, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 1 | 6 | 2 | 5 | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 2.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3750 -> 0.4572 (boost 0.0822, better) | predicted_OBP: 0.3330 -> 0.2850 (deboost -0.0480, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642715",
"player_name": "Willy Adames",
"position": "SS",
"team": "SF",
"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.325,
"predicted_3B": 0.021,
"predicted_AB": 4.32,
"predicted_AVG": 0.232,
"predicted_BB": 0.186,
"predicted_H": 1.0,
"predicted_HR": 0.19,
"predicted_OBP": 0.315,
"predicted_R": 0.523,
"predicted_RBI": 0.57,
"predicted_SLG": 0.454,
"predicted_SO": 1.211
},
"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.5706,
"predicted_3B": 0.0307,
"predicted_AB": 7.8682,
"predicted_AVG": 0.2474,
"predicted_BB": 0.5147,
"predicted_H": 2.014,
"predicted_HBP": 0.036,
"predicted_HR": 0.387,
"predicted_OBP": 0.3161,
"predicted_R": 0.9732,
"predicted_RBI": 1.0843,
"predicted_SLG": 0.4741,
"predicted_SO": 2.137
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.325,
"after": 0.5706,
"delta": 0.2456,
"percent_delta": 0.7557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0307,
"delta": 0.0097,
"percent_delta": 0.4619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 7.8682,
"delta": 3.5482,
"percent_delta": 0.8213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2474,
"delta": 0.0154,
"percent_delta": 0.0664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 0.5147,
"delta": 0.3287,
"percent_delta": 1.7672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.014,
"delta": 1.014,
"percent_delta": 1.014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.387,
"delta": 0.197,
"percent_delta": 1.0368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3161,
"delta": 0.0011,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 0.9732,
"delta": 0.4502,
"percent_delta": 0.8608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.0843,
"delta": 0.5143,
"percent_delta": 0.9023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4741,
"delta": 0.0201,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.211,
"after": 2.137,
"delta": 0.926,
"percent_delta": 0.7647,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.32,
"after": 7.8682,
"delta": 3.5482,
"percent_delta": 0.8213,
"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": 60
}
},
{
"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.5706,
"predicted_3B": 0.0307,
"predicted_AB": 7.8682,
"predicted_AVG": 0.2392,
"predicted_BB": 0.5045,
"predicted_H": 1.8819,
"predicted_HBP": 0.036,
"predicted_HR": 0.3612,
"predicted_OBP": 0.285,
"predicted_R": 0.8639,
"predicted_RBI": 0.9625,
"predicted_SLG": 0.4572,
"predicted_SO": 2.1793
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5706,
"after": 0.5706,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0307,
"after": 0.0307,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8682,
"after": 7.8682,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2474,
"after": 0.2392,
"delta": -0.0082,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5147,
"after": 0.5045,
"delta": -0.0102,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.014,
"after": 1.8819,
"delta": -0.1321,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.387,
"after": 0.3612,
"delta": -0.0258,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3161,
"after": 0.285,
"delta": -0.0311,
"percent_delta": -0.0984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9732,
"after": 0.8639,
"delta": -0.1093,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0843,
"after": 0.9625,
"delta": -0.1218,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4741,
"after": 0.4572,
"delta": -0.0169,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.137,
"after": 2.1793,
"delta": 0.0423,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.014,
"after": 1.8819,
"delta": -0.1321,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.87), rates preserved: AVG=0.239 HR/AB=0.046",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5706,
"after": 1.0,
"delta": 0.4294,
"percent_delta": 0.7525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0307,
"after": 0.0,
"delta": -0.0307,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8682,
"after": 8.0,
"delta": 0.1318,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5045,
"after": 1.0,
"delta": 0.4955,
"percent_delta": 0.9822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8819,
"after": 2.0,
"delta": 0.1181,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3612,
"after": 0.0,
"delta": -0.3612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9625,
"after": 1.0,
"delta": 0.0375,
"percent_delta": 0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.1793,
"after": 2.0,
"delta": -0.1793,
"percent_delta": -0.0823,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5045,
"after": 1.0,
"delta": 0.4955,
"percent_delta": 0.9822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3612,
"after": 0.0,
"delta": -0.3612,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.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": 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": 8.0,
"after": 8.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": 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.8639,
"after": 1.0,
"delta": 0.1361,
"percent_delta": 0.1575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8639,
"after": 1.0,
"delta": 0.1361,
"percent_delta": 0.1575,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.375,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2392,
"after": 0.25,
"delta": 0.0108,
"percent_delta": 0.0452,
"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": 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.285,
"after": 0.333,
"delta": 0.048,
"percent_delta": 0.1684,
"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.4572,
"after": 0.375,
"delta": -0.0822,
"percent_delta": -0.1798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.333,
"delta": 0.048,
"percent_delta": 0.1684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4572,
"after": 0.375,
"delta": -0.0822,
"percent_delta": -0.1798,
"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": 2.0,
"predicted_BB": 2.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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 2.0,
"delta": -6.0,
"percent_delta": -0.75,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 2.0,
"delta": -6.0,
"percent_delta": -0.75,
"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": 2.0,
"predicted_AVG": 0.2392,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.285,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4572,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2392,
"delta": -0.0108,
"percent_delta": -0.0433,
"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.333,
"after": 0.285,
"delta": -0.048,
"percent_delta": -0.1441,
"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.375,
"after": 0.4572,
"delta": 0.0822,
"percent_delta": 0.2193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.4572,
"delta": 0.0822,
"percent_delta": 0.2193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.285,
"delta": -0.048,
"percent_delta": -0.1441,
"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.325,
"after": 0.0,
"delta": -0.325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 2.0,
"delta": -2.32,
"percent_delta": -0.537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2392,
"delta": 0.0072,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 2.0,
"delta": 1.814,
"percent_delta": 9.7527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.285,
"delta": -0.03,
"percent_delta": -0.0952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 0.0,
"delta": -0.523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4572,
"delta": 0.0032,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.211,
"after": 0.0,
"delta": -1.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.186,
"after": 2.0,
"delta": 1.814,
"percent_delta": 9.7527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.32,
"after": 2.0,
"delta": -2.32,
"percent_delta": -0.537,
"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.325 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 4.320 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.186 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.523 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.454 | - |
| predicted_SO | 1.211 | - |
Final model 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.571 | 0.246 |
| predicted_3B | 0.031 | 0.010 |
| predicted_AB | 7.868 | 3.548 |
| predicted_AVG | 0.247 | 0.015 |
| predicted_BB | 0.515 | 0.329 |
| predicted_H | 2.014 | 1.014 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.387 | 0.197 |
| predicted_OBP | 0.316 | 0.001 |
| predicted_R | 0.973 | 0.450 |
| predicted_RBI | 1.084 | 0.514 |
| predicted_SLG | 0.474 | 0.020 |
| predicted_SO | 2.137 | 0.926 |
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.571 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 7.868 | 0.000 |
| predicted_AVG | 0.239 | -0.008 |
| predicted_BB | 0.504 | -0.010 |
| predicted_H | 1.882 | -0.132 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.361 | -0.026 |
| predicted_OBP | 0.285 | -0.031 |
| predicted_R | 0.864 | -0.109 |
| predicted_RBI | 0.963 | -0.122 |
| predicted_SLG | 0.457 | -0.017 |
| predicted_SO | 2.179 | 0.042 |
AB rounded to 8 (raw=7.87), rates preserved: AVG=0.239 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 2.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 | 1.000 | 0.429 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 8.000 | 0.132 |
| predicted_AVG | 0.250 | 0.011 |
| predicted_BB | 1.000 | 0.496 |
| predicted_H | 2.000 | 0.118 |
| predicted_HR | 0.000 | -0.361 |
| predicted_OBP | 0.333 | 0.048 |
| predicted_R | 1.000 | 0.136 |
| predicted_RBI | 1.000 | 0.037 |
| predicted_SLG | 0.375 | -0.082 |
| predicted_SO | 2.000 | -0.179 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -6.000 |
| BB | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 18.000 | 5.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 3.000 | 4.000 | 0.2778 | 0.3810 | 0.6111 | 0.2778 | 0.1111 | 0.2778 | 0.1667 | 0.2222 |
| last_10 | 0.20 | 7 | - | 38.000 | 13.000 | 8.000 | 0.000 | 2.000 | 6.000 | 6.000 | 3.000 | 9.000 | 0.3421 | 0.3810 | 0.7105 | 0.3421 | 0.0526 | 0.1579 | 0.0790 | 0.2368 |
| season | 0.60 | 60 | - | 993.000 | 252.000 | 77.000 | 5.000 | 32.000 | 92.000 | 124.000 | 44.000 | 287.000 | 0.2538 | 0.2879 | 0.4381 | 0.2538 | 0.0322 | 0.0926 | 0.0443 | 0.2890 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8810 |
| predicted_3B | 0.0430 |
| predicted_AB | 12.3510 |
| predicted_AVG | 0.2668 |
| predicted_BB | 0.9300 |
| predicted_H | 3.2950 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.6360 |
| predicted_OBP | 0.3174 |
| predicted_R | 1.5420 |
| predicted_RBI | 1.7340 |
| predicted_SLG | 0.4996 |
| predicted_SO | 3.3070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3250 | 0.8810 | 0.5706 | model_form_blend |
| predicted_3B | 0.0210 | 0.0430 | 0.0307 | model_form_blend |
| predicted_AB | 4.3200 | 12.3510 | 7.8682 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2668 | 0.2474 | model_form_blend |
| predicted_BB | 0.1860 | 0.9300 | 0.5147 | model_form_blend |
| predicted_H | 1.0000 | 3.2950 | 2.0140 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.1900 | 0.6360 | 0.3870 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3174 | 0.3161 | model_form_blend |
| predicted_R | 0.5230 | 1.5420 | 0.9732 | model_form_blend |
| predicted_RBI | 0.5700 | 1.7340 | 1.0843 | model_form_blend |
| predicted_SLG | 0.4540 | 0.4996 | 0.4741 | model_form_blend |
| predicted_SO | 1.2110 | 3.3070 | 2.1370 | 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 | 237 |
| Season rows before report date | 237 |
| Report year | 2026 |
| Profile rows used | 237 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | SS |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 642715 |
| playerID | 642715 |
| playerName | Willy Adames |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-03 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.312 |
| sl_xwoba | 0.295 |
| sl_xba | 0.228 |
| sl_xslg | 0.404 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 42.0 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 21.8 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 48.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.274 | 0.000 | 1.000 | Hitting_2B | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_3B | 0.004 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.360 | 3.000 | 7.000 | Hitting_AB | 3.893 | 4.000 | -0.893 | -1.000 |
| predicted_AVG | 0.223 | 0.000 | 0.143 | Hitting_AVG | 0.252 | 0.000 | -0.252 | 0.000 |
| predicted_BB | 0.274 | 1.000 | 1.000 | Hitting_BB | 0.274 | 0.000 | 0.726 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.970 | 0.000 | 1.000 | Hitting_H | 0.983 | 0.000 | -0.983 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_OBP | 0.305 | 0.250 | 0.250 | Hitting_OBP | 0.300 | 0.000 | -0.050 | 0.250 |
| predicted_R | 0.415 | 0.000 | 1.000 | Hitting_R | 0.415 | 0.000 | -0.415 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.534 | 0.000 | -0.534 | 0.000 |
| predicted_SLG | 0.408 | 0.000 | 0.286 | Hitting_SLG | 0.420 | 0.000 | -0.420 | 0.000 |
| predicted_SO | 1.261 | 1.000 | 2.000 | Hitting_SO | 1.261 | 1.000 | -0.261 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.2740 -> 1.0000 (boost 0.7260, better) |
| Biggest Deboost | predicted_AB: 4.3600 -> 3.0000 (deboost -1.3600, 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 | 10 | 8 | 2 | 7 | 3 | predicted_AB: 4.3600 -> 7.4851 (boost 3.1251, better) | predicted_SLG: 0.4080 -> 0.3989 (deboost -0.0091, 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 | 7 | 1 | 6 | 0 | 7 | predicted_SO: 2.5561 -> 2.6067 (boost 0.0506, worse) | predicted_H: 1.7001 -> 1.5886 (deboost -0.1115, 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 | 4 | 3 | predicted_2B: 0.5870 -> 1.0000 (boost 0.4130, better) | predicted_SO: 2.6067 -> 2.0000 (deboost -0.6067, better) | AB rounded to 7 (raw=7.49), rates preserved: AVG=0.212 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7751 -> 1.0000 (boost 0.2249, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3620 -> 0.2860 (deboost -0.0760, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2860 -> 0.3620 (boost 0.0760, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "646240",
"player_name": "Rafael Devers",
"position": "1B",
"team": "SF",
"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.274,
"predicted_3B": 0.004,
"predicted_AB": 4.36,
"predicted_AVG": 0.223,
"predicted_BB": 0.274,
"predicted_H": 0.97,
"predicted_HR": 0.12,
"predicted_OBP": 0.305,
"predicted_R": 0.415,
"predicted_RBI": 0.53,
"predicted_SLG": 0.408,
"predicted_SO": 1.261
},
"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.587,
"predicted_3B": 0.0172,
"predicted_AB": 7.4851,
"predicted_AVG": 0.2258,
"predicted_BB": 0.602,
"predicted_H": 1.7001,
"predicted_HBP": 0.036,
"predicted_HR": 0.1783,
"predicted_OBP": 0.2993,
"predicted_R": 0.8732,
"predicted_RBI": 0.8487,
"predicted_SLG": 0.3989,
"predicted_SO": 2.5561
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.274,
"after": 0.587,
"delta": 0.313,
"percent_delta": 1.1423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.004,
"after": 0.0172,
"delta": 0.0132,
"percent_delta": 3.3,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.36,
"after": 7.4851,
"delta": 3.1251,
"percent_delta": 0.7168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2258,
"delta": 0.0028,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.274,
"after": 0.602,
"delta": 0.328,
"percent_delta": 1.1971,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.7001,
"delta": 0.7301,
"percent_delta": 0.7527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1783,
"delta": 0.0583,
"percent_delta": 0.4858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2993,
"delta": -0.0057,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.415,
"after": 0.8732,
"delta": 0.4582,
"percent_delta": 1.1041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.8487,
"delta": 0.3187,
"percent_delta": 0.6013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.3989,
"delta": -0.0091,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.261,
"after": 2.5561,
"delta": 1.2951,
"percent_delta": 1.027,
"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": 4.36,
"after": 7.4851,
"delta": 3.1251,
"percent_delta": 0.7168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.3989,
"delta": -0.0091,
"percent_delta": -0.0223,
"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": 7,
"season": 61
}
},
{
"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.587,
"predicted_3B": 0.0172,
"predicted_AB": 7.4851,
"predicted_AVG": 0.2122,
"predicted_BB": 0.5901,
"predicted_H": 1.5886,
"predicted_HBP": 0.036,
"predicted_HR": 0.1664,
"predicted_OBP": 0.2698,
"predicted_R": 0.7751,
"predicted_RBI": 0.7534,
"predicted_SLG": 0.362,
"predicted_SO": 2.6067
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.587,
"after": 0.587,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0172,
"after": 0.0172,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.4851,
"after": 7.4851,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2258,
"after": 0.2122,
"delta": -0.0136,
"percent_delta": -0.0602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.602,
"after": 0.5901,
"delta": -0.0119,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7001,
"after": 1.5886,
"delta": -0.1115,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1783,
"after": 0.1664,
"delta": -0.0119,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2993,
"after": 0.2698,
"delta": -0.0295,
"percent_delta": -0.0986,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8732,
"after": 0.7751,
"delta": -0.0981,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8487,
"after": 0.7534,
"delta": -0.0953,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3989,
"after": 0.362,
"delta": -0.0369,
"percent_delta": -0.0925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5561,
"after": 2.6067,
"delta": 0.0506,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.5561,
"after": 2.6067,
"delta": 0.0506,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.7001,
"after": 1.5886,
"delta": -0.1115,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.49), rates preserved: AVG=0.212 HR/AB=0.022",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.587,
"after": 1.0,
"delta": 0.413,
"percent_delta": 0.7036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0172,
"after": 0.0,
"delta": -0.0172,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.4851,
"after": 7.0,
"delta": -0.4851,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5901,
"after": 1.0,
"delta": 0.4099,
"percent_delta": 0.6946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5886,
"after": 1.0,
"delta": -0.5886,
"percent_delta": -0.3705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1664,
"after": 0.0,
"delta": -0.1664,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7534,
"after": 1.0,
"delta": 0.2466,
"percent_delta": 0.3273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6067,
"after": 2.0,
"delta": -0.6067,
"percent_delta": -0.2327,
"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_2B",
"before": 0.587,
"after": 1.0,
"delta": 0.413,
"percent_delta": 0.7036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.6067,
"after": 2.0,
"delta": -0.6067,
"percent_delta": -0.2327,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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": 7.0,
"after": 7.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.7751,
"after": 1.0,
"delta": 0.2249,
"percent_delta": 0.2902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7751,
"after": 1.0,
"delta": 0.2249,
"percent_delta": 0.2902,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.143,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2122,
"after": 0.143,
"delta": -0.0692,
"percent_delta": -0.3261,
"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.2698,
"after": 0.25,
"delta": -0.0198,
"percent_delta": -0.0734,
"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.362,
"after": 0.286,
"delta": -0.076,
"percent_delta": -0.2099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.286,
"delta": -0.076,
"percent_delta": -0.2099,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"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.2122,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2698,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.362,
"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.143,
"after": 0.2122,
"delta": 0.0692,
"percent_delta": 0.4841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2698,
"delta": 0.0198,
"percent_delta": 0.0792,
"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.286,
"after": 0.362,
"delta": 0.076,
"percent_delta": 0.2656,
"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.286,
"after": 0.362,
"delta": 0.076,
"percent_delta": 0.2656,
"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.274,
"after": 0.0,
"delta": -0.274,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.36,
"after": 3.0,
"delta": -1.36,
"percent_delta": -0.3119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2122,
"delta": -0.0108,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.274,
"after": 1.0,
"delta": 0.726,
"percent_delta": 2.6496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2698,
"delta": -0.0352,
"percent_delta": -0.1154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.362,
"delta": -0.046,
"percent_delta": -0.1127,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.261,
"after": 1.0,
"delta": -0.261,
"percent_delta": -0.207,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.274,
"after": 1.0,
"delta": 0.726,
"percent_delta": 2.6496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.36,
"after": 3.0,
"delta": -1.36,
"percent_delta": -0.3119,
"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.274 | - |
| predicted_3B | 0.004 | - |
| predicted_AB | 4.360 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.274 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.415 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 1.261 | - |
Final model 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.587 | 0.313 |
| predicted_3B | 0.017 | 0.013 |
| predicted_AB | 7.485 | 3.125 |
| predicted_AVG | 0.226 | 0.003 |
| predicted_BB | 0.602 | 0.328 |
| predicted_H | 1.700 | 0.730 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.178 | 0.058 |
| predicted_OBP | 0.299 | -0.006 |
| predicted_R | 0.873 | 0.458 |
| predicted_RBI | 0.849 | 0.319 |
| predicted_SLG | 0.399 | -0.009 |
| predicted_SO | 2.556 | 1.295 |
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.587 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 7.485 | 0.000 |
| predicted_AVG | 0.212 | -0.014 |
| predicted_BB | 0.590 | -0.012 |
| predicted_H | 1.589 | -0.111 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.166 | -0.012 |
| predicted_OBP | 0.270 | -0.030 |
| predicted_R | 0.775 | -0.098 |
| predicted_RBI | 0.753 | -0.095 |
| predicted_SLG | 0.362 | -0.037 |
| predicted_SO | 2.607 | 0.051 |
AB rounded to 7 (raw=7.49), rates preserved: AVG=0.212 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.413 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 7.000 | -0.485 |
| predicted_AVG | 0.143 | -0.069 |
| predicted_BB | 1.000 | 0.410 |
| predicted_H | 1.000 | -0.589 |
| predicted_HR | 0.000 | -0.166 |
| predicted_OBP | 0.250 | -0.020 |
| predicted_R | 1.000 | 0.225 |
| predicted_RBI | 1.000 | 0.247 |
| predicted_SLG | 0.286 | -0.076 |
| predicted_SO | 2.000 | -0.607 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 4.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 10.000 | 0.1905 | 0.2917 | 0.3333 | 0.1905 | 0.0000 | 0.0476 | 0.1429 | 0.4762 |
| last_10 | 0.20 | 7 | - | 41.000 | 6.000 | 3.000 | 1.000 | 0.000 | 2.000 | 5.000 | 4.000 | 19.000 | 0.1463 | 0.2222 | 0.2683 | 0.1463 | 0.0000 | 0.0488 | 0.0976 | 0.4634 |
| season | 0.60 | 61 | - | 911.000 | 230.000 | 64.000 | 1.000 | 29.000 | 125.000 | 97.000 | 64.000 | 295.000 | 0.2525 | 0.3004 | 0.4204 | 0.2525 | 0.0318 | 0.1372 | 0.0703 | 0.3238 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9830 |
| predicted_3B | 0.0340 |
| predicted_AB | 11.4400 |
| predicted_AVG | 0.2294 |
| predicted_BB | 1.0170 |
| predicted_H | 2.6240 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.2520 |
| predicted_OBP | 0.2920 |
| predicted_R | 1.4530 |
| predicted_RBI | 1.2520 |
| predicted_SLG | 0.3874 |
| predicted_SO | 4.1950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2740 | 0.9830 | 0.5870 | model_form_blend |
| predicted_3B | 0.0040 | 0.0340 | 0.0172 | model_form_blend |
| predicted_AB | 4.3600 | 11.4400 | 7.4851 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2294 | 0.2258 | model_form_blend |
| predicted_BB | 0.2740 | 1.0170 | 0.6020 | model_form_blend |
| predicted_H | 0.9700 | 2.6240 | 1.7001 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.1200 | 0.2520 | 0.1783 | model_form_blend |
| predicted_OBP | 0.3050 | 0.2920 | 0.2993 | model_form_blend |
| predicted_R | 0.4150 | 1.4530 | 0.8732 | model_form_blend |
| predicted_RBI | 0.5300 | 1.2520 | 0.8487 | model_form_blend |
| predicted_SLG | 0.4080 | 0.3874 | 0.3989 | model_form_blend |
| predicted_SO | 1.2610 | 4.1950 | 2.5561 | 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 | 234 |
| Season rows before report date | 234 |
| Report year | 2026 |
| Profile rows used | 234 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.252 |
| 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 | 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 | 20260603_SF@MIL |
| game_type | full |
| mlbID | 646240 |
| playerID | 646240 |
| playerName | Rafael Devers |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-03 |
| sl_k_percent | 30.8 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.306 |
| sl_xwoba | 0.29 |
| sl_xba | 0.221 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 49.4 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 31.5 |
| sl_swing_percent | 51.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.186 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.065 | 0.000 | 0.000 | Hitting_3B | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_AB | 4.340 | 4.000 | 8.000 | Hitting_AB | 4.065 | 4.000 | -0.065 | 0.000 |
| predicted_AVG | 0.254 | 0.000 | 0.250 | Hitting_AVG | 0.337 | 0.250 | -0.337 | -0.250 |
| predicted_BB | 0.273 | 0.000 | 1.000 | Hitting_BB | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.100 | 0.000 | 2.000 | Hitting_H | 1.368 | 1.000 | -1.368 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_OBP | 0.338 | 0.000 | 0.333 | Hitting_OBP | 0.379 | 0.250 | -0.379 | -0.250 |
| predicted_R | 0.558 | 0.000 | 1.000 | Hitting_R | 0.558 | 0.000 | -0.558 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 1.000 | Hitting_RBI | 0.433 | 0.000 | -0.433 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_SLG | 0.406 | 0.000 | 0.250 | Hitting_SLG | 0.446 | 0.250 | -0.446 | -0.250 |
| predicted_SO | 0.186 | 2.000 | 0.000 | Hitting_SO | 0.186 | 1.000 | 1.814 | 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 | 1 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.1860 -> 2.0000 (boost 1.8140, worse) |
| Biggest Deboost | predicted_H: 1.1000 -> 0.0000 (deboost -1.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.3400 -> 7.8219 (boost 3.4819, 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 | 5 | 0 | 5 | 0 | 5 | - | predicted_H: 2.3805 -> 2.2243 (deboost -0.1562, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 3 | 6 | 4 | 5 | predicted_BB: 0.5365 -> 1.0000 (boost 0.4635, better) | predicted_SO: 0.4532 -> 0.0000 (deboost -0.4532, better) | AB rounded to 8 (raw=7.82), rates preserved: AVG=0.284 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9314 -> 1.0000 (boost 0.0686, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3986 -> 0.2500 (deboost -0.1486, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, worse) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3986 (boost 0.1486, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650333",
"player_name": "Luis Arraez",
"position": "2B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.186,
"predicted_3B": 0.065,
"predicted_AB": 4.34,
"predicted_AVG": 0.254,
"predicted_BB": 0.273,
"predicted_H": 1.1,
"predicted_HR": 0.06,
"predicted_OBP": 0.338,
"predicted_R": 0.558,
"predicted_RBI": 0.48,
"predicted_SLG": 0.406,
"predicted_SO": 0.186
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3468,
"predicted_3B": 0.1657,
"predicted_AB": 7.8219,
"predicted_AVG": 0.2863,
"predicted_BB": 0.5473,
"predicted_H": 2.3805,
"predicted_HBP": 0.125,
"predicted_HR": 0.0768,
"predicted_OBP": 0.3512,
"predicted_R": 1.0492,
"predicted_RBI": 0.9791,
"predicted_SLG": 0.4228,
"predicted_SO": 0.4444
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.3468,
"delta": 0.1608,
"percent_delta": 0.8645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.065,
"after": 0.1657,
"delta": 0.1007,
"percent_delta": 1.5492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 7.8219,
"delta": 3.4819,
"percent_delta": 0.8023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2863,
"delta": 0.0323,
"percent_delta": 0.1272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.273,
"after": 0.5473,
"delta": 0.2743,
"percent_delta": 1.0048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 2.3805,
"delta": 1.2805,
"percent_delta": 1.1641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0768,
"delta": 0.0168,
"percent_delta": 0.28,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3512,
"delta": 0.0132,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.558,
"after": 1.0492,
"delta": 0.4912,
"percent_delta": 0.8803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.9791,
"delta": 0.4991,
"percent_delta": 1.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4228,
"delta": 0.0168,
"percent_delta": 0.0414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.186,
"after": 0.4444,
"delta": 0.2584,
"percent_delta": 1.3892,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.34,
"after": 7.8219,
"delta": 3.4819,
"percent_delta": 0.8023,
"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": 58
}
},
{
"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.3468,
"predicted_3B": 0.1657,
"predicted_AB": 7.8219,
"predicted_AVG": 0.2844,
"predicted_BB": 0.5365,
"predicted_H": 2.2243,
"predicted_HBP": 0.125,
"predicted_HR": 0.0717,
"predicted_OBP": 0.3303,
"predicted_R": 0.9314,
"predicted_RBI": 0.8691,
"predicted_SLG": 0.3986,
"predicted_SO": 0.4532
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3468,
"after": 0.3468,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1657,
"after": 0.1657,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8219,
"after": 7.8219,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2863,
"after": 0.2844,
"delta": -0.0019,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5473,
"after": 0.5365,
"delta": -0.0108,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3805,
"after": 2.2243,
"delta": -0.1562,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.125,
"after": 0.125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0768,
"after": 0.0717,
"delta": -0.0051,
"percent_delta": -0.0664,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3512,
"after": 0.3303,
"delta": -0.0209,
"percent_delta": -0.0595,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0492,
"after": 0.9314,
"delta": -0.1178,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9791,
"after": 0.8691,
"delta": -0.11,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4228,
"after": 0.3986,
"delta": -0.0242,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4444,
"after": 0.4532,
"delta": 0.0088,
"percent_delta": 0.0198,
"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": 2.3805,
"after": 2.2243,
"delta": -0.1562,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.82), rates preserved: AVG=0.284 HR/AB=0.009",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3468,
"after": 0.0,
"delta": -0.3468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1657,
"after": 0.0,
"delta": -0.1657,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.8219,
"after": 8.0,
"delta": 0.1781,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5365,
"after": 1.0,
"delta": 0.4635,
"percent_delta": 0.8639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2243,
"after": 2.0,
"delta": -0.2243,
"percent_delta": -0.1008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0717,
"after": 0.0,
"delta": -0.0717,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8691,
"after": 1.0,
"delta": 0.1309,
"percent_delta": 0.1506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4532,
"after": 0.0,
"delta": -0.4532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5365,
"after": 1.0,
"delta": 0.4635,
"percent_delta": 0.8639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4532,
"after": 0.0,
"delta": -0.4532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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.9314,
"after": 1.0,
"delta": 0.0686,
"percent_delta": 0.0737,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.9314,
"after": 1.0,
"delta": 0.0686,
"percent_delta": 0.0737,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2844,
"after": 0.25,
"delta": -0.0344,
"percent_delta": -0.121,
"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": 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.3303,
"after": 0.333,
"delta": 0.0027,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3986,
"after": 0.25,
"delta": -0.1486,
"percent_delta": -0.3728,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3986,
"after": 0.25,
"delta": -0.1486,
"percent_delta": -0.3728,
"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": 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": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"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.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"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": 4.0,
"predicted_AVG": 0.2844,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3303,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3986,
"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.2844,
"delta": 0.0344,
"percent_delta": 0.1375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3303,
"delta": -0.0027,
"percent_delta": -0.0081,
"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.3986,
"delta": 0.1486,
"percent_delta": 0.5943,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3986,
"delta": 0.1486,
"percent_delta": 0.5943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.0,
"delta": -0.186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.065,
"after": 0.0,
"delta": -0.065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 4.0,
"delta": -0.34,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2844,
"delta": 0.0304,
"percent_delta": 0.1197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.273,
"after": 0.0,
"delta": -0.273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"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.338,
"after": 0.3303,
"delta": -0.0077,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.558,
"after": 0.0,
"delta": -0.558,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.3986,
"delta": -0.0074,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.186,
"after": 2.0,
"delta": 1.814,
"percent_delta": 9.7527,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 2,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.186,
"after": 2.0,
"delta": 1.814,
"percent_delta": 9.7527,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"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.186 | - |
| predicted_3B | 0.065 | - |
| predicted_AB | 4.340 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.273 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.558 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 0.186 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.347 | 0.161 |
| predicted_3B | 0.166 | 0.101 |
| predicted_AB | 7.822 | 3.482 |
| predicted_AVG | 0.286 | 0.032 |
| predicted_BB | 0.547 | 0.274 |
| predicted_H | 2.381 | 1.280 |
| predicted_HBP | 0.125 | - |
| predicted_HR | 0.077 | 0.017 |
| predicted_OBP | 0.351 | 0.013 |
| predicted_R | 1.049 | 0.491 |
| predicted_RBI | 0.979 | 0.499 |
| predicted_SLG | 0.423 | 0.017 |
| predicted_SO | 0.444 | 0.258 |
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.347 | 0.000 |
| predicted_3B | 0.166 | 0.000 |
| predicted_AB | 7.822 | 0.000 |
| predicted_AVG | 0.284 | -0.002 |
| predicted_BB | 0.536 | -0.011 |
| predicted_H | 2.224 | -0.156 |
| predicted_HBP | 0.125 | 0.000 |
| predicted_HR | 0.072 | -0.005 |
| predicted_OBP | 0.330 | -0.021 |
| predicted_R | 0.931 | -0.118 |
| predicted_RBI | 0.869 | -0.110 |
| predicted_SLG | 0.399 | -0.024 |
| predicted_SO | 0.453 | 0.009 |
AB rounded to 8 (raw=7.82), rates preserved: AVG=0.284 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 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.347 |
| predicted_3B | 0.000 | -0.166 |
| predicted_AB | 8.000 | 0.178 |
| predicted_AVG | 0.250 | -0.034 |
| predicted_BB | 1.000 | 0.464 |
| predicted_H | 2.000 | -0.224 |
| predicted_HR | 0.000 | -0.072 |
| predicted_OBP | 0.333 | 0.003 |
| predicted_R | 1.000 | 0.069 |
| predicted_RBI | 1.000 | 0.131 |
| predicted_SLG | 0.250 | -0.149 |
| predicted_SO | 0.000 | -0.453 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 5.000 | 1.000 | 1.000 | 0.000 | 3.000 | 3.000 | 2.000 | 2.000 | 0.2500 | 0.2917 | 0.4000 | 0.2500 | 0.0000 | 0.1500 | 0.1000 | 0.1000 |
| last_10 | 0.20 | 7 | - | 40.000 | 19.000 | 1.000 | 1.000 | 0.000 | 11.000 | 4.000 | 2.000 | 2.000 | 0.4750 | 0.4889 | 0.5500 | 0.4750 | 0.0000 | 0.2750 | 0.0500 | 0.0500 |
| season | 0.60 | 58 | - | 939.000 | 316.000 | 43.000 | 15.000 | 10.000 | 100.000 | 129.000 | 63.000 | 43.000 | 0.3365 | 0.3794 | 0.4462 | 0.3365 | 0.0106 | 0.1065 | 0.0671 | 0.0458 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5500 |
| predicted_3B | 0.2930 |
| predicted_AB | 12.2230 |
| predicted_AVG | 0.3272 |
| predicted_BB | 0.8940 |
| predicted_H | 3.9990 |
| predicted_HBP | 0.1250 |
| predicted_HR | 0.0980 |
| predicted_OBP | 0.3678 |
| predicted_R | 1.6700 |
| predicted_RBI | 1.6100 |
| predicted_SLG | 0.4441 |
| predicted_SO | 0.7710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.5500 | 0.3468 | model_form_blend |
| predicted_3B | 0.0650 | 0.2930 | 0.1657 | model_form_blend |
| predicted_AB | 4.3400 | 12.2230 | 7.8219 | model_form_blend |
| predicted_AVG | 0.2540 | 0.3272 | 0.2863 | model_form_blend |
| predicted_BB | 0.2730 | 0.8940 | 0.5473 | model_form_blend |
| predicted_H | 1.1000 | 3.9990 | 2.3805 | model_form_blend |
| predicted_HBP | - | 0.1250 | 0.1250 | form_only |
| predicted_HR | 0.0600 | 0.0980 | 0.0768 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3678 | 0.3512 | model_form_blend |
| predicted_R | 0.5580 | 1.6700 | 1.0492 | model_form_blend |
| predicted_RBI | 0.4800 | 1.6100 | 0.9791 | model_form_blend |
| predicted_SLG | 0.4060 | 0.4441 | 0.4228 | model_form_blend |
| predicted_SO | 0.1860 | 0.7710 | 0.4444 | 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 | 231 |
| Season rows before report date | 231 |
| Report year | 2026 |
| Profile rows used | 231 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.337 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 2B |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 650333 |
| playerID | 650333 |
| playerName | Luis Arraez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-03 |
| sl_k_percent | 4.3 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.345 |
| sl_xwoba | 0.309 |
| sl_xba | 0.292 |
| sl_xslg | 0.368 |
| sl_sweet_spot_percent | 41.2 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 21.1 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 8.4 |
| 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.179 | 0.000 | 0.000 | Hitting_2B | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.232 | 3.000 | 5.000 | Hitting_AB | 3.232 | 3.000 | -0.232 | 0.000 |
| predicted_AVG | 0.270 | 0.333 | 0.200 | Hitting_AVG | 0.210 | 0.333 | 0.123 | 0.000 |
| predicted_BB | 0.393 | 0.000 | 1.000 | Hitting_BB | 0.393 | 1.000 | -0.393 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 0.679 | 1.000 | 0.321 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_OBP | 0.354 | 0.250 | 0.333 | Hitting_OBP | 0.294 | 0.500 | -0.044 | -0.250 |
| predicted_R | 0.268 | 1.000 | 1.000 | Hitting_R | 0.268 | 0.000 | 0.732 | 1.000 |
| predicted_RBI | 0.360 | 2.000 | 0.000 | Hitting_RBI | 0.143 | 0.000 | 1.857 | 2.000 |
| predicted_SLG | 0.488 | 0.333 | 0.200 | Hitting_SLG | 0.348 | 0.333 | -0.015 | 0.000 |
| predicted_SO | 0.946 | 1.000 | 1.000 | Hitting_SO | 0.946 | 1.000 | 0.054 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_RBI: 0.3600 -> 2.0000 (boost 1.6400, better) |
| Biggest Deboost | predicted_BB: 0.3930 -> 0.0000 (deboost -0.3930, 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 | 7 | 0 | 6 | 1 | predicted_AB: 3.2320 -> 4.5763 (boost 1.3443, 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 | 5 | 0 | 5 | 0 | 5 | - | predicted_H: 1.2470 -> 1.1652 (deboost -0.0818, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.5231 -> 1.0000 (boost 0.4769, better) | predicted_2B: 0.3820 -> 0.0000 (deboost -0.3820, worse) | AB rounded to 5 (raw=4.58), rates preserved: AVG=0.255 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5063 -> 1.0000 (boost 0.4937, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4383 -> 0.2000 (deboost -0.2383, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 2 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2000 -> 0.4383 (boost 0.2383, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "DH",
"team": "SF",
"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": 3.232,
"predicted_AVG": 0.27,
"predicted_BB": 0.393,
"predicted_H": 0.87,
"predicted_HR": 0.12,
"predicted_OBP": 0.354,
"predicted_R": 0.268,
"predicted_RBI": 0.36,
"predicted_SLG": 0.488,
"predicted_SO": 0.946
},
"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.382,
"predicted_3B": 0.0012,
"predicted_AB": 4.5763,
"predicted_AVG": 0.272,
"predicted_BB": 0.5337,
"predicted_H": 1.247,
"predicted_HBP": 0.008,
"predicted_HR": 0.1629,
"predicted_OBP": 0.3514,
"predicted_R": 0.5704,
"predicted_RBI": 0.4116,
"predicted_SLG": 0.4858,
"predicted_SO": 1.2814
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.382,
"delta": 0.203,
"percent_delta": 1.1341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.232,
"after": 4.5763,
"delta": 1.3443,
"percent_delta": 0.4159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.272,
"delta": 0.002,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 0.5337,
"delta": 0.1407,
"percent_delta": 0.358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.247,
"delta": 0.377,
"percent_delta": 0.4333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1629,
"delta": 0.0429,
"percent_delta": 0.3575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3514,
"delta": -0.0026,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.268,
"after": 0.5704,
"delta": 0.3024,
"percent_delta": 1.1284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.4116,
"delta": 0.0516,
"percent_delta": 0.1433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.4858,
"delta": -0.0022,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.946,
"after": 1.2814,
"delta": 0.3354,
"percent_delta": 0.3545,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.232,
"after": 4.5763,
"delta": 1.3443,
"percent_delta": 0.4159,
"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": 8,
"season": 21
}
},
{
"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.382,
"predicted_3B": 0.0012,
"predicted_AB": 4.5763,
"predicted_AVG": 0.2546,
"predicted_BB": 0.5231,
"predicted_H": 1.1652,
"predicted_HBP": 0.008,
"predicted_HR": 0.1521,
"predicted_OBP": 0.3311,
"predicted_R": 0.5063,
"predicted_RBI": 0.3654,
"predicted_SLG": 0.4383,
"predicted_SO": 1.3068
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.382,
"after": 0.382,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5763,
"after": 4.5763,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2546,
"delta": -0.0174,
"percent_delta": -0.064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5337,
"after": 0.5231,
"delta": -0.0106,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.247,
"after": 1.1652,
"delta": -0.0818,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1629,
"after": 0.1521,
"delta": -0.0108,
"percent_delta": -0.0663,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3514,
"after": 0.3311,
"delta": -0.0203,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5704,
"after": 0.5063,
"delta": -0.0641,
"percent_delta": -0.1124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4116,
"after": 0.3654,
"delta": -0.0462,
"percent_delta": -0.1122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4858,
"after": 0.4383,
"delta": -0.0475,
"percent_delta": -0.0978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2814,
"after": 1.3068,
"delta": 0.0254,
"percent_delta": 0.0198,
"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": 1.247,
"after": 1.1652,
"delta": -0.0818,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.58), rates preserved: AVG=0.255 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5763,
"after": 5.0,
"delta": 0.4237,
"percent_delta": 0.0926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5231,
"after": 1.0,
"delta": 0.4769,
"percent_delta": 0.9117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1652,
"after": 1.0,
"delta": -0.1652,
"percent_delta": -0.1418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1521,
"after": 0.0,
"delta": -0.1521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3654,
"after": 0.0,
"delta": -0.3654,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3068,
"after": 1.0,
"delta": -0.3068,
"percent_delta": -0.2348,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5231,
"after": 1.0,
"delta": 0.4769,
"percent_delta": 0.9117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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.5063,
"after": 1.0,
"delta": 0.4937,
"percent_delta": 0.9751,
"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.5063,
"after": 1.0,
"delta": 0.4937,
"percent_delta": 0.9751,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.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.2546,
"after": 0.2,
"delta": -0.0546,
"percent_delta": -0.2145,
"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.3311,
"after": 0.333,
"delta": 0.0019,
"percent_delta": 0.0057,
"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.4383,
"after": 0.2,
"delta": -0.2383,
"percent_delta": -0.5437,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4383,
"after": 0.2,
"delta": -0.2383,
"percent_delta": -0.5437,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 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": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2546,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3311,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4383,
"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.2,
"after": 0.2546,
"delta": 0.0546,
"percent_delta": 0.2731,
"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.333,
"after": 0.3311,
"delta": -0.0019,
"percent_delta": -0.0058,
"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": 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": 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.2,
"after": 0.4383,
"delta": 0.2383,
"percent_delta": 1.1915,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4383,
"delta": 0.2383,
"percent_delta": 1.1915,
"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.179,
"after": 0.0,
"delta": -0.179,
"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.232,
"after": 3.0,
"delta": -0.232,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2546,
"delta": -0.0154,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 0.0,
"delta": -0.393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3311,
"delta": -0.0229,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"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.36,
"after": 2.0,
"delta": 1.64,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.4383,
"delta": -0.0497,
"percent_delta": -0.1018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.946,
"after": 1.0,
"delta": 0.054,
"percent_delta": 0.0571,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.36,
"after": 2.0,
"delta": 1.64,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.393,
"after": 0.0,
"delta": -0.393,
"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.179 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.232 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.393 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.268 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.488 | - |
| predicted_SO | 0.946 | - |
Final model 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.382 | 0.203 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.576 | 1.344 |
| predicted_AVG | 0.272 | 0.002 |
| predicted_BB | 0.534 | 0.141 |
| predicted_H | 1.247 | 0.377 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.163 | 0.043 |
| predicted_OBP | 0.351 | -0.003 |
| predicted_R | 0.570 | 0.302 |
| predicted_RBI | 0.412 | 0.052 |
| predicted_SLG | 0.486 | -0.002 |
| predicted_SO | 1.281 | 0.335 |
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.382 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.576 | 0.000 |
| predicted_AVG | 0.255 | -0.017 |
| predicted_BB | 0.523 | -0.011 |
| predicted_H | 1.165 | -0.082 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.152 | -0.011 |
| predicted_OBP | 0.331 | -0.020 |
| predicted_R | 0.506 | -0.064 |
| predicted_RBI | 0.365 | -0.046 |
| predicted_SLG | 0.438 | -0.047 |
| predicted_SO | 1.307 | 0.025 |
AB rounded to 5 (raw=4.58), rates preserved: AVG=0.255 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.382 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.424 |
| predicted_AVG | 0.200 | -0.055 |
| predicted_BB | 1.000 | 0.477 |
| predicted_H | 1.000 | -0.165 |
| predicted_HR | 0.000 | -0.152 |
| predicted_OBP | 0.333 | 0.002 |
| predicted_R | 1.000 | 0.494 |
| predicted_RBI | 0.000 | -0.365 |
| predicted_SLG | 0.200 | -0.238 |
| predicted_SO | 1.000 | -0.307 |
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 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.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 | 8.000 | 4.000 | 0.000 | 1.000 | 2.000 | 6.000 | 1.000 | 5.000 | 0.4444 | 0.4737 | 0.8333 | 0.4444 | 0.0556 | 0.1111 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 8 | - | 29.000 | 10.000 | 6.000 | 0.000 | 1.000 | 3.000 | 7.000 | 6.000 | 6.000 | 0.3448 | 0.4444 | 0.6552 | 0.3448 | 0.0345 | 0.1035 | 0.2069 | 0.2069 |
| season | 0.60 | 21 | - | 181.000 | 38.000 | 10.000 | 0.000 | 5.000 | 8.000 | 15.000 | 22.000 | 53.000 | 0.2099 | 0.2941 | 0.3481 | 0.2099 | 0.0276 | 0.0442 | 0.1216 | 0.2928 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6710 |
| predicted_3B | 0.0030 |
| predicted_AB | 6.4910 |
| predicted_AVG | 0.2748 |
| predicted_BB | 0.7340 |
| predicted_H | 1.7840 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.2240 |
| predicted_OBP | 0.3477 |
| predicted_R | 1.0010 |
| predicted_RBI | 0.4850 |
| predicted_SLG | 0.4827 |
| predicted_SO | 1.7590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.6710 | 0.3820 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.2320 | 6.4910 | 4.5763 | model_form_blend |
| predicted_AVG | 0.2700 | 0.2748 | 0.2720 | model_form_blend |
| predicted_BB | 0.3930 | 0.7340 | 0.5337 | model_form_blend |
| predicted_H | 0.8700 | 1.7840 | 1.2470 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1200 | 0.2240 | 0.1629 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3477 | 0.3514 | model_form_blend |
| predicted_R | 0.2680 | 1.0010 | 0.5704 | model_form_blend |
| predicted_RBI | 0.3600 | 0.4850 | 0.4116 | model_form_blend |
| predicted_SLG | 0.4880 | 0.4827 | 0.4858 | model_form_blend |
| predicted_SO | 0.9460 | 1.7590 | 1.2814 | 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 | 56 |
| Season rows before report date | 56 |
| 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| 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 | DH |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 805811 |
| playerID | 805811 |
| playerName | Bryce Eldridge |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-03 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.345 |
| sl_xwoba | 0.391 |
| sl_xba | 0.298 |
| sl_xslg | 0.548 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 58.3 |
| sl_exit_velocity_avg | 93.3 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 47.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.253 | 0.000 | 0.000 | Hitting_2B | 0.253 | 0.000 | -0.253 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.837 | 4.000 | 7.000 | Hitting_AB | 3.837 | 4.000 | 0.163 | 0.000 |
| predicted_AVG | 0.221 | 0.000 | 0.143 | Hitting_AVG | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_BB | 0.468 | 0.000 | 1.000 | Hitting_BB | 0.468 | 0.000 | -0.468 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.820 | 0.000 | 1.000 | Hitting_H | 0.858 | 0.000 | -0.858 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.250 | Hitting_OBP | 0.315 | 0.000 | -0.315 | 0.000 |
| predicted_R | 0.421 | 0.000 | 1.000 | Hitting_R | 0.421 | 0.000 | -0.421 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_SLG | 0.357 | 0.000 | 0.143 | Hitting_SLG | 0.319 | 0.000 | -0.319 | 0.000 |
| predicted_SO | 1.004 | 2.000 | 2.000 | Hitting_SO | 1.004 | 1.000 | 0.996 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 1.0040 -> 2.0000 (boost 0.9960, worse) |
| Biggest Deboost | predicted_H: 0.8200 -> 0.0000 (deboost -0.8200, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.8370 -> 7.1418 (boost 3.3048, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 1.5221 -> 1.4223 (deboost -0.0998, 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_SO: 1.7106 -> 2.0000 (boost 0.2894, worse) | predicted_2B: 0.5051 -> 0.0000 (deboost -0.5051, worse) | AB rounded to 7 (raw=7.14), rates preserved: AVG=0.199 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6799 -> 1.0000 (boost 0.3201, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3343 -> 0.1430 (deboost -0.1913, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3343 (boost 0.1913, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656305",
"player_name": "Matt Chapman",
"position": "3B",
"team": "SF",
"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.253,
"predicted_3B": 0.017,
"predicted_AB": 3.837,
"predicted_AVG": 0.221,
"predicted_BB": 0.468,
"predicted_H": 0.82,
"predicted_HR": 0.09,
"predicted_OBP": 0.301,
"predicted_R": 0.421,
"predicted_RBI": 0.45,
"predicted_SLG": 0.357,
"predicted_SO": 1.004
},
"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.5051,
"predicted_3B": 0.0249,
"predicted_AB": 7.1418,
"predicted_AVG": 0.2174,
"predicted_BB": 0.8142,
"predicted_H": 1.5221,
"predicted_HBP": 0.087,
"predicted_HR": 0.1465,
"predicted_OBP": 0.2985,
"predicted_R": 0.7659,
"predicted_RBI": 0.8576,
"predicted_SLG": 0.3537,
"predicted_SO": 1.6774
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.253,
"after": 0.5051,
"delta": 0.2521,
"percent_delta": 0.9964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0249,
"delta": 0.0079,
"percent_delta": 0.4647,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.837,
"after": 7.1418,
"delta": 3.3048,
"percent_delta": 0.8613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2174,
"delta": -0.0036,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.468,
"after": 0.8142,
"delta": 0.3462,
"percent_delta": 0.7397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.5221,
"delta": 0.7021,
"percent_delta": 0.8562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1465,
"delta": 0.0565,
"percent_delta": 0.6278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2985,
"delta": -0.0025,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.421,
"after": 0.7659,
"delta": 0.3449,
"percent_delta": 0.8192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.8576,
"delta": 0.4076,
"percent_delta": 0.9058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3537,
"delta": -0.0033,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.004,
"after": 1.6774,
"delta": 0.6734,
"percent_delta": 0.6707,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.837,
"after": 7.1418,
"delta": 3.3048,
"percent_delta": 0.8613,
"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": 60
}
},
{
"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.5051,
"predicted_3B": 0.0249,
"predicted_AB": 7.1418,
"predicted_AVG": 0.1991,
"predicted_BB": 0.7981,
"predicted_H": 1.4223,
"predicted_HBP": 0.087,
"predicted_HR": 0.1367,
"predicted_OBP": 0.2796,
"predicted_R": 0.6799,
"predicted_RBI": 0.7613,
"predicted_SLG": 0.3343,
"predicted_SO": 1.7106
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5051,
"after": 0.5051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0249,
"after": 0.0249,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1418,
"after": 7.1418,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2174,
"after": 0.1991,
"delta": -0.0183,
"percent_delta": -0.0842,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8142,
"after": 0.7981,
"delta": -0.0161,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5221,
"after": 1.4223,
"delta": -0.0998,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1465,
"after": 0.1367,
"delta": -0.0098,
"percent_delta": -0.0669,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2985,
"after": 0.2796,
"delta": -0.0189,
"percent_delta": -0.0633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7659,
"after": 0.6799,
"delta": -0.086,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8576,
"after": 0.7613,
"delta": -0.0963,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3537,
"after": 0.3343,
"delta": -0.0194,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6774,
"after": 1.7106,
"delta": 0.0332,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.5221,
"after": 1.4223,
"delta": -0.0998,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.14), rates preserved: AVG=0.199 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5051,
"after": 0.0,
"delta": -0.5051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0249,
"after": 0.0,
"delta": -0.0249,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1418,
"after": 7.0,
"delta": -0.1418,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7981,
"after": 1.0,
"delta": 0.2019,
"percent_delta": 0.253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4223,
"after": 1.0,
"delta": -0.4223,
"percent_delta": -0.2969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1367,
"after": 0.0,
"delta": -0.1367,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7613,
"after": 1.0,
"delta": 0.2387,
"percent_delta": 0.3135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7106,
"after": 2.0,
"delta": 0.2894,
"percent_delta": 0.1692,
"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_SO",
"before": 1.7106,
"after": 2.0,
"delta": 0.2894,
"percent_delta": 0.1692,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.5051,
"after": 0.0,
"delta": -0.5051,
"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": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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.6799,
"after": 1.0,
"delta": 0.3201,
"percent_delta": 0.4708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6799,
"after": 1.0,
"delta": 0.3201,
"percent_delta": 0.4708,
"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": 7.0,
"predicted_AVG": 0.143,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.143,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1991,
"after": 0.143,
"delta": -0.0561,
"percent_delta": -0.2818,
"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.2796,
"after": 0.25,
"delta": -0.0296,
"percent_delta": -0.1059,
"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.3343,
"after": 0.143,
"delta": -0.1913,
"percent_delta": -0.5722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3343,
"after": 0.143,
"delta": -0.1913,
"percent_delta": -0.5722,
"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": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.1991,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2796,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3343,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.143,
"after": 0.1991,
"delta": 0.0561,
"percent_delta": 0.3926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2796,
"delta": 0.0296,
"percent_delta": 0.1186,
"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.143,
"after": 0.3343,
"delta": 0.1913,
"percent_delta": 1.3376,
"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.143,
"after": 0.3343,
"delta": 0.1913,
"percent_delta": 1.3376,
"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.253,
"after": 0.0,
"delta": -0.253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.837,
"after": 4.0,
"delta": 0.163,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.1991,
"delta": -0.0219,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.468,
"after": 0.0,
"delta": -0.468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2796,
"delta": -0.0214,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3343,
"delta": -0.0227,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.004,
"after": 2.0,
"delta": 0.996,
"percent_delta": 0.992,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.004,
"after": 2.0,
"delta": 0.996,
"percent_delta": 0.992,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"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.253 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.837 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.468 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.421 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.357 | - |
| predicted_SO | 1.004 | - |
Final model 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.505 | 0.252 |
| predicted_3B | 0.025 | 0.008 |
| predicted_AB | 7.142 | 3.305 |
| predicted_AVG | 0.217 | -0.004 |
| predicted_BB | 0.814 | 0.346 |
| predicted_H | 1.522 | 0.702 |
| predicted_HBP | 0.087 | - |
| predicted_HR | 0.146 | 0.056 |
| predicted_OBP | 0.298 | -0.003 |
| predicted_R | 0.766 | 0.345 |
| predicted_RBI | 0.858 | 0.408 |
| predicted_SLG | 0.354 | -0.003 |
| predicted_SO | 1.677 | 0.673 |
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.505 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 7.142 | 0.000 |
| predicted_AVG | 0.199 | -0.018 |
| predicted_BB | 0.798 | -0.016 |
| predicted_H | 1.422 | -0.100 |
| predicted_HBP | 0.087 | 0.000 |
| predicted_HR | 0.137 | -0.010 |
| predicted_OBP | 0.280 | -0.019 |
| predicted_R | 0.680 | -0.086 |
| predicted_RBI | 0.761 | -0.096 |
| predicted_SLG | 0.334 | -0.019 |
| predicted_SO | 1.711 | 0.033 |
AB rounded to 7 (raw=7.14), rates preserved: AVG=0.199 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.505 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 7.000 | -0.142 |
| predicted_AVG | 0.143 | -0.056 |
| predicted_BB | 1.000 | 0.202 |
| predicted_H | 1.000 | -0.422 |
| predicted_HR | 0.000 | -0.137 |
| predicted_OBP | 0.250 | -0.030 |
| predicted_R | 1.000 | 0.320 |
| predicted_RBI | 1.000 | 0.239 |
| predicted_SLG | 0.143 | -0.191 |
| predicted_SO | 2.000 | 0.289 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 2.000 | 0.000 | 1.000 | 4.000 | 2.000 | 2.000 | 3.000 | 0.2105 | 0.2857 | 0.4737 | 0.2105 | 0.0526 | 0.2105 | 0.1053 | 0.1579 |
| last_10 | 0.20 | 7 | - | 40.000 | 5.000 | 2.000 | 0.000 | 1.000 | 5.000 | 3.000 | 2.000 | 4.000 | 0.1250 | 0.1667 | 0.2500 | 0.1250 | 0.0250 | 0.1250 | 0.0500 | 0.1000 |
| season | 0.60 | 60 | - | 894.000 | 200.000 | 59.000 | 4.000 | 6.000 | 81.000 | 98.000 | 109.000 | 234.000 | 0.2237 | 0.3149 | 0.3188 | 0.2237 | 0.0067 | 0.0906 | 0.1219 | 0.2617 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8240 |
| predicted_3B | 0.0350 |
| predicted_AB | 11.3210 |
| predicted_AVG | 0.2128 |
| predicted_BB | 1.2520 |
| predicted_H | 2.4100 |
| predicted_HBP | 0.0870 |
| predicted_HR | 0.2180 |
| predicted_OBP | 0.2953 |
| predicted_R | 1.2020 |
| predicted_RBI | 1.3730 |
| predicted_SLG | 0.3495 |
| predicted_SO | 2.5290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2530 | 0.8240 | 0.5051 | model_form_blend |
| predicted_3B | 0.0170 | 0.0350 | 0.0249 | model_form_blend |
| predicted_AB | 3.8370 | 11.3210 | 7.1418 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2128 | 0.2174 | model_form_blend |
| predicted_BB | 0.4680 | 1.2520 | 0.8142 | model_form_blend |
| predicted_H | 0.8200 | 2.4100 | 1.5221 | model_form_blend |
| predicted_HBP | - | 0.0870 | 0.0870 | form_only |
| predicted_HR | 0.0900 | 0.2180 | 0.1465 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2953 | 0.2985 | model_form_blend |
| predicted_R | 0.4210 | 1.2020 | 0.7659 | model_form_blend |
| predicted_RBI | 0.4500 | 1.3730 | 0.8576 | model_form_blend |
| predicted_SLG | 0.3570 | 0.3495 | 0.3537 | model_form_blend |
| predicted_SO | 1.0040 | 2.5290 | 1.6774 | 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 | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 233 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| 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 | 3B |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 656305 |
| playerID | 656305 |
| playerName | Matt Chapman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.3 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.289 |
| sl_xwoba | 0.266 |
| sl_xba | 0.205 |
| sl_xslg | 0.294 |
| sl_sweet_spot_percent | 22.1 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 33.1 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 43.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.236 | 0.000 | 0.000 | Hitting_2B | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 3.980 | 4.000 | 7.000 | Hitting_AB | 3.930 | 4.000 | 0.070 | 0.000 |
| predicted_AVG | 0.289 | 0.250 | 0.286 | Hitting_AVG | 0.295 | 0.500 | -0.045 | -0.250 |
| predicted_BB | 0.226 | 0.000 | 0.000 | Hitting_BB | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.150 | 1.000 | 2.000 | Hitting_H | 1.161 | 2.000 | -0.161 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_OBP | 0.380 | 0.250 | 0.286 | Hitting_OBP | 0.339 | 0.500 | -0.089 | -0.250 |
| predicted_R | 0.487 | 0.000 | 1.000 | Hitting_R | 0.487 | 0.000 | -0.487 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_SLG | 0.462 | 0.250 | 0.286 | Hitting_SLG | 0.417 | 0.500 | -0.167 | -0.250 |
| predicted_SO | 0.427 | 1.000 | 1.000 | Hitting_SO | 0.427 | 1.000 | 0.573 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.4270 -> 1.0000 (boost 0.5730, worse) |
| Biggest Deboost | predicted_R: 0.4870 -> 0.0000 (deboost -0.4870, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.9800 -> 6.9478 (boost 2.9678, 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 | 5 | 0 | 5 | 0 | 5 | - | predicted_H: 2.4887 -> 2.3254 (deboost -0.1633, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 3 | 6 | 2 | 7 | predicted_SO: 0.6817 -> 1.0000 (boost 0.3183, worse) | predicted_2B: 0.4080 -> 0.0000 (deboost -0.4080, worse) | AB rounded to 7 (raw=6.95), rates preserved: AVG=0.335 HR/AB=0.012 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8420 -> 1.0000 (boost 0.1580, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4617 -> 0.2860 (deboost -0.1757, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2860 -> 0.4617 (boost 0.1757, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "808982",
"player_name": "Jung Hoo Lee",
"position": "RF",
"team": "SF",
"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.236,
"predicted_3B": 0.03,
"predicted_AB": 3.98,
"predicted_AVG": 0.289,
"predicted_BB": 0.226,
"predicted_H": 1.15,
"predicted_HR": 0.07,
"predicted_OBP": 0.38,
"predicted_R": 0.487,
"predicted_RBI": 0.45,
"predicted_SLG": 0.462,
"predicted_SO": 0.427
},
"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.408,
"predicted_3B": 0.1109,
"predicted_AB": 6.9478,
"predicted_AVG": 0.3338,
"predicted_BB": 0.31,
"predicted_H": 2.4887,
"predicted_HBP": 0.09,
"predicted_HR": 0.0902,
"predicted_OBP": 0.3979,
"predicted_R": 0.9485,
"predicted_RBI": 0.8112,
"predicted_SLG": 0.4883,
"predicted_SO": 0.6685
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.236,
"after": 0.408,
"delta": 0.172,
"percent_delta": 0.7288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.1109,
"delta": 0.0809,
"percent_delta": 2.6967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.98,
"after": 6.9478,
"delta": 2.9678,
"percent_delta": 0.7457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.3338,
"delta": 0.0448,
"percent_delta": 0.155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.226,
"after": 0.31,
"delta": 0.084,
"percent_delta": 0.3717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 2.4887,
"delta": 1.3387,
"percent_delta": 1.1641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0902,
"delta": 0.0202,
"percent_delta": 0.2886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.38,
"after": 0.3979,
"delta": 0.0179,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.487,
"after": 0.9485,
"delta": 0.4615,
"percent_delta": 0.9476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.8112,
"delta": 0.3612,
"percent_delta": 0.8027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4883,
"delta": 0.0263,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.427,
"after": 0.6685,
"delta": 0.2415,
"percent_delta": 0.5656,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.98,
"after": 6.9478,
"delta": 2.9678,
"percent_delta": 0.7457,
"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": 8,
"season": 53
}
},
{
"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.408,
"predicted_3B": 0.1109,
"predicted_AB": 6.9478,
"predicted_AVG": 0.3347,
"predicted_BB": 0.3039,
"predicted_H": 2.3254,
"predicted_HBP": 0.09,
"predicted_HR": 0.0842,
"predicted_OBP": 0.3626,
"predicted_R": 0.842,
"predicted_RBI": 0.7201,
"predicted_SLG": 0.4617,
"predicted_SO": 0.6817
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.408,
"after": 0.408,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1109,
"after": 0.1109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.9478,
"after": 6.9478,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3338,
"after": 0.3347,
"delta": 0.0009,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.3039,
"delta": -0.0061,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4887,
"after": 2.3254,
"delta": -0.1633,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.09,
"after": 0.09,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0902,
"after": 0.0842,
"delta": -0.006,
"percent_delta": -0.0665,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3979,
"after": 0.3626,
"delta": -0.0353,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9485,
"after": 0.842,
"delta": -0.1065,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8112,
"after": 0.7201,
"delta": -0.0911,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4883,
"after": 0.4617,
"delta": -0.0266,
"percent_delta": -0.0545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6685,
"after": 0.6817,
"delta": 0.0132,
"percent_delta": 0.0197,
"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": 2.4887,
"after": 2.3254,
"delta": -0.1633,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.95), rates preserved: AVG=0.335 HR/AB=0.012",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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.408,
"after": 0.0,
"delta": -0.408,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1109,
"after": 0.0,
"delta": -0.1109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.9478,
"after": 7.0,
"delta": 0.0522,
"percent_delta": 0.0075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3039,
"after": 0.0,
"delta": -0.3039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3254,
"after": 2.0,
"delta": -0.3254,
"percent_delta": -0.1399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0842,
"after": 0.0,
"delta": -0.0842,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7201,
"after": 1.0,
"delta": 0.2799,
"percent_delta": 0.3887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6817,
"after": 1.0,
"delta": 0.3183,
"percent_delta": 0.4669,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6817,
"after": 1.0,
"delta": 0.3183,
"percent_delta": 0.4669,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.408,
"after": 0.0,
"delta": -0.408,
"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": 7.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": 7.0,
"after": 7.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.842,
"after": 1.0,
"delta": 0.158,
"percent_delta": 0.1876,
"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.842,
"after": 1.0,
"delta": 0.158,
"percent_delta": 0.1876,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3347,
"after": 0.286,
"delta": -0.0487,
"percent_delta": -0.1455,
"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": 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.3626,
"after": 0.286,
"delta": -0.0766,
"percent_delta": -0.2113,
"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.4617,
"after": 0.286,
"delta": -0.1757,
"percent_delta": -0.3806,
"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.4617,
"after": 0.286,
"delta": -0.1757,
"percent_delta": -0.3806,
"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": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.3347,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3626,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4617,
"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.286,
"after": 0.3347,
"delta": 0.0487,
"percent_delta": 0.1703,
"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.286,
"after": 0.3626,
"delta": 0.0766,
"percent_delta": 0.2678,
"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.286,
"after": 0.4617,
"delta": 0.1757,
"percent_delta": 0.6143,
"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.286,
"after": 0.4617,
"delta": 0.1757,
"percent_delta": 0.6143,
"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.236,
"after": 0.0,
"delta": -0.236,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.98,
"after": 4.0,
"delta": 0.02,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.3347,
"delta": 0.0457,
"percent_delta": 0.1581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 1.0,
"delta": -0.15,
"percent_delta": -0.1304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.38,
"after": 0.3626,
"delta": -0.0174,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.487,
"after": 0.0,
"delta": -0.487,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4617,
"delta": -0.0003,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.427,
"after": 1.0,
"delta": 0.573,
"percent_delta": 1.3419,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.427,
"after": 1.0,
"delta": 0.573,
"percent_delta": 1.3419,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.487,
"after": 0.0,
"delta": -0.487,
"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.236 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 3.980 | - |
| predicted_AVG | 0.289 | - |
| predicted_BB | 0.226 | - |
| predicted_H | 1.150 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.380 | - |
| predicted_R | 0.487 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.462 | - |
| predicted_SO | 0.427 | - |
Final model 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.408 | 0.172 |
| predicted_3B | 0.111 | 0.081 |
| predicted_AB | 6.948 | 2.968 |
| predicted_AVG | 0.334 | 0.045 |
| predicted_BB | 0.310 | 0.084 |
| predicted_H | 2.489 | 1.339 |
| predicted_HBP | 0.090 | - |
| predicted_HR | 0.090 | 0.020 |
| predicted_OBP | 0.398 | 0.018 |
| predicted_R | 0.949 | 0.462 |
| predicted_RBI | 0.811 | 0.361 |
| predicted_SLG | 0.488 | 0.026 |
| predicted_SO | 0.668 | 0.241 |
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.408 | 0.000 |
| predicted_3B | 0.111 | 0.000 |
| predicted_AB | 6.948 | 0.000 |
| predicted_AVG | 0.335 | 0.001 |
| predicted_BB | 0.304 | -0.006 |
| predicted_H | 2.325 | -0.163 |
| predicted_HBP | 0.090 | 0.000 |
| predicted_HR | 0.084 | -0.006 |
| predicted_OBP | 0.363 | -0.035 |
| predicted_R | 0.842 | -0.107 |
| predicted_RBI | 0.720 | -0.091 |
| predicted_SLG | 0.462 | -0.027 |
| predicted_SO | 0.682 | 0.013 |
AB rounded to 7 (raw=6.95), rates preserved: AVG=0.335 HR/AB=0.012
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.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.408 |
| predicted_3B | 0.000 | -0.111 |
| predicted_AB | 7.000 | 0.052 |
| predicted_AVG | 0.286 | -0.049 |
| predicted_BB | 0.000 | -0.304 |
| predicted_H | 2.000 | -0.325 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.286 | -0.077 |
| predicted_R | 1.000 | 0.158 |
| predicted_RBI | 1.000 | 0.280 |
| predicted_SLG | 0.286 | -0.176 |
| predicted_SO | 1.000 | 0.318 |
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 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 11.000 | 1.000 | 1.000 | 0.000 | 3.000 | 3.000 | 0.000 | 1.000 | 0.5789 | 0.5789 | 0.7368 | 0.5789 | 0.0000 | 0.1579 | 0.0000 | 0.0526 |
| last_10 | 0.20 | 8 | - | 32.000 | 19.000 | 2.000 | 1.000 | 0.000 | 5.000 | 7.000 | 0.000 | 1.000 | 0.5938 | 0.5938 | 0.7188 | 0.5938 | 0.0000 | 0.1562 | 0.0000 | 0.0312 |
| season | 0.60 | 53 | - | 782.000 | 231.000 | 47.000 | 6.000 | 12.000 | 76.000 | 97.000 | 45.000 | 85.000 | 0.2954 | 0.3393 | 0.4169 | 0.2954 | 0.0154 | 0.0972 | 0.0575 | 0.1087 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6270 |
| predicted_3B | 0.2140 |
| predicted_AB | 10.7260 |
| predicted_AVG | 0.3909 |
| predicted_BB | 0.4170 |
| predicted_H | 4.1930 |
| predicted_HBP | 0.0900 |
| predicted_HR | 0.1160 |
| predicted_OBP | 0.4208 |
| predicted_R | 1.5360 |
| predicted_RBI | 1.2710 |
| predicted_SLG | 0.5218 |
| predicted_SO | 0.9760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2360 | 0.6270 | 0.4080 | model_form_blend |
| predicted_3B | 0.0300 | 0.2140 | 0.1109 | model_form_blend |
| predicted_AB | 3.9800 | 10.7260 | 6.9478 | model_form_blend |
| predicted_AVG | 0.2890 | 0.3909 | 0.3338 | model_form_blend |
| predicted_BB | 0.2260 | 0.4170 | 0.3100 | model_form_blend |
| predicted_H | 1.1500 | 4.1930 | 2.4887 | model_form_blend |
| predicted_HBP | - | 0.0900 | 0.0900 | form_only |
| predicted_HR | 0.0700 | 0.1160 | 0.0902 | model_form_blend |
| predicted_OBP | 0.3800 | 0.4208 | 0.3979 | model_form_blend |
| predicted_R | 0.4870 | 1.5360 | 0.9485 | model_form_blend |
| predicted_RBI | 0.4500 | 1.2710 | 0.8112 | model_form_blend |
| predicted_SLG | 0.4620 | 0.5218 | 0.4883 | model_form_blend |
| predicted_SO | 0.4270 | 0.9760 | 0.6685 | 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 | 199 |
| Season rows before report date | 199 |
| Report year | 2026 |
| Profile rows used | 199 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | CF-RF |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 808982 |
| playerID | 808982 |
| playerName | Jung Hoo Lee |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-03 |
| sl_k_percent | 10.6 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.343 |
| sl_xwoba | 0.325 |
| sl_xba | 0.303 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 29.7 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 14.2 |
| 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.250 | 1.000 | 0.000 | Hitting_2B | 0.242 | 1.000 | 0.758 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.156 | 4.000 | 4.000 | Hitting_AB | 3.061 | 3.000 | 0.939 | 1.000 |
| predicted_AVG | 0.269 | 0.500 | 0.250 | Hitting_AVG | 0.297 | 0.333 | 0.203 | 0.167 |
| predicted_BB | 0.125 | 0.000 | 0.000 | Hitting_BB | 0.121 | 1.000 | -0.121 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 2.000 | 1.000 | Hitting_H | 0.909 | 1.000 | 1.091 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_OBP | 0.318 | 0.500 | 0.250 | Hitting_OBP | 0.324 | 0.500 | 0.176 | 0.000 |
| predicted_R | 0.625 | 1.000 | 1.000 | Hitting_R | 0.606 | 0.000 | 0.394 | 1.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.545 | 0.000 | -0.545 | 0.000 |
| predicted_SLG | 0.489 | 0.750 | 0.250 | Hitting_SLG | 0.703 | 0.667 | 0.047 | 0.083 |
| predicted_SO | 0.781 | 1.000 | 1.000 | Hitting_SO | 0.758 | 2.000 | 0.242 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.6800 -> 2.0000 (boost 1.3200, better) |
| Biggest Deboost | predicted_RBI: 0.3600 -> 0.0000 (deboost -0.3600, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.1560 -> 4.3857 (boost 1.2297, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_R: 0.7990 -> 0.7093 (deboost -0.0897, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_RBI: 0.5420 -> 0.0000 (deboost -0.5420, worse) | AB rounded to 4 (raw=4.39), rates preserved: AVG=0.251 HR/AB=0.071 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7093 -> 1.0000 (boost 0.2907, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5390 -> 0.2500 (deboost -0.2890, 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.5390 (boost 0.2890, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606992",
"player_name": "Eric Haase",
"position": "C",
"team": "SF",
"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.25,
"predicted_3B": 0.0,
"predicted_AB": 3.156,
"predicted_AVG": 0.269,
"predicted_BB": 0.125,
"predicted_H": 0.68,
"predicted_HR": 0.15,
"predicted_OBP": 0.318,
"predicted_R": 0.625,
"predicted_RBI": 0.36,
"predicted_SLG": 0.489,
"predicted_SO": 0.781
},
"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.3224,
"predicted_3B": 0.0019,
"predicted_AB": 4.3857,
"predicted_AVG": 0.2851,
"predicted_BB": 0.2074,
"predicted_H": 1.1786,
"predicted_HBP": 0.013,
"predicted_HR": 0.3344,
"predicted_OBP": 0.3293,
"predicted_R": 0.799,
"predicted_RBI": 0.6106,
"predicted_SLG": 0.5621,
"predicted_SO": 1.0524
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.3224,
"delta": 0.0724,
"percent_delta": 0.2896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.156,
"after": 4.3857,
"delta": 1.2297,
"percent_delta": 0.3896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2851,
"delta": 0.0161,
"percent_delta": 0.0599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.2074,
"delta": 0.0824,
"percent_delta": 0.6592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.1786,
"delta": 0.4986,
"percent_delta": 0.7332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.3344,
"delta": 0.1844,
"percent_delta": 1.2293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3293,
"delta": 0.0113,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.625,
"after": 0.799,
"delta": 0.174,
"percent_delta": 0.2784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.6106,
"delta": 0.2506,
"percent_delta": 0.6961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.5621,
"delta": 0.0731,
"percent_delta": 0.1495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 1.0524,
"delta": 0.2714,
"percent_delta": 0.3475,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.156,
"after": 4.3857,
"delta": 1.2297,
"percent_delta": 0.3896,
"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": 4,
"last_10": 6,
"season": 12
}
},
{
"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.3224,
"predicted_3B": 0.0019,
"predicted_AB": 4.3857,
"predicted_AVG": 0.2511,
"predicted_BB": 0.2033,
"predicted_H": 1.1013,
"predicted_HBP": 0.013,
"predicted_HR": 0.3121,
"predicted_OBP": 0.2843,
"predicted_R": 0.7093,
"predicted_RBI": 0.542,
"predicted_SLG": 0.539,
"predicted_SO": 1.0732
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3224,
"after": 0.3224,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3857,
"after": 4.3857,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2851,
"after": 0.2511,
"delta": -0.034,
"percent_delta": -0.1193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2074,
"after": 0.2033,
"delta": -0.0041,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1786,
"after": 1.1013,
"delta": -0.0773,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.3344,
"after": 0.3121,
"delta": -0.0223,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3293,
"after": 0.2843,
"delta": -0.045,
"percent_delta": -0.1367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.799,
"after": 0.7093,
"delta": -0.0897,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6106,
"after": 0.542,
"delta": -0.0686,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5621,
"after": 0.539,
"delta": -0.0231,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0524,
"after": 1.0732,
"delta": 0.0208,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.799,
"after": 0.7093,
"delta": -0.0897,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.39), rates preserved: AVG=0.251 HR/AB=0.071",
"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.3224,
"after": 0.0,
"delta": -0.3224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3857,
"after": 4.0,
"delta": -0.3857,
"percent_delta": -0.0879,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2033,
"after": 0.0,
"delta": -0.2033,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1013,
"after": 1.0,
"delta": -0.1013,
"percent_delta": -0.092,
"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.3121,
"after": 0.0,
"delta": -0.3121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.542,
"after": 0.0,
"delta": -0.542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0732,
"after": 1.0,
"delta": -0.0732,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.542,
"after": 0.0,
"delta": -0.542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7093,
"after": 1.0,
"delta": 0.2907,
"percent_delta": 0.4098,
"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.7093,
"after": 1.0,
"delta": 0.2907,
"percent_delta": 0.4098,
"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": 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.2511,
"after": 0.25,
"delta": -0.0011,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2843,
"after": 0.25,
"delta": -0.0343,
"percent_delta": -0.1206,
"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.539,
"after": 0.25,
"delta": -0.289,
"percent_delta": -0.5362,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.539,
"after": 0.25,
"delta": -0.289,
"percent_delta": -0.5362,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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": 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": 4.0,
"predicted_AVG": 0.2511,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2843,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.539,
"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": 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.2511,
"delta": 0.0011,
"percent_delta": 0.0044,
"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": 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.25,
"after": 0.2843,
"delta": 0.0343,
"percent_delta": 0.1371,
"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.539,
"delta": 0.289,
"percent_delta": 1.156,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.539,
"delta": 0.289,
"percent_delta": 1.156,
"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.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"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.156,
"after": 4.0,
"delta": 0.844,
"percent_delta": 0.2674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2511,
"delta": -0.0179,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.2843,
"delta": -0.0337,
"percent_delta": -0.106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.625,
"after": 1.0,
"delta": 0.375,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.539,
"delta": 0.05,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 1.0,
"delta": 0.219,
"percent_delta": 0.2804,
"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_H",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"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.250 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.156 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.125 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.625 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.489 | - |
| predicted_SO | 0.781 | - |
Final model 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.322 | 0.072 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 4.386 | 1.230 |
| predicted_AVG | 0.285 | 0.016 |
| predicted_BB | 0.207 | 0.082 |
| predicted_H | 1.179 | 0.499 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.334 | 0.184 |
| predicted_OBP | 0.329 | 0.011 |
| predicted_R | 0.799 | 0.174 |
| predicted_RBI | 0.611 | 0.251 |
| predicted_SLG | 0.562 | 0.073 |
| predicted_SO | 1.052 | 0.271 |
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.322 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 4.386 | 0.000 |
| predicted_AVG | 0.251 | -0.034 |
| predicted_BB | 0.203 | -0.004 |
| predicted_H | 1.101 | -0.077 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.312 | -0.022 |
| predicted_OBP | 0.284 | -0.045 |
| predicted_R | 0.709 | -0.090 |
| predicted_RBI | 0.542 | -0.069 |
| predicted_SLG | 0.539 | -0.023 |
| predicted_SO | 1.073 | 0.021 |
AB rounded to 4 (raw=4.39), rates preserved: AVG=0.251 HR/AB=0.071
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.322 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | -0.386 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.000 | -0.203 |
| predicted_H | 1.000 | -0.101 |
| predicted_HR | 0.000 | -0.312 |
| predicted_OBP | 0.250 | -0.034 |
| predicted_R | 1.000 | 0.291 |
| predicted_RBI | 0.000 | -0.542 |
| predicted_SLG | 0.250 | -0.289 |
| predicted_SO | 1.000 | -0.073 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 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 | 4 | - | 13.000 | 6.000 | 1.000 | 0.000 | 2.000 | 2.000 | 2.000 | 1.000 | 2.000 | 0.4615 | 0.5000 | 1.0000 | 0.4615 | 0.1538 | 0.1538 | 0.0769 | 0.1538 |
| last_10 | 0.20 | 6 | - | 27.000 | 8.000 | 1.000 | 0.000 | 3.000 | 3.000 | 3.000 | 1.000 | 9.000 | 0.2963 | 0.3214 | 0.6667 | 0.2963 | 0.1111 | 0.1111 | 0.0370 | 0.3333 |
| season | 0.60 | 12 | - | 101.000 | 30.000 | 8.000 | 0.000 | 11.000 | 18.000 | 20.000 | 4.000 | 25.000 | 0.2970 | 0.3238 | 0.7030 | 0.2970 | 0.1089 | 0.1782 | 0.0396 | 0.2475 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4380 |
| predicted_3B | 0.0050 |
| predicted_AB | 6.3500 |
| predicted_AVG | 0.3109 |
| predicted_BB | 0.3390 |
| predicted_H | 1.9750 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.6290 |
| predicted_OBP | 0.3474 |
| predicted_R | 1.0770 |
| predicted_RBI | 1.0110 |
| predicted_SLG | 0.6788 |
| predicted_SO | 1.4860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.4380 | 0.3224 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0019 | model_form_blend |
| predicted_AB | 3.1560 | 6.3500 | 4.3857 | model_form_blend |
| predicted_AVG | 0.2690 | 0.3109 | 0.2851 | model_form_blend |
| predicted_BB | 0.1250 | 0.3390 | 0.2074 | model_form_blend |
| predicted_H | 0.6800 | 1.9750 | 1.1786 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1500 | 0.6290 | 0.3344 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3474 | 0.3293 | model_form_blend |
| predicted_R | 0.6250 | 1.0770 | 0.7990 | model_form_blend |
| predicted_RBI | 0.3600 | 1.0110 | 0.6106 | model_form_blend |
| predicted_SLG | 0.4890 | 0.6788 | 0.5621 | model_form_blend |
| predicted_SO | 0.7810 | 1.4860 | 1.0524 | 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 | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 32 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.297 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260601_SF@MIL |
| game_type | full |
| mlbID | 606992 |
| playerID | 606992 |
| playerName | Eric Haase |
| pos | C |
| started | True |
| startingPosition | C |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-01 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.407 |
| sl_xwoba | 0.383 |
| sl_xba | 0.288 |
| sl_xslg | 0.576 |
| sl_sweet_spot_percent | 42.3 |
| sl_barrel_batted_rate | 23.1 |
| sl_hard_hit_percent | 30.8 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 32.4 |
| sl_swing_percent | 52.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.155 | 0.000 | 0.000 | Hitting_2B | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_3B | 0.052 | 0.000 | 0.000 | Hitting_3B | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_AB | 3.362 | 3.000 | 5.000 | Hitting_AB | 3.277 | 0.000 | -0.277 | 3.000 |
| predicted_AVG | 0.258 | 0.000 | 0.200 | Hitting_AVG | 0.244 | - | -0.244 | - |
| predicted_BB | 0.198 | 0.000 | 0.000 | Hitting_BB | 0.202 | 1.000 | -0.202 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.650 | 0.000 | 1.000 | Hitting_H | 0.798 | 0.000 | -0.798 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_OBP | 0.288 | 0.000 | 0.200 | Hitting_OBP | 0.298 | 1.000 | -0.298 | -1.000 |
| predicted_R | 0.319 | 0.000 | 1.000 | Hitting_R | 0.311 | 0.000 | -0.311 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_SLG | 0.427 | 0.000 | 0.200 | Hitting_SLG | 0.390 | - | -0.390 | - |
| predicted_SO | 0.672 | 1.000 | 1.000 | Hitting_SO | 0.655 | 0.000 | 0.345 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 11 |
| Better Metrics | 0 |
| Worse Metrics | 12 |
| Biggest Boost | predicted_SO: 0.6720 -> 1.0000 (boost 0.3280, worse) |
| Biggest Deboost | predicted_H: 0.6500 -> 0.0000 (deboost -0.6500, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.3620 -> 5.1798 (boost 1.8178, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 1.1872 -> 1.1093 (deboost -0.0779, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 0 | 9 | 1 | 8 | - | predicted_RBI: 0.5132 -> 0.0000 (deboost -0.5132, worse) | AB rounded to 5 (raw=5.18), rates preserved: AVG=0.214 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5205 -> 1.0000 (boost 0.4795, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4007 -> 0.2000 (deboost -0.2007, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4007 (boost 0.2007, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687551",
"player_name": "Drew Gilbert",
"position": "CF",
"team": "SF",
"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.155,
"predicted_3B": 0.052,
"predicted_AB": 3.362,
"predicted_AVG": 0.258,
"predicted_BB": 0.198,
"predicted_H": 0.65,
"predicted_HR": 0.09,
"predicted_OBP": 0.288,
"predicted_R": 0.319,
"predicted_RBI": 0.35,
"predicted_SLG": 0.427,
"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.2717,
"predicted_3B": 0.1187,
"predicted_AB": 5.1798,
"predicted_AVG": 0.2547,
"predicted_BB": 0.2522,
"predicted_H": 1.1872,
"predicted_HBP": 0.079,
"predicted_HR": 0.1632,
"predicted_OBP": 0.2879,
"predicted_R": 0.5863,
"predicted_RBI": 0.5781,
"predicted_SLG": 0.4428,
"predicted_SO": 1.0362
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.2717,
"delta": 0.1167,
"percent_delta": 0.7529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.052,
"after": 0.1187,
"delta": 0.0667,
"percent_delta": 1.2827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.362,
"after": 5.1798,
"delta": 1.8178,
"percent_delta": 0.5407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2547,
"delta": -0.0033,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.198,
"after": 0.2522,
"delta": 0.0542,
"percent_delta": 0.2737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 1.1872,
"delta": 0.5372,
"percent_delta": 0.8265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1632,
"delta": 0.0732,
"percent_delta": 0.8133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2879,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.319,
"after": 0.5863,
"delta": 0.2673,
"percent_delta": 0.8379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.5781,
"delta": 0.2281,
"percent_delta": 0.6517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4428,
"delta": 0.0158,
"percent_delta": 0.037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.672,
"after": 1.0362,
"delta": 0.3642,
"percent_delta": 0.542,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.362,
"after": 5.1798,
"delta": 1.8178,
"percent_delta": 0.5407,
"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": 39
}
},
{
"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.2717,
"predicted_3B": 0.1187,
"predicted_AB": 5.1798,
"predicted_AVG": 0.2142,
"predicted_BB": 0.2472,
"predicted_H": 1.1093,
"predicted_HBP": 0.079,
"predicted_HR": 0.1523,
"predicted_OBP": 0.25,
"predicted_R": 0.5205,
"predicted_RBI": 0.5132,
"predicted_SLG": 0.4007,
"predicted_SO": 1.0567
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2717,
"after": 0.2717,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1187,
"after": 0.1187,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.1798,
"after": 5.1798,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2547,
"after": 0.2142,
"delta": -0.0405,
"percent_delta": -0.159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2522,
"after": 0.2472,
"delta": -0.005,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1872,
"after": 1.1093,
"delta": -0.0779,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.079,
"after": 0.079,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1632,
"after": 0.1523,
"delta": -0.0109,
"percent_delta": -0.0668,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2879,
"after": 0.25,
"delta": -0.0379,
"percent_delta": -0.1316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5863,
"after": 0.5205,
"delta": -0.0658,
"percent_delta": -0.1122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5781,
"after": 0.5132,
"delta": -0.0649,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4428,
"after": 0.4007,
"delta": -0.0421,
"percent_delta": -0.0951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0362,
"after": 1.0567,
"delta": 0.0205,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.1872,
"after": 1.1093,
"delta": -0.0779,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.18), rates preserved: AVG=0.214 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2717,
"after": 0.0,
"delta": -0.2717,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1187,
"after": 0.0,
"delta": -0.1187,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.1798,
"after": 5.0,
"delta": -0.1798,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2472,
"after": 0.0,
"delta": -0.2472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1093,
"after": 1.0,
"delta": -0.1093,
"percent_delta": -0.0985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.079,
"after": 0.0,
"delta": -0.079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1523,
"after": 0.0,
"delta": -0.1523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5132,
"after": 0.0,
"delta": -0.5132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0567,
"after": 1.0,
"delta": -0.0567,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 0,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5132,
"after": 0.0,
"delta": -0.5132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5205,
"after": 1.0,
"delta": 0.4795,
"percent_delta": 0.9212,
"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.5205,
"after": 1.0,
"delta": 0.4795,
"percent_delta": 0.9212,
"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": 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": 0.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.2142,
"after": 0.2,
"delta": -0.0142,
"percent_delta": -0.0663,
"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.25,
"after": 0.2,
"delta": -0.05,
"percent_delta": -0.2,
"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.4007,
"after": 0.2,
"delta": -0.2007,
"percent_delta": -0.5009,
"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.4007,
"after": 0.2,
"delta": -0.2007,
"percent_delta": -0.5009,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2142,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4007,
"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.2,
"after": 0.2142,
"delta": 0.0142,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.2,
"after": 0.25,
"delta": 0.05,
"percent_delta": 0.2498,
"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.2,
"after": 0.4007,
"delta": 0.2007,
"percent_delta": 1.0034,
"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.2,
"after": 0.4007,
"delta": 0.2007,
"percent_delta": 1.0034,
"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.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.052,
"after": 0.0,
"delta": -0.052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.362,
"after": 3.0,
"delta": -0.362,
"percent_delta": -0.1077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2142,
"delta": -0.0438,
"percent_delta": -0.1698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.25,
"delta": -0.038,
"percent_delta": -0.1319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.319,
"after": 0.0,
"delta": -0.319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4007,
"delta": -0.0263,
"percent_delta": -0.0616,
"direction": "deboost",
"projection_effect": "worse",
"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": 12,
"boosted_metrics": 1,
"deboosted_metrics": 11,
"better_metrics": 0,
"worse_metrics": 12,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.672,
"after": 1.0,
"delta": 0.328,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"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.155 | - |
| predicted_3B | 0.052 | - |
| predicted_AB | 3.362 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.198 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.319 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.427 | - |
| 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.272 | 0.117 |
| predicted_3B | 0.119 | 0.067 |
| predicted_AB | 5.180 | 1.818 |
| predicted_AVG | 0.255 | -0.003 |
| predicted_BB | 0.252 | 0.054 |
| predicted_H | 1.187 | 0.537 |
| predicted_HBP | 0.079 | - |
| predicted_HR | 0.163 | 0.073 |
| predicted_OBP | 0.288 | -0.000 |
| predicted_R | 0.586 | 0.267 |
| predicted_RBI | 0.578 | 0.228 |
| predicted_SLG | 0.443 | 0.016 |
| predicted_SO | 1.036 | 0.364 |
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.272 | 0.000 |
| predicted_3B | 0.119 | 0.000 |
| predicted_AB | 5.180 | 0.000 |
| predicted_AVG | 0.214 | -0.040 |
| predicted_BB | 0.247 | -0.005 |
| predicted_H | 1.109 | -0.078 |
| predicted_HBP | 0.079 | 0.000 |
| predicted_HR | 0.152 | -0.011 |
| predicted_OBP | 0.250 | -0.038 |
| predicted_R | 0.520 | -0.066 |
| predicted_RBI | 0.513 | -0.065 |
| predicted_SLG | 0.401 | -0.042 |
| predicted_SO | 1.057 | 0.020 |
AB rounded to 5 (raw=5.18), rates preserved: AVG=0.214 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.272 |
| predicted_3B | 0.000 | -0.119 |
| predicted_AB | 5.000 | -0.180 |
| predicted_AVG | 0.200 | -0.014 |
| predicted_BB | 0.000 | -0.247 |
| predicted_H | 1.000 | -0.109 |
| predicted_HR | 0.000 | -0.152 |
| predicted_OBP | 0.200 | -0.050 |
| predicted_R | 1.000 | 0.480 |
| predicted_RBI | 0.000 | -0.513 |
| predicted_SLG | 0.200 | -0.201 |
| predicted_SO | 1.000 | -0.057 |
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 | -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 | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 1.000 | 1.000 | 1.000 | 3.000 | 3.000 | 0.000 | 3.000 | 0.2667 | 0.2667 | 0.6667 | 0.2667 | 0.0667 | 0.2000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 7 | - | 27.000 | 7.000 | 3.000 | 1.000 | 1.000 | 3.000 | 4.000 | 0.000 | 5.000 | 0.2593 | 0.2593 | 0.5556 | 0.2593 | 0.0370 | 0.1111 | 0.0000 | 0.1852 |
| season | 0.60 | 39 | - | 390.000 | 95.000 | 18.000 | 6.000 | 9.000 | 34.000 | 37.000 | 23.000 | 78.000 | 0.2436 | 0.2959 | 0.3897 | 0.2436 | 0.0231 | 0.0872 | 0.0590 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4260 |
| predicted_3B | 0.2070 |
| predicted_AB | 7.5850 |
| predicted_AVG | 0.2503 |
| predicted_BB | 0.3240 |
| predicted_H | 1.8980 |
| predicted_HBP | 0.0790 |
| predicted_HR | 0.2600 |
| predicted_OBP | 0.2878 |
| predicted_R | 0.9400 |
| predicted_RBI | 0.8800 |
| predicted_SLG | 0.4638 |
| predicted_SO | 1.5180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.4260 | 0.2717 | model_form_blend |
| predicted_3B | 0.0520 | 0.2070 | 0.1187 | model_form_blend |
| predicted_AB | 3.3620 | 7.5850 | 5.1798 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2503 | 0.2547 | model_form_blend |
| predicted_BB | 0.1980 | 0.3240 | 0.2522 | model_form_blend |
| predicted_H | 0.6500 | 1.8980 | 1.1872 | model_form_blend |
| predicted_HBP | - | 0.0790 | 0.0790 | form_only |
| predicted_HR | 0.0900 | 0.2600 | 0.1632 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2878 | 0.2879 | model_form_blend |
| predicted_R | 0.3190 | 0.9400 | 0.5863 | model_form_blend |
| predicted_RBI | 0.3500 | 0.8800 | 0.5781 | model_form_blend |
| predicted_SLG | 0.4270 | 0.4638 | 0.4428 | model_form_blend |
| predicted_SO | 0.6720 | 1.5180 | 1.0362 | 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 | 119 |
| Season rows before report date | 119 |
| 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 | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.244 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | CF-LF |
| gameID | 20260603_SF@MIL |
| game_type | short |
| mlbID | 687551 |
| playerID | 687551 |
| playerName | Drew Gilbert |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-03 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.288 |
| sl_xwoba | 0.255 |
| sl_xba | 0.217 |
| sl_xslg | 0.313 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 30.9 |
| sl_exit_velocity_avg | 84.4 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 44.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 | 6.000 | 6.000 | 6.000 | Pitching_BB | 1.909 | 2.000 | 4.091 | 4.000 |
| predicted_ER | 6.000 | 6.000 | 6.000 | Pitching_ER | 3.182 | 4.000 | 2.818 | 2.000 |
| predicted_H | 9.000 | 9.000 | 9.000 | Pitching_H | 6.091 | 8.000 | 2.909 | 1.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.845 | 3.200 | -0.645 | 1.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 3.182 | 4.000 | -0.182 | -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: 5.3333 -> 4.2000 (deboost -1.1333, 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.3333 -> 4.2000 (deboost -1.1333, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "605288",
"player_name": "Adrian Houser",
"position": "Starter",
"team": "SF",
"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": 6.0,
"predicted_ER": 6.0,
"predicted_H": 9.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"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": 6.0,
"predicted_ER": 6.0,
"predicted_H": 9.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 9.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.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"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.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 6.0,
"predicted_ER": 6.0,
"predicted_H": 9.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 6.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 9.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 9.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.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"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.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"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 | 6.000 | - |
| predicted_ER | 6.000 | - |
| predicted_H | 9.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| 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 | 6.000 | 0.000 |
| predicted_ER | 6.000 | 0.000 |
| predicted_H | 9.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | -1.133 |
| 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 | 26.000 | 11.000 | 25.000 | 11.000 | 19.000 | 3.000 | 3.8077 | 1.3846 | 0.4231 | 0.9615 | 0.4231 | 0.7308 | 0.1154 |
| last_10 | 0.35 | 10 | 51.000 | 34.000 | 61.000 | 20.000 | 31.000 | 9.000 | 6.0000 | 1.5882 | 0.6667 | 1.1961 | 0.3922 | 0.6078 | 0.1765 |
| season | 0.20 | 11 | 56.100 | 35.000 | 67.000 | 21.000 | 35.000 | 9.000 | 5.5917 | 1.5621 | 0.6213 | 1.1893 | 0.3728 | 0.6213 | 0.1598 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0370 |
| predicted_ER | 2.7470 |
| predicted_ERA | 4.7477 |
| predicted_H | 5.4550 |
| predicted_HR | 0.7450 |
| predicted_IP | 5.1000 |
| predicted_SO | 3.9150 |
| predicted_WHIP | 1.4387 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 6.0000 | 2.0370 | 3.9473 | model_form_blend |
| predicted_ER | 6.0000 | 2.7470 | 4.3150 | model_form_blend |
| predicted_ERA | - | 4.7477 | 4.7477 | form_only |
| predicted_H | 9.0000 | 5.4550 | 7.1638 | model_form_blend |
| predicted_HR | 0.0000 | 0.7450 | 0.3859 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 3.0000 | 3.9150 | 3.4739 | model_form_blend |
| predicted_WHIP | - | 1.4387 | 1.4387 | 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 | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 11 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 9 |
| R | 6 |
| ER | 6 |
| BB | 6 |
| SO | 3 |
| HR | 0 |
| BF | 29 |
| Pitches | 110 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 4 |
| Pitching_ERA | 5.59 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 1 |
| Pitching_H | 8 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.2 |
| Pitching_Pitches | 92 |
| Pitching_R | 4 |
| Pitching_SO | 4 |
| Pitching_Strikes | 55 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260530_SF@COL |
| game_type | full |
| mlbID | 605288 |
| playerID | 605288 |
| playerName | Adrian Houser |
| pos | P |
| started | True |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-30 |
| sl_k_percent | 13.6 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.372 |
| sl_xwoba | 0.368 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 44.9 |
| sl_whiff_percent | 18.0 |
| sl_swing_percent | 46.2 |
| sl_avg_best_speed | 79.343018969 |
| sl_avg_hyper_speed | 95.290402474 |
| 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.308 | 0.000 | -0.308 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.269 | 0.000 | -0.269 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.615 | 1.000 | -0.615 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.988 | 1.200 | 0.112 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.885 | 1.000 | 0.115 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676775",
"player_name": "Keaton Winn",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.000 | 2.000 | 6.000 | 1.000 | 6.000 | 1.000 | 2.5714 | 1.0000 | 0.2857 | 0.8571 | 0.1429 | 0.8571 | 0.1429 |
| last_10 | 0.35 | 10 | 12.000 | 2.000 | 9.000 | 2.000 | 10.000 | 1.000 | 1.5000 | 0.9167 | 0.1667 | 0.7500 | 0.1667 | 0.8333 | 0.0833 |
| season | 0.20 | 26 | 27.100 | 7.000 | 16.000 | 8.000 | 23.000 | 1.000 | 2.3049 | 0.8780 | 0.2561 | 0.5854 | 0.2927 | 0.8415 | 0.0366 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3510 |
| predicted_ER | 0.4620 |
| predicted_ERA | 3.2011 |
| predicted_H | 1.1130 |
| predicted_HR | 0.1540 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.1580 |
| predicted_WHIP | 1.1274 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3510 | 0.1568 | model_form_blend |
| predicted_ER | 0.0000 | 0.4620 | 0.2064 | model_form_blend |
| predicted_ERA | - | 3.2011 | 3.2011 | form_only |
| predicted_H | 0.0000 | 1.1130 | 0.4973 | model_form_blend |
| predicted_HR | 0.0000 | 0.1540 | 0.0688 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1580 | 1.0706 | model_form_blend |
| predicted_WHIP | - | 1.1274 | 1.1274 | 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 | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.30 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 676775 |
| playerID | 676775 |
| playerName | Keaton Winn |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.223 |
| sl_xwoba | 0.247 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 26.8 |
| sl_whiff_percent | 25.7 |
| sl_swing_percent | 49.6 |
| sl_avg_best_speed | 75.072928857 |
| sl_avg_hyper_speed | 92.337820435 |
| 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.560 | 1.000 | -0.560 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.440 | 0.000 | -0.440 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.720 | 1.000 | -0.720 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.908 | 0.200 | 0.092 | 0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.160 | 0.000 | -1.160 | 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": "668873",
"player_name": "Caleb Kilian",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 5.000 | 6.000 | 2.000 | 7.000 | 2.000 | 8.4375 | 1.5000 | 0.9375 | 1.1250 | 0.3750 | 1.3125 | 0.3750 |
| last_10 | 0.35 | 10 | 10.200 | 9.000 | 10.000 | 6.000 | 11.000 | 3.000 | 7.5938 | 1.5000 | 0.8438 | 0.9375 | 0.5625 | 1.0312 | 0.2812 |
| season | 0.20 | 25 | 26.200 | 11.000 | 18.000 | 14.000 | 29.000 | 5.000 | 3.7125 | 1.2000 | 0.4125 | 0.6750 | 0.5250 | 1.0875 | 0.1875 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4200 |
| predicted_ER | 0.6450 |
| predicted_ERA | 5.8065 |
| predicted_H | 0.9630 |
| predicted_HR | 0.2230 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0580 |
| predicted_WHIP | 1.3829 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4200 | 0.1865 | model_form_blend |
| predicted_ER | 0.0000 | 0.6450 | 0.2865 | model_form_blend |
| predicted_ERA | - | 5.8065 | 5.8065 | form_only |
| predicted_H | 0.0000 | 0.9630 | 0.4277 | model_form_blend |
| predicted_HR | 0.0000 | 0.2230 | 0.0990 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0580 | 0.4699 | model_form_blend |
| predicted_WHIP | - | 1.3829 | 1.3829 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 3 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.71 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 20 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260602_SF@MIL |
| game_type | full |
| mlbID | 668873 |
| playerID | 668873 |
| playerName | Caleb Kilian |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-02 |
| sl_k_percent | 25.9 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.286 |
| sl_xwoba | 0.313 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 35.8 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 47.8 |
| sl_avg_best_speed | 75.925948182 |
| sl_avg_hyper_speed | 93.63021697 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.111 | 2.000 | -1.111 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.222 | 1.000 | -0.222 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.733 | 0.100 | -0.633 | 0.000 |
| 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.3333 -> 0.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.3333 -> 0.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656529",
"player_name": "Sam Hentges",
"position": "Middle Reliever",
"team": "SF",
"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.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"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.3333,
"after": 0.1,
"delta": -0.2333,
"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.3333,
"after": 0.1,
"delta": -0.2333,
"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.3333,
"after": 0.1,
"delta": -0.2333,
"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.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 2.000 | 3.000 | 7.000 | 4.000 | 0.000 | 3.8571 | 2.1429 | 0.4286 | 0.6429 | 1.5000 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 9 | 8.000 | 2.000 | 4.000 | 10.000 | 9.000 | 0.000 | 2.2500 | 1.7500 | 0.2500 | 0.5000 | 1.2500 | 1.1250 | 0.0000 |
| season | 0.20 | 9 | 8.000 | 2.000 | 4.000 | 10.000 | 9.000 | 0.000 | 2.2500 | 1.7500 | 0.2500 | 0.5000 | 1.2500 | 1.1250 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3040 |
| predicted_ER | 0.2240 |
| predicted_ERA | 4.0782 |
| predicted_H | 0.4280 |
| predicted_HR | 0.0510 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.4660 |
| predicted_WHIP | 1.4834 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3040 | 0.1000 | model_form_blend |
| predicted_ER | 0.0000 | 0.2240 | 0.0737 | model_form_blend |
| predicted_ERA | - | 4.0782 | 4.0782 | form_only |
| predicted_H | 0.0000 | 0.4280 | 0.1408 | model_form_blend |
| predicted_HR | 0.0000 | 0.0510 | 0.0168 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.4660 | 0.8244 | model_form_blend |
| predicted_WHIP | - | 1.4834 | 1.4834 | 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 | 9 |
| Season rows before report date | 9 |
| Report year | 2026 |
| Profile rows used | 9 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 1 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.25 |
| 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 | 0.1 |
| Pitching_Pitches | 15 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260602_SF@MIL |
| game_type | full |
| mlbID | 656529 |
| playerID | 656529 |
| playerName | Sam Hentges |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-02 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 26.3 |
| sl_woba | 0.278 |
| sl_xwoba | 0.321 |
| sl_sweet_spot_percent | 31.6 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 26.3 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 35.3 |
| sl_avg_best_speed | 75.507568 |
| sl_avg_hyper_speed | 91.369168421 |
| 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.700 | 1.000 | -0.700 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.600 | 1.000 | -0.600 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.755 | 0.100 | -0.555 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.250 | 0.000 | 0.750 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 0.2000 (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: 0.1000 -> 0.2000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669062",
"player_name": "Erik Miller",
"position": "Middle Reliever",
"team": "SF",
"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": 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": 0.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": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"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": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"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": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 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.100 | 2.000 | 4.000 | 2.000 | 5.000 | 1.000 | 4.1538 | 1.3846 | 0.4615 | 0.9231 | 0.4615 | 1.1539 | 0.2308 |
| last_10 | 0.35 | 10 | 8.200 | 4.000 | 4.000 | 8.000 | 10.000 | 1.000 | 4.1538 | 1.3846 | 0.4615 | 0.4615 | 0.9231 | 1.1539 | 0.1154 |
| season | 0.20 | 20 | 17.200 | 8.000 | 12.000 | 14.000 | 25.000 | 1.000 | 4.0755 | 1.4717 | 0.4528 | 0.6793 | 0.7924 | 1.4151 | 0.0566 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3030 |
| predicted_ER | 0.2870 |
| predicted_ERA | 4.2586 |
| predicted_H | 0.5200 |
| predicted_HR | 0.0880 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6380 |
| predicted_WHIP | 1.3553 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3030 | 0.1215 | model_form_blend |
| predicted_ER | 0.0000 | 0.2870 | 0.1151 | model_form_blend |
| predicted_ERA | - | 4.2586 | 4.2586 | form_only |
| predicted_H | 0.0000 | 0.5200 | 0.2086 | model_form_blend |
| predicted_HR | 0.0000 | 0.0880 | 0.0353 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.6380 | 1.4537 | model_form_blend |
| predicted_WHIP | - | 1.3553 | 1.3553 | 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 | 20 |
| Season rows before report date | 20 |
| Report year | 2026 |
| Profile rows used | 20 |
| 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 | 2 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.08 |
| 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 | 0.1 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 669062 |
| playerID | 669062 |
| playerName | Erik Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-03 |
| sl_k_percent | 32.1 |
| sl_bb_percent | 17.9 |
| sl_woba | 0.298 |
| sl_xwoba | 0.293 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 28.2 |
| sl_whiff_percent | 31.9 |
| sl_swing_percent | 36.1 |
| sl_avg_best_speed | 72.125408421 |
| sl_avg_hyper_speed | 92.888542368 |
| Field | Value |
|---|---|
| Pitcher | Coleman Crow |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2793 |
| ESPN Rank | 305 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2441 |
| Avg Velo | 85.3412 |
| Avg Spin | 2835.3520 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 1 |
| Pre SO | 8 |
| Season ERA | 3.1395 |
| Season WHIP | 0.9767 |
| Role Avg IP | 4.7780 |
| Recent Avg IP | 4.7780 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 69,
"wins": 41,
"losses": 28,
"win_pct": 0.5942,
"runs_scored": 335.0,
"runs_allowed": 238.0,
"run_differential": 97.0,
"run_differential_per_game": 1.4058,
"avg_runs_scored": 4.8551,
"avg_runs_allowed": 3.4493,
"offense_index": 1.0877,
"defense_index": 1.294,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.6,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.3233
},
"opponent": {
"team": "SF",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4085,
"runs_scored": 292.0,
"runs_allowed": 341.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6901,
"avg_runs_scored": 4.1127,
"avg_runs_allowed": 4.8028,
"offense_index": 0.9214,
"defense_index": 0.9293,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.7,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2328
},
"edges": {
"quality_edge": 0.5561,
"offense_edge": 0.0877,
"opponent_offense_edge": -0.0786,
"defense_strength": 0.294,
"opponent_defense_weakness": 0.0707,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0342,
"run_prevention": 0.9302,
"strikeout": 1.023
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "689441",
"profile": {
"available": true,
"pitcher_id": "689441",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 40.0,
"k_percent": 13.8,
"bb_percent": 5.2,
"woba": 0.271,
"xwoba": 0.35,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 34.8,
"avg_best_speed": 77.1998,
"avg_hyper_speed": 93.4512,
"whiff_percent": 16.2,
"swing_percent": 51.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.3268,
"command_and_miss": -0.8393,
"regression_edge": -2.0,
"xwoba_edge": -1.0,
"barrel_edge": -0.8222,
"hard_hit_edge": 0.5143,
"whiff_edge": -1.3714,
"bb_edge": 1.0,
"pitch_design_score": -0.2441
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "689441",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 72,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 72,
"pitch_usage": 0.0,
"release_speed": 85.34118601986249,
"release_spin_rate": 2835.3519862490452,
"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": 72,
"pitch_usage": 0.0,
"release_speed": 85.34118601986249,
"release_spin_rate": 2835.3519862490452,
"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": 85.3412,
"release_spin_rate": 2835.352,
"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.2441,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.7436,
"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.2793,
"sample_weight": 0.45,
"run_prevention_factor": 1.0237,
"strikeout_factor": 0.9529,
"walk_factor": 0.964,
"homer_factor": 1.0338,
"woba_minus_xwoba": -0.079,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "689441",
"espn_id": 5127100,
"player_name": "Coleman Crow",
"team": "MIL",
"role": "pitcher",
"espn_rank": 305,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 305,
"gp_value": 3.0,
"gp_rank": 514,
"gs_value": 3.0,
"gs_rank": 172,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.1395,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 14.1,
"ip_rank": 411,
"h_value": 11.0,
"h_rank": 431,
"er_value": 5.0,
"er_rank": 444,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 3.0,
"bb_rank": 505,
"k_value": 8.0,
"k_rank": 462,
"k_per_9_value": 5.023256,
"k_per_9_rank": 30,
"whip_value": 0.9767,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0107,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0107,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9838,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0152,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9788,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 14.1,
"ER": 5,
"H": 11,
"BB": 3,
"SO": 8,
"HR": 1,
"ERA": 3.1395348837209305,
"WHIP": 0.9767441860465117,
"K9": 5.023255813953488,
"HR9": 0.627906976744186,
"games_pitched": 3,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 3,
"error_prone": false
},
"games_count": 3,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "689441",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 72,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 72,
"pitch_usage": 0.0,
"release_speed": 85.34118601986249,
"release_spin_rate": 2835.3519862490452,
"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": 72,
"pitch_usage": 0.0,
"release_speed": 85.34118601986249,
"release_spin_rate": 2835.3519862490452,
"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": 85.3412,
"release_spin_rate": 2835.352,
"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.2441,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.7436,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"role": "pitcher",
"player_id": "689441",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 3,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 3,
"totals": {
"IP": 14.1,
"ER": 5.0,
"R": 7.0,
"H": 11.0,
"BB": 3.0,
"SO": 8.0,
"HR": 1.0,
"BF": 58.0,
"Pitches": 206.0
},
"per_game": {
"IP": 4.2,
"ER": 1.6667,
"R": 2.3333,
"H": 3.6667,
"BB": 1.0,
"SO": 2.6667,
"HR": 0.3333,
"BF": 19.3333,
"Pitches": 68.6667
},
"rates": {
"ERA": 3.1395,
"WHIP": 0.9767,
"ER_per_IP": 0.34884,
"H_per_IP": 0.76744,
"BB_per_IP": 0.2093,
"SO_per_IP": 0.55814,
"HR_per_IP": 0.06977
}
},
"last_10": {
"games": 3,
"totals": {
"IP": 14.1,
"ER": 5.0,
"R": 7.0,
"H": 11.0,
"BB": 3.0,
"SO": 8.0,
"HR": 1.0,
"BF": 58.0,
"Pitches": 206.0
},
"per_game": {
"IP": 4.2,
"ER": 1.6667,
"R": 2.3333,
"H": 3.6667,
"BB": 1.0,
"SO": 2.6667,
"HR": 0.3333,
"BF": 19.3333,
"Pitches": 68.6667
},
"rates": {
"ERA": 3.1395,
"WHIP": 0.9767,
"ER_per_IP": 0.34884,
"H_per_IP": 0.76744,
"BB_per_IP": 0.2093,
"SO_per_IP": 0.55814,
"HR_per_IP": 0.06977
}
},
"season": {
"games": 3,
"totals": {
"IP": 14.1,
"ER": 5.0,
"R": 7.0,
"H": 11.0,
"BB": 3.0,
"SO": 8.0,
"HR": 1.0,
"BF": 58.0,
"Pitches": 206.0
},
"per_game": {
"IP": 4.2,
"ER": 1.6667,
"R": 2.3333,
"H": 3.6667,
"BB": 1.0,
"SO": 2.6667,
"HR": 0.3333,
"BF": 19.3333,
"Pitches": 68.6667
},
"rates": {
"ERA": 3.1395,
"WHIP": 0.9767,
"ER_per_IP": 0.34884,
"H_per_IP": 0.76744,
"BB_per_IP": 0.2093,
"SO_per_IP": 0.55814,
"HR_per_IP": 0.06977
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.198,
"predicted_H": 4.5,
"predicted_BB": 1.564,
"predicted_SO": 4.053,
"predicted_HR": 0.569,
"predicted_ERA": 3.8915,
"predicted_WHIP": 1.193
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6141,
"form_weight": 0.3859,
"form_reliability": 0.375,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.0,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.198,
"final": 1.4624,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.5,
"final": 3.5789,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.564,
"final": 1.2177,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 4.053,
"final": 6.4767,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.569,
"final": 0.2196,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8915,
"final": 3.8915,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.193,
"final": 1.193,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Aaron Ashby |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4649 |
| ESPN Rank | 79 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1221 |
| Avg Velo | 91.8802 |
| Avg Spin | 2270.2811 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.1696 |
| Season WHIP | 1.3125 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 69,
"wins": 41,
"losses": 28,
"win_pct": 0.5942,
"runs_scored": 335.0,
"runs_allowed": 238.0,
"run_differential": 97.0,
"run_differential_per_game": 1.4058,
"avg_runs_scored": 4.8551,
"avg_runs_allowed": 3.4493,
"offense_index": 1.0877,
"defense_index": 1.294,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.6,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.3233
},
"opponent": {
"team": "SF",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4085,
"runs_scored": 292.0,
"runs_allowed": 341.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6901,
"avg_runs_scored": 4.1127,
"avg_runs_allowed": 4.8028,
"offense_index": 0.9214,
"defense_index": 0.9293,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.7,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2328
},
"edges": {
"quality_edge": 0.5561,
"offense_edge": 0.0877,
"opponent_offense_edge": -0.0786,
"defense_strength": 0.294,
"opponent_defense_weakness": 0.0707,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0342,
"run_prevention": 0.9302,
"strikeout": 1.023
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676879",
"profile": {
"available": true,
"pitcher_id": "676879",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 146.0,
"k_percent": 32.9,
"bb_percent": 11.4,
"woba": 0.282,
"xwoba": 0.262,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 41.4,
"avg_best_speed": 76.0254,
"avg_hyper_speed": 94.5763,
"whiff_percent": 33.0,
"swing_percent": 41.6
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.8757,
"command_and_miss": 0.9186,
"regression_edge": 0.5714,
"xwoba_edge": 1.5143,
"barrel_edge": 0.5778,
"hard_hit_edge": -0.4286,
"whiff_edge": 1.0286,
"bb_edge": -0.55,
"pitch_design_score": 0.1221
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676879",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 27,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 27,
"pitch_usage": 0.0,
"release_speed": 91.88023970038545,
"release_spin_rate": 2270.2810799686545,
"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": 27,
"pitch_usage": 0.0,
"release_speed": 91.88023970038545,
"release_spin_rate": 2270.2810799686545,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.8802,
"release_spin_rate": 2270.2811,
"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.1221,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.872,
"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.4649,
"sample_weight": 0.584,
"run_prevention_factor": 0.9605,
"strikeout_factor": 1.0587,
"walk_factor": 1.0257,
"homer_factor": 0.9565,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676879",
"espn_id": 41325,
"player_name": "Aaron Ashby",
"team": "MIL",
"role": "pitcher",
"espn_rank": 79,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 79,
"gp_value": 27.0,
"gp_rank": 33,
"gs_value": 1.0,
"gs_rank": 224,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.1696,
"era_rank": null,
"w_value": 9.0,
"w_rank": 1,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 37.1,
"ip_rank": 150,
"h_value": 31.0,
"h_rank": 154,
"er_value": 9.0,
"er_rank": 297,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 18.0,
"bb_rank": 99,
"k_value": 52.0,
"k_rank": 73,
"k_per_9_value": 12.535714,
"k_per_9_rank": 13,
"whip_value": 1.3125,
"whip_rank": null,
"war_value": 0.97,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9769,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9769,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.015,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9746,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0343,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 14.1,
"ER": 3,
"H": 14,
"BB": 4,
"SO": 17,
"HR": 0,
"ERA": 1.8837209302325584,
"WHIP": 1.255813953488372,
"K9": 10.674418604651164,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "676879",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 27,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 27,
"pitch_usage": 0.0,
"release_speed": 91.88023970038545,
"release_spin_rate": 2270.2810799686545,
"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": 27,
"pitch_usage": 0.0,
"release_speed": 91.88023970038545,
"release_spin_rate": 2270.2810799686545,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.8802,
"release_spin_rate": 2270.2811,
"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.1221,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.872,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.368,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5957,
"prior_weight": 0.4043
},
"role": "pitcher",
"player_id": "676879",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 30.0,
"Pitches": 127.0
},
"per_game": {
"IP": 1.2,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 6.0,
"Pitches": 25.4
},
"rates": {
"ERA": 1.1739,
"WHIP": 0.913,
"ER_per_IP": 0.13043,
"H_per_IP": 0.65217,
"BB_per_IP": 0.26087,
"SO_per_IP": 0.78261,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 14.1,
"ER": 3.0,
"R": 5.0,
"H": 14.0,
"BB": 4.0,
"SO": 17.0,
"HR": 0.0,
"BF": 59.0,
"Pitches": 235.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.5,
"H": 1.4,
"BB": 0.4,
"SO": 1.7,
"HR": 0.0,
"BF": 5.9,
"Pitches": 23.5
},
"rates": {
"ERA": 1.8837,
"WHIP": 1.2558,
"ER_per_IP": 0.2093,
"H_per_IP": 0.97674,
"BB_per_IP": 0.27907,
"SO_per_IP": 1.18605,
"HR_per_IP": 0.0
}
},
"season": {
"games": 27,
"totals": {
"IP": 37.1,
"ER": 9.0,
"R": 11.0,
"H": 31.0,
"BB": 18.0,
"SO": 52.0,
"HR": 1.0,
"BF": 158.0,
"Pitches": 634.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3333,
"R": 0.4074,
"H": 1.1481,
"BB": 0.6667,
"SO": 1.9259,
"HR": 0.037,
"BF": 5.8519,
"Pitches": 23.4815
},
"rates": {
"ERA": 2.1696,
"WHIP": 1.3125,
"ER_per_IP": 0.24107,
"H_per_IP": 0.83036,
"BB_per_IP": 0.48214,
"SO_per_IP": 1.39286,
"HR_per_IP": 0.02679
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.43,
"predicted_H": 1.229,
"predicted_BB": 0.475,
"predicted_SO": 1.428,
"predicted_HR": 0.083,
"predicted_ERA": 2.7216,
"predicted_WHIP": 1.1977
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5208,
"form_weight": 0.4792,
"form_reliability": 0.5957,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.368,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5957,
"prior_weight": 0.4043
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.43,
"final": 0.206,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.229,
"final": 0.5889,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.475,
"final": 0.2276,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.428,
"final": 1.2051,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.083,
"final": 0.0398,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7216,
"final": 2.7216,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1977,
"final": 1.1977,
"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 | Abner Uribe |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2089 |
| ESPN Rank | 303 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2546 |
| Avg Velo | 94.2464 |
| Avg Spin | 2385.9900 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.0299 |
| Season WHIP | 1.2537 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 69,
"wins": 41,
"losses": 28,
"win_pct": 0.5942,
"runs_scored": 335.0,
"runs_allowed": 238.0,
"run_differential": 97.0,
"run_differential_per_game": 1.4058,
"avg_runs_scored": 4.8551,
"avg_runs_allowed": 3.4493,
"offense_index": 1.0877,
"defense_index": 1.294,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.6,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.3233
},
"opponent": {
"team": "SF",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4085,
"runs_scored": 292.0,
"runs_allowed": 341.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6901,
"avg_runs_scored": 4.1127,
"avg_runs_allowed": 4.8028,
"offense_index": 0.9214,
"defense_index": 0.9293,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.7,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2328
},
"edges": {
"quality_edge": 0.5561,
"offense_edge": 0.0877,
"opponent_offense_edge": -0.0786,
"defense_strength": 0.294,
"opponent_defense_weakness": 0.0707,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0342,
"run_prevention": 0.9302,
"strikeout": 1.023
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682842",
"profile": {
"available": true,
"pitcher_id": "682842",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 80.0,
"k_percent": 24.2,
"bb_percent": 9.5,
"woba": 0.277,
"xwoba": 0.279,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 33.3,
"avg_best_speed": 77.5127,
"avg_hyper_speed": 93.0546,
"whiff_percent": 24.2,
"swing_percent": 41.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7961,
"command_and_miss": 0.0143,
"regression_edge": -0.0571,
"xwoba_edge": 1.0286,
"barrel_edge": 0.8889,
"hard_hit_edge": 0.7286,
"whiff_edge": -0.2286,
"bb_edge": -0.075,
"pitch_design_score": 0.2546
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682842",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.2464432072474,
"release_spin_rate": 2385.98997542464,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 94.2464432072474,
"release_spin_rate": 2385.98997542464,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.2464,
"release_spin_rate": 2385.99,
"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.2546,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8185,
"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.2089,
"sample_weight": 0.45,
"run_prevention_factor": 0.9822,
"strikeout_factor": 1.0003,
"walk_factor": 1.0027,
"homer_factor": 0.941,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682842",
"espn_id": 4917865,
"player_name": "Abner Uribe",
"team": "MIL",
"role": "pitcher",
"espn_rank": 303,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 303,
"gp_value": 24.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.0298,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 5.0,
"sv_rank": 24,
"hld_value": 7.0,
"hld_rank": 36,
"ip_value": 22.1,
"ip_rank": 307,
"h_value": 19.0,
"h_rank": 291,
"er_value": 10.0,
"er_rank": 267,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 23.0,
"k_rank": 274,
"k_per_9_value": 9.268657,
"k_per_9_rank": 24,
"whip_value": 1.2537,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9734,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0001,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 5,
"H": 9,
"BB": 6,
"SO": 9,
"HR": 1,
"ERA": 4.5,
"WHIP": 1.5,
"K9": 8.1,
"HR9": 0.9,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "682842",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.2464432072474,
"release_spin_rate": 2385.98997542464,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 94.2464432072474,
"release_spin_rate": 2385.98997542464,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.2464,
"release_spin_rate": 2385.99,
"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.2546,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8185,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.408,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4685,
"prior_weight": 0.5315
},
"role": "pitcher",
"player_id": "682842",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.6,
"Pitches": 16.4
},
"rates": {
"ERA": 1.8,
"WHIP": 1.4,
"ER_per_IP": 0.2,
"H_per_IP": 1.0,
"BB_per_IP": 0.4,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 5.0,
"R": 5.0,
"H": 9.0,
"BB": 6.0,
"SO": 9.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 160.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.9,
"BB": 0.6,
"SO": 0.9,
"HR": 0.1,
"BF": 4.5,
"Pitches": 16.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.5,
"ER_per_IP": 0.5,
"H_per_IP": 0.9,
"BB_per_IP": 0.6,
"SO_per_IP": 0.9,
"HR_per_IP": 0.1
}
},
"season": {
"games": 24,
"totals": {
"IP": 22.1,
"ER": 10.0,
"R": 10.0,
"H": 19.0,
"BB": 9.0,
"SO": 23.0,
"HR": 2.0,
"BF": 95.0,
"Pitches": 363.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4167,
"R": 0.4167,
"H": 0.7917,
"BB": 0.375,
"SO": 0.9583,
"HR": 0.0833,
"BF": 3.9583,
"Pitches": 15.125
},
"rates": {
"ERA": 4.0299,
"WHIP": 1.2537,
"ER_per_IP": 0.44776,
"H_per_IP": 0.85075,
"BB_per_IP": 0.40299,
"SO_per_IP": 1.02985,
"HR_per_IP": 0.08955
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.423,
"predicted_H": 0.946,
"predicted_BB": 0.415,
"predicted_SO": 0.955,
"predicted_HR": 0.098,
"predicted_ERA": 3.8031,
"predicted_WHIP": 1.3616
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5746,
"form_weight": 0.4254,
"form_reliability": 0.4685,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.408,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4685,
"prior_weight": 0.5315
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.423,
"final": 0.18,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.946,
"final": 0.977,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.415,
"final": 0.1766,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.955,
"final": 0.9809,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.098,
"final": 0.0417,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8031,
"final": 3.8031,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3616,
"final": 1.3616,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Trevor Megill |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3526 |
| ESPN Rank | 290 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2145 |
| Avg Velo | 93.5312 |
| Avg Spin | 2517.8841 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 2.4545 |
| Season WHIP | 0.9091 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 69,
"wins": 41,
"losses": 28,
"win_pct": 0.5942,
"runs_scored": 335.0,
"runs_allowed": 238.0,
"run_differential": 97.0,
"run_differential_per_game": 1.4058,
"avg_runs_scored": 4.8551,
"avg_runs_allowed": 3.4493,
"offense_index": 1.0877,
"defense_index": 1.294,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.6,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.3233
},
"opponent": {
"team": "SF",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4085,
"runs_scored": 292.0,
"runs_allowed": 341.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6901,
"avg_runs_scored": 4.1127,
"avg_runs_allowed": 4.8028,
"offense_index": 0.9214,
"defense_index": 0.9293,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.7,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2328
},
"edges": {
"quality_edge": 0.5561,
"offense_edge": 0.0877,
"opponent_offense_edge": -0.0786,
"defense_strength": 0.294,
"opponent_defense_weakness": 0.0707,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0342,
"run_prevention": 0.9302,
"strikeout": 1.023
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656730",
"profile": {
"available": true,
"pitcher_id": "656730",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 79.0,
"k_percent": 31.1,
"bb_percent": 6.7,
"woba": 0.241,
"xwoba": 0.256,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 43.6,
"avg_best_speed": 81.6008,
"avg_hyper_speed": 94.6311,
"whiff_percent": 34.5,
"swing_percent": 51.0
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.9283,
"command_and_miss": 1.1129,
"regression_edge": -0.4286,
"xwoba_edge": 1.6857,
"barrel_edge": 0.3778,
"hard_hit_edge": -0.7429,
"whiff_edge": 1.2429,
"bb_edge": 0.625,
"pitch_design_score": 0.2145
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656730",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.53119083694084,
"release_spin_rate": 2517.884055250305,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.53119083694084,
"release_spin_rate": 2517.884055250305,
"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": 93.5312,
"release_spin_rate": 2517.8841,
"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.2145,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5324,
"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.3526,
"sample_weight": 0.45,
"run_prevention_factor": 0.97,
"strikeout_factor": 1.0445,
"walk_factor": 0.9775,
"homer_factor": 0.977,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656730",
"espn_id": 40080,
"player_name": "Trevor Megill",
"team": "MIL",
"role": "pitcher",
"espn_rank": 290,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 290,
"gp_value": 23.0,
"gp_rank": 108,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 4.0909,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 8.0,
"sv_rank": 13,
"hld_value": 6.0,
"hld_rank": 57,
"ip_value": 22.0,
"ip_rank": 314,
"h_value": 16.0,
"h_rank": 342,
"er_value": 10.0,
"er_rank": 267,
"hr_value": 0.0,
"hr_rank": 536,
"bb_value": 6.0,
"bb_rank": 388,
"k_value": 28.0,
"k_rank": 209,
"k_per_9_value": 11.454546,
"k_per_9_rank": 17,
"whip_value": 1.0,
"whip_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9865,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9865,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9897,
"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": 10.0,
"ER": 2,
"H": 6,
"BB": 1,
"SO": 15,
"HR": 0,
"ERA": 1.8,
"WHIP": 0.7,
"K9": 13.5,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "656730",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.53119083694084,
"release_spin_rate": 2517.884055250305,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.53119083694084,
"release_spin_rate": 2517.884055250305,
"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": 93.5312,
"release_spin_rate": 2517.8841,
"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.2145,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5324,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.342,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4648,
"prior_weight": 0.5352
},
"role": "pitcher",
"player_id": "656730",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 59.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 3.4,
"Pitches": 11.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.0,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 1.0,
"SO": 15.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 142.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.1,
"SO": 1.5,
"HR": 0.0,
"BF": 3.7,
"Pitches": 14.2
},
"rates": {
"ERA": 1.8,
"WHIP": 0.7,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.1,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 22,
"totals": {
"IP": 22.0,
"ER": 6.0,
"R": 7.0,
"H": 14.0,
"BB": 6.0,
"SO": 28.0,
"HR": 0.0,
"BF": 85.0,
"Pitches": 338.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2727,
"R": 0.3182,
"H": 0.6364,
"BB": 0.2727,
"SO": 1.2727,
"HR": 0.0,
"BF": 3.8636,
"Pitches": 15.3636
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.9091,
"ER_per_IP": 0.27273,
"H_per_IP": 0.63636,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.27273,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.316,
"predicted_H": 0.752,
"predicted_BB": 0.238,
"predicted_SO": 1.117,
"predicted_HR": 0.073,
"predicted_ERA": 2.8452,
"predicted_WHIP": 0.99
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5761,
"form_weight": 0.4239,
"form_reliability": 0.4648,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.342,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4648,
"prior_weight": 0.5352
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.316,
"final": 0.7101,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.752,
"final": 0.8949,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.238,
"final": 1.2531,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.117,
"final": 1.0496,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.073,
"final": 0.0309,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8452,
"final": 2.8452,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.99,
"final": 0.99,
"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 | DL Hall |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0696 |
| ESPN Rank | 118 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0393 |
| Avg Velo | 88.9987 |
| Avg Spin | 2301.7516 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.1977 |
| Season WHIP | 1.2907 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 69,
"wins": 41,
"losses": 28,
"win_pct": 0.5942,
"runs_scored": 335.0,
"runs_allowed": 238.0,
"run_differential": 97.0,
"run_differential_per_game": 1.4058,
"avg_runs_scored": 4.8551,
"avg_runs_allowed": 3.4493,
"offense_index": 1.0877,
"defense_index": 1.294,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.6,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.3233
},
"opponent": {
"team": "SF",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4085,
"runs_scored": 292.0,
"runs_allowed": 341.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6901,
"avg_runs_scored": 4.1127,
"avg_runs_allowed": 4.8028,
"offense_index": 0.9214,
"defense_index": 0.9293,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 6.7,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2328
},
"edges": {
"quality_edge": 0.5561,
"offense_edge": 0.0877,
"opponent_offense_edge": -0.0786,
"defense_strength": 0.294,
"opponent_defense_weakness": 0.0707,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0342,
"run_prevention": 0.9302,
"strikeout": 1.023
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669084",
"profile": {
"available": true,
"pitcher_id": "669084",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 26.3,
"bb_percent": 20.3,
"woba": 0.267,
"xwoba": 0.311,
"sweet_spot_percent": 24.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 32.3,
"avg_best_speed": 75.323,
"avg_hyper_speed": 92.6937,
"whiff_percent": 29.6,
"swing_percent": 38.9
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5369,
"command_and_miss": -0.0657,
"regression_edge": -1.2571,
"xwoba_edge": 0.1143,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.8714,
"whiff_edge": 0.5429,
"bb_edge": -2.5,
"pitch_design_score": -0.0393
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669084",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 88.99868460729044,
"release_spin_rate": 2301.751565771708,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 88.99868460729044,
"release_spin_rate": 2301.751565771708,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9987,
"release_spin_rate": 2301.7516,
"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.0393,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2807,
"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.0696,
"sample_weight": 0.45,
"run_prevention_factor": 0.9941,
"strikeout_factor": 1.0195,
"walk_factor": 1.09,
"homer_factor": 0.978,
"woba_minus_xwoba": -0.044,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "669084",
"espn_id": 41018,
"player_name": "DL Hall",
"team": "MIL",
"role": "pitcher",
"espn_rank": 118,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 118,
"gp_value": 23.0,
"gp_rank": 108,
"gs_value": 1.0,
"gs_rank": 224,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.1976,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 3.0,
"hld_rank": 124,
"ip_value": 28.2,
"ip_rank": 191,
"h_value": 13.0,
"h_rank": 395,
"er_value": 7.0,
"er_rank": 363,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 24.0,
"bb_rank": 35,
"k_value": 31.0,
"k_rank": 181,
"k_per_9_value": 9.732558,
"k_per_9_rank": 25,
"whip_value": 1.2906,
"whip_rank": null,
"war_value": 0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9973,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9973,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0405,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9901,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0088,
"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": 14.1,
"ER": 4,
"H": 4,
"BB": 13,
"SO": 14,
"HR": 0,
"ERA": 2.511627906976744,
"WHIP": 1.186046511627907,
"K9": 8.790697674418606,
"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-06-01T00:00:00"
}{
"available": true,
"pitcher_id": "669084",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 88.99868460729044,
"release_spin_rate": 2301.751565771708,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 88.99868460729044,
"release_spin_rate": 2301.751565771708,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9987,
"release_spin_rate": 2301.7516,
"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.0393,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2807,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.658,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5309,
"prior_weight": 0.4691
},
"role": "pitcher",
"player_id": "669084",
"report_date": "20260604_S",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 8.2,
"ER": 3.0,
"R": 3.0,
"H": 3.0,
"BB": 9.0,
"SO": 9.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 153.0
},
"per_game": {
"IP": 1.2,
"ER": 0.6,
"R": 0.6,
"H": 0.6,
"BB": 1.8,
"SO": 1.8,
"HR": 0.0,
"BF": 7.0,
"Pitches": 30.6
},
"rates": {
"ERA": 3.1154,
"WHIP": 1.3846,
"ER_per_IP": 0.34615,
"H_per_IP": 0.34615,
"BB_per_IP": 1.03846,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 14.1,
"ER": 4.0,
"R": 4.0,
"H": 4.0,
"BB": 13.0,
"SO": 14.0,
"HR": 0.0,
"BF": 57.0,
"Pitches": 242.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 1.3,
"SO": 1.4,
"HR": 0.0,
"BF": 5.7,
"Pitches": 24.2
},
"rates": {
"ERA": 2.5116,
"WHIP": 1.186,
"ER_per_IP": 0.27907,
"H_per_IP": 0.27907,
"BB_per_IP": 0.90698,
"SO_per_IP": 0.97674,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 28.2,
"ER": 7.0,
"R": 7.0,
"H": 13.0,
"BB": 24.0,
"SO": 31.0,
"HR": 1.0,
"BF": 118.0,
"Pitches": 512.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3043,
"R": 0.3043,
"H": 0.5652,
"BB": 1.0435,
"SO": 1.3478,
"HR": 0.0435,
"BF": 5.1304,
"Pitches": 22.2609
},
"rates": {
"ERA": 2.1977,
"WHIP": 1.2907,
"ER_per_IP": 0.24419,
"H_per_IP": 0.45349,
"BB_per_IP": 0.83721,
"SO_per_IP": 1.0814,
"HR_per_IP": 0.03488
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.365,
"predicted_H": 0.596,
"predicted_BB": 0.64,
"predicted_SO": 0.93,
"predicted_HR": 0.064,
"predicted_ERA": 3.4815,
"predicted_WHIP": 1.3087
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5482,
"form_weight": 0.4518,
"form_reliability": 0.5309,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.658,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5309,
"prior_weight": 0.4691
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.365,
"final": 0.1649,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.596,
"final": 0.2693,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.64,
"final": 0.2892,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.93,
"final": 0.9684,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.064,
"final": 0.0289,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4815,
"final": 3.4815,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3087,
"final": 1.3087,
"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.252 | 0.000 | 0.000 | Hitting_2B | 0.252 | 1.000 | -0.252 | -1.000 |
| predicted_3B | 0.049 | 0.000 | 0.000 | Hitting_3B | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_AB | 4.260 | 4.000 | 7.000 | Hitting_AB | 3.874 | 4.000 | 0.126 | 0.000 |
| predicted_AVG | 0.250 | 0.000 | 0.286 | Hitting_AVG | 0.293 | 0.250 | -0.293 | -0.250 |
| predicted_BB | 0.388 | 1.000 | 1.000 | Hitting_BB | 0.388 | 0.000 | 0.612 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.060 | 0.000 | 2.000 | Hitting_H | 1.136 | 1.000 | -1.136 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_OBP | 0.356 | 0.200 | 0.375 | Hitting_OBP | 0.358 | 0.250 | -0.158 | -0.050 |
| predicted_R | 0.680 | 0.000 | 1.000 | Hitting_R | 0.680 | 0.000 | -0.680 | 0.000 |
| predicted_RBI | 0.630 | 0.000 | 1.000 | Hitting_RBI | 0.612 | 0.000 | -0.612 | 0.000 |
| predicted_SLG | 0.422 | 0.000 | 0.286 | Hitting_SLG | 0.496 | 0.500 | -0.496 | -0.500 |
| predicted_SO | 1.107 | 1.000 | 2.000 | Hitting_SO | 1.107 | 2.000 | -0.107 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.3880 -> 1.0000 (boost 0.6120, better) |
| Biggest Deboost | predicted_H: 1.0600 -> 0.0000 (deboost -1.0600, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.2600 -> 6.7433 (boost 2.4833, 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 | 5 | 5 | 0 | 5 | 0 | predicted_R: 1.2139 -> 1.3195 (boost 0.1056, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 6.7433 -> 7.0000 (boost 0.2567, better) | predicted_2B: 0.3943 -> 0.0000 (deboost -0.3943, worse) | AB rounded to 7 (raw=6.74), rates preserved: AVG=0.299 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3195 -> 1.0000 (deboost -0.3195, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4607 -> 0.2860 (deboost -0.1747, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2860 -> 0.4607 (boost 0.1747, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592885",
"player_name": "Christian Yelich",
"position": "DH",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.252,
"predicted_3B": 0.049,
"predicted_AB": 4.26,
"predicted_AVG": 0.25,
"predicted_BB": 0.388,
"predicted_H": 1.06,
"predicted_HR": 0.12,
"predicted_OBP": 0.356,
"predicted_R": 0.68,
"predicted_RBI": 0.63,
"predicted_SLG": 0.422,
"predicted_SO": 1.107
},
"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.3943,
"predicted_3B": 0.0637,
"predicted_AB": 6.7433,
"predicted_AVG": 0.2739,
"predicted_BB": 0.7589,
"predicted_H": 1.923,
"predicted_HBP": 0.006,
"predicted_HR": 0.1812,
"predicted_OBP": 0.3668,
"predicted_R": 1.2139,
"predicted_RBI": 1.0988,
"predicted_SLG": 0.4378,
"predicted_SO": 2.1033
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.252,
"after": 0.3943,
"delta": 0.1423,
"percent_delta": 0.5647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.0637,
"delta": 0.0147,
"percent_delta": 0.3,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.26,
"after": 6.7433,
"delta": 2.4833,
"percent_delta": 0.5829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2739,
"delta": 0.0239,
"percent_delta": 0.0956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.7589,
"delta": 0.3709,
"percent_delta": 0.9559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.923,
"delta": 0.863,
"percent_delta": 0.8142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1812,
"delta": 0.0612,
"percent_delta": 0.51,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3668,
"delta": 0.0108,
"percent_delta": 0.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.68,
"after": 1.2139,
"delta": 0.5339,
"percent_delta": 0.7851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 1.0988,
"delta": 0.4688,
"percent_delta": 0.7441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4378,
"delta": 0.0158,
"percent_delta": 0.0374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.107,
"after": 2.1033,
"delta": 0.9963,
"percent_delta": 0.9,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 6.7433,
"delta": 2.4833,
"percent_delta": 0.5829,
"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": 30
}
},
{
"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.3943,
"predicted_3B": 0.0637,
"predicted_AB": 6.7433,
"predicted_AVG": 0.2991,
"predicted_BB": 0.7742,
"predicted_H": 2.0167,
"predicted_HBP": 0.006,
"predicted_HR": 0.1894,
"predicted_OBP": 0.3712,
"predicted_R": 1.3195,
"predicted_RBI": 1.1944,
"predicted_SLG": 0.4607,
"predicted_SO": 2.0608
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3943,
"after": 0.3943,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0637,
"after": 0.0637,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7433,
"after": 6.7433,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2739,
"after": 0.2991,
"delta": 0.0252,
"percent_delta": 0.092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7589,
"after": 0.7742,
"delta": 0.0153,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.923,
"after": 2.0167,
"delta": 0.0937,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.006,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1812,
"after": 0.1894,
"delta": 0.0082,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3668,
"after": 0.3712,
"delta": 0.0044,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2139,
"after": 1.3195,
"delta": 0.1056,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0988,
"after": 1.1944,
"delta": 0.0956,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4378,
"after": 0.4607,
"delta": 0.0229,
"percent_delta": 0.0523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1033,
"after": 2.0608,
"delta": -0.0425,
"percent_delta": -0.0202,
"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_R",
"before": 1.2139,
"after": 1.3195,
"delta": 0.1056,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.74), rates preserved: AVG=0.299 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3943,
"after": 0.0,
"delta": -0.3943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0637,
"after": 0.0,
"delta": -0.0637,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.7433,
"after": 7.0,
"delta": 0.2567,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7742,
"after": 1.0,
"delta": 0.2258,
"percent_delta": 0.2917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0167,
"after": 2.0,
"delta": -0.0167,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1894,
"after": 0.0,
"delta": -0.1894,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1944,
"after": 1.0,
"delta": -0.1944,
"percent_delta": -0.1628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0608,
"after": 2.0,
"delta": -0.0608,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 6.7433,
"after": 7.0,
"delta": 0.2567,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3943,
"after": 0.0,
"delta": -0.3943,
"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": 7.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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": 1.3195,
"after": 1.0,
"delta": -0.3195,
"percent_delta": -0.2421,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.3195,
"after": 1.0,
"delta": -0.3195,
"percent_delta": -0.2421,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2991,
"after": 0.286,
"delta": -0.0131,
"percent_delta": -0.0438,
"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": 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.3712,
"after": 0.375,
"delta": 0.0038,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4607,
"after": 0.286,
"delta": -0.1747,
"percent_delta": -0.3792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4607,
"after": 0.286,
"delta": -0.1747,
"percent_delta": -0.3792,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2991,
"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.3712,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4607,
"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.286,
"after": 0.2991,
"delta": 0.0131,
"percent_delta": 0.0457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3712,
"delta": -0.0038,
"percent_delta": -0.01,
"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.286,
"after": 0.4607,
"delta": 0.1747,
"percent_delta": 0.6108,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4607,
"delta": 0.1747,
"percent_delta": 0.6108,
"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.252,
"after": 0.0,
"delta": -0.252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.26,
"after": 4.0,
"delta": -0.26,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2991,
"delta": 0.0491,
"percent_delta": 0.1964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 1.0,
"delta": 0.612,
"percent_delta": 1.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3712,
"delta": 0.0152,
"percent_delta": 0.0427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4607,
"delta": 0.0387,
"percent_delta": 0.0917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.107,
"after": 1.0,
"delta": -0.107,
"percent_delta": -0.0967,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.388,
"after": 1.0,
"delta": 0.612,
"percent_delta": 1.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"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.252 | - |
| predicted_3B | 0.049 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.388 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.356 | - |
| predicted_R | 0.680 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.422 | - |
| predicted_SO | 1.107 | - |
Final model 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.394 | 0.142 |
| predicted_3B | 0.064 | 0.015 |
| predicted_AB | 6.743 | 2.483 |
| predicted_AVG | 0.274 | 0.024 |
| predicted_BB | 0.759 | 0.371 |
| predicted_H | 1.923 | 0.863 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.181 | 0.061 |
| predicted_OBP | 0.367 | 0.011 |
| predicted_R | 1.214 | 0.534 |
| predicted_RBI | 1.099 | 0.469 |
| predicted_SLG | 0.438 | 0.016 |
| predicted_SO | 2.103 | 0.996 |
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.394 | 0.000 |
| predicted_3B | 0.064 | 0.000 |
| predicted_AB | 6.743 | 0.000 |
| predicted_AVG | 0.299 | 0.025 |
| predicted_BB | 0.774 | 0.015 |
| predicted_H | 2.017 | 0.094 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.189 | 0.008 |
| predicted_OBP | 0.371 | 0.004 |
| predicted_R | 1.319 | 0.106 |
| predicted_RBI | 1.194 | 0.096 |
| predicted_SLG | 0.461 | 0.023 |
| predicted_SO | 2.061 | -0.042 |
AB rounded to 7 (raw=6.74), rates preserved: AVG=0.299 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 2.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.394 |
| predicted_3B | 0.000 | -0.064 |
| predicted_AB | 7.000 | 0.257 |
| predicted_AVG | 0.286 | -0.013 |
| predicted_BB | 1.000 | 0.226 |
| predicted_H | 2.000 | -0.017 |
| predicted_HR | 0.000 | -0.189 |
| predicted_OBP | 0.375 | 0.004 |
| predicted_R | 1.000 | -0.319 |
| predicted_RBI | 1.000 | -0.194 |
| predicted_SLG | 0.286 | -0.175 |
| predicted_SO | 2.000 | -0.061 |
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 | -3.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.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 | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 7.000 | 1.000 | 0.000 | 0.000 | 4.000 | 5.000 | 4.000 | 10.000 | 0.3684 | 0.4783 | 0.4211 | 0.3684 | 0.0000 | 0.2105 | 0.2105 | 0.5263 |
| last_10 | 0.20 | 7 | - | 39.000 | 11.000 | 1.000 | 0.000 | 0.000 | 8.000 | 7.000 | 5.000 | 15.000 | 0.2821 | 0.3636 | 0.3077 | 0.2821 | 0.0000 | 0.2051 | 0.1282 | 0.3846 |
| season | 0.60 | 30 | - | 399.000 | 117.000 | 26.000 | 5.000 | 15.000 | 63.000 | 70.000 | 40.000 | 114.000 | 0.2932 | 0.3576 | 0.4962 | 0.2932 | 0.0376 | 0.1579 | 0.1003 | 0.2857 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5820 |
| predicted_3B | 0.0830 |
| predicted_AB | 10.0180 |
| predicted_AVG | 0.3055 |
| predicted_BB | 1.2480 |
| predicted_H | 3.0610 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.2620 |
| predicted_OBP | 0.3810 |
| predicted_R | 1.9180 |
| predicted_RBI | 1.7170 |
| predicted_SLG | 0.4586 |
| predicted_SO | 3.4170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2520 | 0.5820 | 0.3943 | model_form_blend |
| predicted_3B | 0.0490 | 0.0830 | 0.0637 | model_form_blend |
| predicted_AB | 4.2600 | 10.0180 | 6.7433 | model_form_blend |
| predicted_AVG | 0.2500 | 0.3055 | 0.2739 | model_form_blend |
| predicted_BB | 0.3880 | 1.2480 | 0.7589 | model_form_blend |
| predicted_H | 1.0600 | 3.0610 | 1.9230 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1200 | 0.2620 | 0.1812 | model_form_blend |
| predicted_OBP | 0.3560 | 0.3810 | 0.3668 | model_form_blend |
| predicted_R | 0.6800 | 1.9180 | 1.2139 | model_form_blend |
| predicted_RBI | 0.6300 | 1.7170 | 1.0988 | model_form_blend |
| predicted_SLG | 0.4220 | 0.4586 | 0.4378 | model_form_blend |
| predicted_SO | 1.1070 | 3.4170 | 2.1033 | 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 | 103 |
| Season rows before report date | 103 |
| Report year | 2026 |
| Profile rows used | 103 |
| 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.293 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| 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 | 20260603_SF@MIL |
| game_type | full |
| mlbID | 592885 |
| playerID | 592885 |
| playerName | Christian Yelich |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-03 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.354 |
| sl_xwoba | 0.289 |
| sl_xba | 0.216 |
| sl_xslg | 0.369 |
| sl_sweet_spot_percent | 26.9 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 35.9 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 2.4 |
| sl_whiff_percent | 33.6 |
| sl_swing_percent | 45.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.383 | 0.000 | 1.000 | Hitting_2B | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.650 | 3.000 | 8.000 | Hitting_AB | 4.298 | 1.000 | -1.298 | 2.000 |
| predicted_AVG | 0.250 | 0.333 | 0.250 | Hitting_AVG | 0.285 | 1.000 | 0.049 | -0.667 |
| predicted_BB | 0.309 | 2.000 | 1.000 | Hitting_BB | 0.309 | 0.000 | 1.691 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.160 | 1.000 | 2.000 | Hitting_H | 1.223 | 1.000 | -0.223 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_OBP | 0.358 | 0.600 | 0.333 | Hitting_OBP | 0.333 | 1.000 | 0.267 | -0.400 |
| predicted_R | 0.511 | 1.000 | 1.000 | Hitting_R | 0.511 | 0.000 | 0.489 | 1.000 |
| predicted_RBI | 0.690 | 0.000 | 1.000 | Hitting_RBI | 0.319 | 0.000 | -0.319 | 0.000 |
| predicted_SLG | 0.455 | 0.333 | 0.375 | Hitting_SLG | 0.411 | 1.000 | -0.078 | -0.667 |
| predicted_SO | 1.372 | 0.000 | 2.000 | Hitting_SO | 1.372 | 0.000 | -1.372 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.3090 -> 2.0000 (boost 1.6910, better) |
| Biggest Deboost | predicted_AB: 4.6500 -> 3.0000 (deboost -1.6500, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.6500 -> 7.6953 (boost 3.0453, 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 | 5 | 5 | 0 | 5 | 0 | predicted_H: 2.1958 -> 2.3027 (boost 0.1069, 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 | 4 | 3 | predicted_2B: 0.6709 -> 1.0000 (boost 0.3291, better) | predicted_RBI: 1.3043 -> 1.0000 (deboost -0.3043, worse) | AB rounded to 8 (raw=7.70), rates preserved: AVG=0.299 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2798 -> 1.0000 (deboost -0.2798, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4728 -> 0.3750 (deboost -0.0978, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3750 -> 0.4728 (boost 0.0978, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.383,
"predicted_3B": 0.0,
"predicted_AB": 4.65,
"predicted_AVG": 0.25,
"predicted_BB": 0.309,
"predicted_H": 1.16,
"predicted_HR": 0.15,
"predicted_OBP": 0.358,
"predicted_R": 0.511,
"predicted_RBI": 0.69,
"predicted_SLG": 0.455,
"predicted_SO": 1.372
},
"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.6709,
"predicted_3B": 0.0013,
"predicted_AB": 7.6953,
"predicted_AVG": 0.2734,
"predicted_BB": 0.7444,
"predicted_H": 2.1958,
"predicted_HBP": 0.007,
"predicted_HR": 0.2112,
"predicted_OBP": 0.3635,
"predicted_R": 1.1774,
"predicted_RBI": 1.1999,
"predicted_SLG": 0.4611,
"predicted_SO": 2.1384
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.383,
"after": 0.6709,
"delta": 0.2879,
"percent_delta": 0.7517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.65,
"after": 7.6953,
"delta": 3.0453,
"percent_delta": 0.6549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2734,
"delta": 0.0234,
"percent_delta": 0.0936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.309,
"after": 0.7444,
"delta": 0.4354,
"percent_delta": 1.4091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 2.1958,
"delta": 1.0358,
"percent_delta": 0.8929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.2112,
"delta": 0.0612,
"percent_delta": 0.408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3635,
"delta": 0.0055,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.511,
"after": 1.1774,
"delta": 0.6664,
"percent_delta": 1.3041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 1.1999,
"delta": 0.5099,
"percent_delta": 0.739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.4611,
"delta": 0.0061,
"percent_delta": 0.0134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.372,
"after": 2.1384,
"delta": 0.7664,
"percent_delta": 0.5586,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.65,
"after": 7.6953,
"delta": 3.0453,
"percent_delta": 0.6549,
"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": 25
}
},
{
"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.6709,
"predicted_3B": 0.0013,
"predicted_AB": 7.6953,
"predicted_AVG": 0.2992,
"predicted_BB": 0.7594,
"predicted_H": 2.3027,
"predicted_HBP": 0.007,
"predicted_HR": 0.2208,
"predicted_OBP": 0.3622,
"predicted_R": 1.2798,
"predicted_RBI": 1.3043,
"predicted_SLG": 0.4728,
"predicted_SO": 2.0952
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6709,
"after": 0.6709,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6953,
"after": 7.6953,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2734,
"after": 0.2992,
"delta": 0.0258,
"percent_delta": 0.0944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7444,
"after": 0.7594,
"delta": 0.015,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1958,
"after": 2.3027,
"delta": 0.1069,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2112,
"after": 0.2208,
"delta": 0.0096,
"percent_delta": 0.0455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3635,
"after": 0.3622,
"delta": -0.0013,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.1774,
"after": 1.2798,
"delta": 0.1024,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1999,
"after": 1.3043,
"delta": 0.1044,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4611,
"after": 0.4728,
"delta": 0.0117,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1384,
"after": 2.0952,
"delta": -0.0432,
"percent_delta": -0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.1958,
"after": 2.3027,
"delta": 0.1069,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.70), rates preserved: AVG=0.299 HR/AB=0.029",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6709,
"after": 1.0,
"delta": 0.3291,
"percent_delta": 0.4905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6953,
"after": 8.0,
"delta": 0.3047,
"percent_delta": 0.0396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7594,
"after": 1.0,
"delta": 0.2406,
"percent_delta": 0.3168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3027,
"after": 2.0,
"delta": -0.3027,
"percent_delta": -0.1315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2208,
"after": 0.0,
"delta": -0.2208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3043,
"after": 1.0,
"delta": -0.3043,
"percent_delta": -0.2333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0952,
"after": 2.0,
"delta": -0.0952,
"percent_delta": -0.0454,
"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_2B",
"before": 0.6709,
"after": 1.0,
"delta": 0.3291,
"percent_delta": 0.4905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.3043,
"after": 1.0,
"delta": -0.3043,
"percent_delta": -0.2333,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.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": 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": 8.0,
"after": 8.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": 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": 1.2798,
"after": 1.0,
"delta": -0.2798,
"percent_delta": -0.2186,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.2798,
"after": 1.0,
"delta": -0.2798,
"percent_delta": -0.2186,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.375,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2992,
"after": 0.25,
"delta": -0.0492,
"percent_delta": -0.1644,
"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": 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.3622,
"after": 0.333,
"delta": -0.0292,
"percent_delta": -0.0806,
"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.4728,
"after": 0.375,
"delta": -0.0978,
"percent_delta": -0.2069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4728,
"after": 0.375,
"delta": -0.0978,
"percent_delta": -0.2069,
"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": 3.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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"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.2992,
"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.3622,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4728,
"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.25,
"after": 0.2992,
"delta": 0.0492,
"percent_delta": 0.197,
"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.333,
"after": 0.3622,
"delta": 0.0292,
"percent_delta": 0.0876,
"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.375,
"after": 0.4728,
"delta": 0.0978,
"percent_delta": 0.2609,
"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.375,
"after": 0.4728,
"delta": 0.0978,
"percent_delta": 0.2609,
"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.383,
"after": 0.0,
"delta": -0.383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.65,
"after": 3.0,
"delta": -1.65,
"percent_delta": -0.3548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2992,
"delta": 0.0492,
"percent_delta": 0.1968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.309,
"after": 2.0,
"delta": 1.691,
"percent_delta": 5.4725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 1.0,
"delta": -0.16,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3622,
"delta": 0.0042,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.511,
"after": 1.0,
"delta": 0.489,
"percent_delta": 0.9569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.4728,
"delta": 0.0178,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.372,
"after": 0.0,
"delta": -1.372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.309,
"after": 2.0,
"delta": 1.691,
"percent_delta": 5.4725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.65,
"after": 3.0,
"delta": -1.65,
"percent_delta": -0.3548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.383 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.650 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.309 | - |
| predicted_H | 1.160 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.358 | - |
| predicted_R | 0.511 | - |
| predicted_RBI | 0.690 | - |
| predicted_SLG | 0.455 | - |
| predicted_SO | 1.372 | - |
Final model 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.671 | 0.288 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.695 | 3.045 |
| predicted_AVG | 0.273 | 0.023 |
| predicted_BB | 0.744 | 0.435 |
| predicted_H | 2.196 | 1.036 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.211 | 0.061 |
| predicted_OBP | 0.363 | 0.006 |
| predicted_R | 1.177 | 0.666 |
| predicted_RBI | 1.200 | 0.510 |
| predicted_SLG | 0.461 | 0.006 |
| predicted_SO | 2.138 | 0.766 |
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.671 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.695 | 0.000 |
| predicted_AVG | 0.299 | 0.026 |
| predicted_BB | 0.759 | 0.015 |
| predicted_H | 2.303 | 0.107 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.221 | 0.010 |
| predicted_OBP | 0.362 | -0.001 |
| predicted_R | 1.280 | 0.102 |
| predicted_RBI | 1.304 | 0.104 |
| predicted_SLG | 0.473 | 0.012 |
| predicted_SO | 2.095 | -0.043 |
AB rounded to 8 (raw=7.70), rates preserved: AVG=0.299 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 2.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 | 1.000 | 0.329 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.305 |
| predicted_AVG | 0.250 | -0.049 |
| predicted_BB | 1.000 | 0.241 |
| predicted_H | 2.000 | -0.303 |
| predicted_HR | 0.000 | -0.221 |
| predicted_OBP | 0.333 | -0.029 |
| predicted_R | 1.000 | -0.280 |
| predicted_RBI | 1.000 | -0.304 |
| predicted_SLG | 0.375 | -0.098 |
| predicted_SO | 2.000 | -0.095 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -5.000 |
| BB | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.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 | -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 | - | 17.000 | 7.000 | 2.000 | 0.000 | 1.000 | 7.000 | 6.000 | 4.000 | 2.000 | 0.4118 | 0.5238 | 0.7059 | 0.4118 | 0.0588 | 0.4118 | 0.2353 | 0.1177 |
| last_10 | 0.20 | 7 | - | 36.000 | 8.000 | 2.000 | 0.000 | 1.000 | 7.000 | 7.000 | 5.000 | 11.000 | 0.2222 | 0.3171 | 0.3611 | 0.2222 | 0.0278 | 0.1944 | 0.1389 | 0.3056 |
| season | 0.60 | 25 | - | 404.000 | 115.000 | 36.000 | 0.000 | 5.000 | 30.000 | 48.000 | 29.000 | 129.000 | 0.2847 | 0.3326 | 0.4109 | 0.2847 | 0.0124 | 0.0743 | 0.0718 | 0.3193 |
| Metric | Value |
|---|---|
| predicted_2B | 1.0510 |
| predicted_3B | 0.0030 |
| predicted_AB | 11.7150 |
| predicted_AVG | 0.3042 |
| predicted_BB | 1.3190 |
| predicted_H | 3.5630 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.2920 |
| predicted_OBP | 0.3707 |
| predicted_R | 2.0570 |
| predicted_RBI | 1.8730 |
| predicted_SLG | 0.4692 |
| predicted_SO | 3.1500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3830 | 1.0510 | 0.6709 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 4.6500 | 11.7150 | 7.6953 | model_form_blend |
| predicted_AVG | 0.2500 | 0.3042 | 0.2734 | model_form_blend |
| predicted_BB | 0.3090 | 1.3190 | 0.7444 | model_form_blend |
| predicted_H | 1.1600 | 3.5630 | 2.1958 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1500 | 0.2920 | 0.2112 | model_form_blend |
| predicted_OBP | 0.3580 | 0.3707 | 0.3635 | model_form_blend |
| predicted_R | 0.5110 | 2.0570 | 1.1774 | model_form_blend |
| predicted_RBI | 0.6900 | 1.8730 | 1.1999 | model_form_blend |
| predicted_SLG | 0.4550 | 0.4692 | 0.4611 | model_form_blend |
| predicted_SO | 1.3720 | 3.1500 | 2.1384 | 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 | 94 |
| Season rows before report date | 94 |
| Report year | 2026 |
| Profile rows used | 94 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-LF |
| gameID | 20260603_SF@MIL |
| game_type | ph |
| mlbID | 694192 |
| note | Singled for Mitchell in the 8th. |
| playerID | 694192 |
| playerName | Jackson Chourio |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-03 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.351 |
| sl_xwoba | 0.34 |
| sl_xba | 0.236 |
| sl_xslg | 0.491 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 17.8 |
| sl_hard_hit_percent | 47.9 |
| sl_exit_velocity_avg | 92.8 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 45.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.194 | 0.000 | 0.000 | Hitting_2B | 0.194 | 0.000 | -0.194 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.300 | 4.000 | 8.000 | Hitting_AB | 4.045 | 4.000 | -0.045 | 0.000 |
| predicted_AVG | 0.234 | 0.250 | 0.250 | Hitting_AVG | 0.297 | 0.000 | -0.047 | 0.250 |
| predicted_BB | 0.446 | 1.000 | 1.000 | Hitting_BB | 0.446 | 0.000 | 0.554 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.010 | 1.000 | 2.000 | Hitting_H | 1.203 | 0.000 | -0.203 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_OBP | 0.303 | 0.400 | 0.333 | Hitting_OBP | 0.368 | 0.000 | 0.032 | 0.400 |
| predicted_R | 0.617 | 1.000 | 1.000 | Hitting_R | 0.617 | 0.000 | 0.383 | 1.000 |
| predicted_RBI | 0.630 | 2.000 | 1.000 | Hitting_RBI | 0.703 | 0.000 | 1.297 | 2.000 |
| predicted_SLG | 0.374 | 0.250 | 0.250 | Hitting_SLG | 0.402 | 0.000 | -0.152 | 0.250 |
| predicted_SO | 0.541 | 0.000 | 1.000 | Hitting_SO | 0.541 | 1.000 | -0.541 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.6300 -> 2.0000 (boost 1.3700, better) |
| Biggest Deboost | predicted_SO: 0.5410 -> 0.0000 (deboost -0.5410, 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 | 9 | 8 | 1 | 7 | 2 | predicted_AB: 4.3000 -> 7.8452 (boost 3.5452, better) | predicted_SLG: 0.3740 -> 0.3604 (deboost -0.0136, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 1.2588 -> 1.3683 (boost 0.1095, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_BB: 0.7433 -> 1.0000 (boost 0.2567, better) | predicted_2B: 0.3839 -> 0.0000 (deboost -0.3839, worse) | AB rounded to 8 (raw=7.85), rates preserved: AVG=0.259 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0979 -> 1.0000 (deboost -0.0979, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3228 -> 0.3330 (boost 0.0102, better) | predicted_SLG: 0.3595 -> 0.2500 (deboost -0.1095, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_RBI: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3595 (boost 0.1095, better) | predicted_OBP: 0.3330 -> 0.3228 (deboost -0.0102, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.194,
"predicted_3B": 0.0,
"predicted_AB": 4.3,
"predicted_AVG": 0.234,
"predicted_BB": 0.446,
"predicted_H": 1.01,
"predicted_HR": 0.1,
"predicted_OBP": 0.303,
"predicted_R": 0.617,
"predicted_RBI": 0.63,
"predicted_SLG": 0.374,
"predicted_SO": 0.541
},
"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.3839,
"predicted_3B": 0.0004,
"predicted_AB": 7.8452,
"predicted_AVG": 0.2419,
"predicted_BB": 0.7286,
"predicted_H": 1.935,
"predicted_HBP": 0.049,
"predicted_HR": 0.1296,
"predicted_OBP": 0.3045,
"predicted_R": 1.01,
"predicted_RBI": 1.2588,
"predicted_SLG": 0.3604,
"predicted_SO": 1.2183
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.3839,
"delta": 0.1899,
"percent_delta": 0.9789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.3,
"after": 7.8452,
"delta": 3.5452,
"percent_delta": 0.8245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2419,
"delta": 0.0079,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 0.7286,
"delta": 0.2826,
"percent_delta": 0.6336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.935,
"delta": 0.925,
"percent_delta": 0.9158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1296,
"delta": 0.0296,
"percent_delta": 0.296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3045,
"delta": 0.0015,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.617,
"after": 1.01,
"delta": 0.393,
"percent_delta": 0.637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 1.2588,
"delta": 0.6288,
"percent_delta": 0.9981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3604,
"delta": -0.0136,
"percent_delta": -0.0364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.541,
"after": 1.2183,
"delta": 0.6773,
"percent_delta": 1.2519,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.3,
"after": 7.8452,
"delta": 3.5452,
"percent_delta": 0.8245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3604,
"delta": -0.0136,
"percent_delta": -0.0364,
"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": 7,
"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.3839,
"predicted_3B": 0.0004,
"predicted_AB": 7.8452,
"predicted_AVG": 0.2587,
"predicted_BB": 0.7433,
"predicted_H": 2.0292,
"predicted_HBP": 0.049,
"predicted_HR": 0.1355,
"predicted_OBP": 0.3228,
"predicted_R": 1.0979,
"predicted_RBI": 1.3683,
"predicted_SLG": 0.3595,
"predicted_SO": 1.1937
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3839,
"after": 0.3839,
"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": 7.8452,
"after": 7.8452,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2419,
"after": 0.2587,
"delta": 0.0168,
"percent_delta": 0.0695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7286,
"after": 0.7433,
"delta": 0.0147,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.935,
"after": 2.0292,
"delta": 0.0942,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1296,
"after": 0.1355,
"delta": 0.0059,
"percent_delta": 0.0455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3045,
"after": 0.3228,
"delta": 0.0183,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.01,
"after": 1.0979,
"delta": 0.0879,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2588,
"after": 1.3683,
"delta": 0.1095,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3604,
"after": 0.3595,
"delta": -0.0009,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2183,
"after": 1.1937,
"delta": -0.0246,
"percent_delta": -0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.2588,
"after": 1.3683,
"delta": 0.1095,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.85), rates preserved: AVG=0.259 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.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.3839,
"after": 0.0,
"delta": -0.3839,
"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": 7.8452,
"after": 8.0,
"delta": 0.1548,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7433,
"after": 1.0,
"delta": 0.2567,
"percent_delta": 0.3454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0292,
"after": 2.0,
"delta": -0.0292,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1355,
"after": 0.0,
"delta": -0.1355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3683,
"after": 1.0,
"delta": -0.3683,
"percent_delta": -0.2692,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1937,
"after": 1.0,
"delta": -0.1937,
"percent_delta": -0.1623,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.7433,
"after": 1.0,
"delta": 0.2567,
"percent_delta": 0.3454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3839,
"after": 0.0,
"delta": -0.3839,
"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": 8.0,
"predicted_BB": 1.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": 8.0,
"after": 8.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": 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": 1.0979,
"after": 1.0,
"delta": -0.0979,
"percent_delta": -0.0892,
"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": 1.0979,
"after": 1.0,
"delta": -0.0979,
"percent_delta": -0.0892,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2587,
"after": 0.25,
"delta": -0.0087,
"percent_delta": -0.0336,
"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": 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.3228,
"after": 0.333,
"delta": 0.0102,
"percent_delta": 0.0316,
"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.3595,
"after": 0.25,
"delta": -0.1095,
"percent_delta": -0.3046,
"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.3228,
"after": 0.333,
"delta": 0.0102,
"percent_delta": 0.0316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3595,
"after": 0.25,
"delta": -0.1095,
"percent_delta": -0.3046,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"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": 4.0,
"predicted_AVG": 0.2587,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3228,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3595,
"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.25,
"after": 0.2587,
"delta": 0.0087,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3228,
"delta": -0.0102,
"percent_delta": -0.0306,
"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.25,
"after": 0.3595,
"delta": 0.1095,
"percent_delta": 0.438,
"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.3595,
"delta": 0.1095,
"percent_delta": 0.438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3228,
"delta": -0.0102,
"percent_delta": -0.0306,
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3,
"after": 4.0,
"delta": -0.3,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2587,
"delta": 0.0247,
"percent_delta": 0.1056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 1.0,
"delta": 0.554,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0,
"delta": -0.01,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3228,
"delta": 0.0198,
"percent_delta": 0.0653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.617,
"after": 1.0,
"delta": 0.383,
"percent_delta": 0.6207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 2.0,
"delta": 1.37,
"percent_delta": 2.1746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3595,
"delta": -0.0145,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.541,
"after": 0.0,
"delta": -0.541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.63,
"after": 2.0,
"delta": 1.37,
"percent_delta": 2.1746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.541,
"after": 0.0,
"delta": -0.541,
"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.194 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.300 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.446 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.617 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.374 | - |
| predicted_SO | 0.541 | - |
Final model 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.384 | 0.190 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.845 | 3.545 |
| predicted_AVG | 0.242 | 0.008 |
| predicted_BB | 0.729 | 0.283 |
| predicted_H | 1.935 | 0.925 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.130 | 0.030 |
| predicted_OBP | 0.304 | 0.002 |
| predicted_R | 1.010 | 0.393 |
| predicted_RBI | 1.259 | 0.629 |
| predicted_SLG | 0.360 | -0.014 |
| predicted_SO | 1.218 | 0.677 |
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.384 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.845 | 0.000 |
| predicted_AVG | 0.259 | 0.017 |
| predicted_BB | 0.743 | 0.015 |
| predicted_H | 2.029 | 0.094 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.136 | 0.006 |
| predicted_OBP | 0.323 | 0.018 |
| predicted_R | 1.098 | 0.088 |
| predicted_RBI | 1.368 | 0.110 |
| predicted_SLG | 0.359 | -0.001 |
| predicted_SO | 1.194 | -0.025 |
AB rounded to 8 (raw=7.85), rates preserved: AVG=0.259 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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.384 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.155 |
| predicted_AVG | 0.250 | -0.009 |
| predicted_BB | 1.000 | 0.257 |
| predicted_H | 2.000 | -0.029 |
| predicted_HR | 0.000 | -0.136 |
| predicted_OBP | 0.333 | 0.010 |
| predicted_R | 1.000 | -0.098 |
| predicted_RBI | 1.000 | -0.368 |
| predicted_SLG | 0.250 | -0.109 |
| predicted_SO | 1.000 | -0.194 |
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 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 3.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 5.000 | 0.1429 | 0.1667 | 0.1905 | 0.1429 | 0.0000 | 0.1429 | 0.0476 | 0.2381 |
| last_10 | 0.20 | 7 | - | 38.000 | 7.000 | 3.000 | 0.000 | 0.000 | 7.000 | 3.000 | 1.000 | 9.000 | 0.1842 | 0.1951 | 0.2632 | 0.1842 | 0.0000 | 0.1842 | 0.0263 | 0.2368 |
| season | 0.60 | 55 | - | 898.000 | 267.000 | 43.000 | 0.000 | 17.000 | 156.000 | 137.000 | 99.000 | 120.000 | 0.2973 | 0.3677 | 0.4020 | 0.2973 | 0.0189 | 0.1737 | 0.1102 | 0.1336 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6240 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.3290 |
| predicted_AVG | 0.2519 |
| predicted_BB | 1.0860 |
| predicted_H | 3.1050 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.1670 |
| predicted_OBP | 0.3065 |
| predicted_R | 1.5070 |
| predicted_RBI | 2.0540 |
| predicted_SLG | 0.3432 |
| predicted_SO | 2.0750 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1940 | 0.6240 | 0.3839 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3000 | 12.3290 | 7.8452 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2519 | 0.2419 | model_form_blend |
| predicted_BB | 0.4460 | 1.0860 | 0.7286 | model_form_blend |
| predicted_H | 1.0100 | 3.1050 | 1.9350 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.1000 | 0.1670 | 0.1296 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3065 | 0.3045 | model_form_blend |
| predicted_R | 0.6170 | 1.5070 | 1.0100 | model_form_blend |
| predicted_RBI | 0.6300 | 2.0540 | 1.2588 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3432 | 0.3604 | model_form_blend |
| predicted_SO | 0.5410 | 2.0750 | 1.2183 | 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 | 222 |
| Season rows before report date | 222 |
| Report year | 2026 |
| Profile rows used | 222 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.297 |
| 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 | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 661388 |
| playerID | 661388 |
| playerName | William Contreras |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-03 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.328 |
| sl_xwoba | 0.333 |
| sl_xba | 0.276 |
| sl_xslg | 0.42 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 42.6 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 19.6 |
| sl_swing_percent | 47.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.211 | 0.000 | 0.000 | Hitting_2B | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 4.010 | 4.000 | 7.000 | Hitting_AB | 3.733 | 4.000 | 0.267 | 0.000 |
| predicted_AVG | 0.241 | 0.250 | 0.286 | Hitting_AVG | 0.288 | 0.250 | -0.038 | 0.000 |
| predicted_BB | 0.780 | 1.000 | 1.000 | Hitting_BB | 0.780 | 0.000 | 0.220 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_H | 0.970 | 1.000 | 2.000 | Hitting_H | 1.073 | 1.000 | -0.073 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_OBP | 0.364 | 0.400 | 0.375 | Hitting_OBP | 0.408 | 0.250 | -0.008 | 0.150 |
| predicted_R | 0.918 | 1.000 | 2.000 | Hitting_R | 0.918 | 0.000 | 0.082 | 1.000 |
| predicted_RBI | 0.630 | 1.000 | 1.000 | Hitting_RBI | 0.664 | 0.000 | 0.336 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.198 | 0.000 | -0.198 | 0.000 |
| predicted_SLG | 0.420 | 0.250 | 0.286 | Hitting_SLG | 0.485 | 0.250 | -0.235 | 0.000 |
| predicted_SO | 1.030 | 2.000 | 2.000 | Hitting_SO | 1.030 | 1.000 | 0.970 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 2 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_SO: 1.0300 -> 2.0000 (boost 0.9700, worse) |
| Biggest Deboost | predicted_2B: 0.2110 -> 0.0000 (deboost -0.2110, 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 | 12 | 12 | 0 | 11 | 1 | predicted_AB: 4.0100 -> 7.4254 (boost 3.4154, 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 | 6 | 6 | 0 | 6 | 0 | predicted_R: 1.6180 -> 1.7588 (boost 0.1408, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 0 | 8 | predicted_SO: 1.8894 -> 2.0000 (boost 0.1106, worse) | predicted_BB: 1.5442 -> 1.0000 (deboost -0.5442, worse) | AB rounded to 7 (raw=7.43), rates preserved: AVG=0.278 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.7588 -> 2.0000 (boost 0.2412, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2780 -> 0.2860 (boost 0.0080, better) | predicted_SLG: 0.4559 -> 0.2860 (deboost -0.1699, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2860 -> 0.4559 (boost 0.1699, better) | predicted_AVG: 0.2860 -> 0.2780 (deboost -0.0080, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668930",
"player_name": "Brice Turang",
"position": "2B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.211,
"predicted_3B": 0.043,
"predicted_AB": 4.01,
"predicted_AVG": 0.241,
"predicted_BB": 0.78,
"predicted_H": 0.97,
"predicted_HR": 0.11,
"predicted_OBP": 0.364,
"predicted_R": 0.918,
"predicted_RBI": 0.63,
"predicted_SLG": 0.42,
"predicted_SO": 1.03
},
"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.3997,
"predicted_3B": 0.1446,
"predicted_AB": 7.4254,
"predicted_AVG": 0.2561,
"predicted_BB": 1.5136,
"predicted_H": 1.9687,
"predicted_HBP": 0.003,
"predicted_HR": 0.2015,
"predicted_OBP": 0.3786,
"predicted_R": 1.618,
"predicted_RBI": 1.3172,
"predicted_SLG": 0.4364,
"predicted_SO": 1.9284
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.3997,
"delta": 0.1887,
"percent_delta": 0.8943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.1446,
"delta": 0.1016,
"percent_delta": 2.3628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 7.4254,
"delta": 3.4154,
"percent_delta": 0.8517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2561,
"delta": 0.0151,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.78,
"after": 1.5136,
"delta": 0.7336,
"percent_delta": 0.9405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.9687,
"delta": 0.9987,
"percent_delta": 1.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.2015,
"delta": 0.0915,
"percent_delta": 0.8318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3786,
"delta": 0.0146,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.918,
"after": 1.618,
"delta": 0.7,
"percent_delta": 0.7625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 1.3172,
"delta": 0.6872,
"percent_delta": 1.0908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4364,
"delta": 0.0164,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.03,
"after": 1.9284,
"delta": 0.8984,
"percent_delta": 0.8722,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 12,
"deboosted_metrics": 0,
"better_metrics": 11,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.01,
"after": 7.4254,
"delta": 3.4154,
"percent_delta": 0.8517,
"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": 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.3997,
"predicted_3B": 0.1446,
"predicted_AB": 7.4254,
"predicted_AVG": 0.278,
"predicted_BB": 1.5442,
"predicted_H": 2.0646,
"predicted_HBP": 0.003,
"predicted_HR": 0.2106,
"predicted_OBP": 0.4023,
"predicted_R": 1.7588,
"predicted_RBI": 1.4318,
"predicted_SLG": 0.4559,
"predicted_SO": 1.8894
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3997,
"after": 0.3997,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1446,
"after": 0.1446,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.4254,
"after": 7.4254,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2561,
"after": 0.278,
"delta": 0.0219,
"percent_delta": 0.0855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.5136,
"after": 1.5442,
"delta": 0.0306,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9687,
"after": 2.0646,
"delta": 0.0959,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2015,
"after": 0.2106,
"delta": 0.0091,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3786,
"after": 0.4023,
"delta": 0.0237,
"percent_delta": 0.0626,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.618,
"after": 1.7588,
"delta": 0.1408,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3172,
"after": 1.4318,
"delta": 0.1146,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4364,
"after": 0.4559,
"delta": 0.0195,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9284,
"after": 1.8894,
"delta": -0.039,
"percent_delta": -0.0202,
"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": 1.618,
"after": 1.7588,
"delta": 0.1408,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.43), rates preserved: AVG=0.278 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3997,
"after": 0.0,
"delta": -0.3997,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1446,
"after": 0.0,
"delta": -0.1446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.4254,
"after": 7.0,
"delta": -0.4254,
"percent_delta": -0.0573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.5442,
"after": 1.0,
"delta": -0.5442,
"percent_delta": -0.3524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0646,
"after": 2.0,
"delta": -0.0646,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2106,
"after": 0.0,
"delta": -0.2106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4318,
"after": 1.0,
"delta": -0.4318,
"percent_delta": -0.3016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8894,
"after": 2.0,
"delta": 0.1106,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.8894,
"after": 2.0,
"delta": 0.1106,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.5442,
"after": 1.0,
"delta": -0.5442,
"percent_delta": -0.3524,
"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": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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": 1.7588,
"after": 2.0,
"delta": 0.2412,
"percent_delta": 0.1371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.7588,
"after": 2.0,
"delta": 0.2412,
"percent_delta": 0.1371,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.286,
"delta": 0.008,
"percent_delta": 0.0288,
"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": 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.4023,
"after": 0.375,
"delta": -0.0273,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"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": 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.4559,
"after": 0.286,
"delta": -0.1699,
"percent_delta": -0.3727,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.286,
"delta": 0.008,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4559,
"after": 0.286,
"delta": -0.1699,
"percent_delta": -0.3727,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 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_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.278,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4023,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4559,
"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.286,
"after": 0.278,
"delta": -0.008,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.375,
"after": 0.4023,
"delta": 0.0273,
"percent_delta": 0.0729,
"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.286,
"after": 0.4559,
"delta": 0.1699,
"percent_delta": 0.5941,
"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.286,
"after": 0.4559,
"delta": 0.1699,
"percent_delta": 0.5941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.278,
"delta": -0.008,
"percent_delta": -0.0278,
"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.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 4.0,
"delta": -0.01,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.278,
"delta": 0.037,
"percent_delta": 0.1535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.78,
"after": 1.0,
"delta": 0.22,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0,
"delta": 0.03,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.364,
"after": 0.4023,
"delta": 0.0383,
"percent_delta": 0.1052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.918,
"after": 1.0,
"delta": 0.082,
"percent_delta": 0.0893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 1.0,
"delta": 0.37,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4559,
"delta": 0.0359,
"percent_delta": 0.0855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.03,
"after": 2.0,
"delta": 0.97,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.03,
"after": 2.0,
"delta": 0.97,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"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.211 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 4.010 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.780 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.364 | - |
| predicted_R | 0.918 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 1.030 | - |
Final model 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.400 | 0.189 |
| predicted_3B | 0.145 | 0.102 |
| predicted_AB | 7.425 | 3.415 |
| predicted_AVG | 0.256 | 0.015 |
| predicted_BB | 1.514 | 0.734 |
| predicted_H | 1.969 | 0.999 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.202 | 0.092 |
| predicted_OBP | 0.379 | 0.015 |
| predicted_R | 1.618 | 0.700 |
| predicted_RBI | 1.317 | 0.687 |
| predicted_SLG | 0.436 | 0.016 |
| predicted_SO | 1.928 | 0.898 |
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.400 | 0.000 |
| predicted_3B | 0.145 | 0.000 |
| predicted_AB | 7.425 | 0.000 |
| predicted_AVG | 0.278 | 0.022 |
| predicted_BB | 1.544 | 0.031 |
| predicted_H | 2.065 | 0.096 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.211 | 0.009 |
| predicted_OBP | 0.402 | 0.024 |
| predicted_R | 1.759 | 0.141 |
| predicted_RBI | 1.432 | 0.115 |
| predicted_SLG | 0.456 | 0.020 |
| predicted_SO | 1.889 | -0.039 |
AB rounded to 7 (raw=7.43), rates preserved: AVG=0.278 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 2.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.400 |
| predicted_3B | 0.000 | -0.145 |
| predicted_AB | 7.000 | -0.425 |
| predicted_AVG | 0.286 | 0.008 |
| predicted_BB | 1.000 | -0.544 |
| predicted_H | 2.000 | -0.065 |
| predicted_HR | 0.000 | -0.211 |
| predicted_OBP | 0.375 | -0.027 |
| predicted_R | 2.000 | 0.241 |
| predicted_RBI | 1.000 | -0.432 |
| predicted_SLG | 0.286 | -0.170 |
| predicted_SO | 2.000 | 0.111 |
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 | -3.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.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 | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 1.000 | 1.000 | 0.000 | 4.000 | 3.000 | 4.000 | 3.000 | 0.2941 | 0.4286 | 0.4706 | 0.2941 | 0.0000 | 0.2353 | 0.2353 | 0.1765 |
| last_10 | 0.20 | 7 | - | 35.000 | 5.000 | 1.000 | 1.000 | 0.000 | 5.000 | 3.000 | 6.000 | 13.000 | 0.1429 | 0.2619 | 0.2286 | 0.1429 | 0.0000 | 0.1429 | 0.1714 | 0.3714 |
| season | 0.60 | 55 | - | 866.000 | 249.000 | 49.000 | 10.000 | 34.000 | 154.000 | 213.000 | 181.000 | 239.000 | 0.2875 | 0.4080 | 0.4850 | 0.2875 | 0.0393 | 0.1778 | 0.2090 | 0.2760 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6380 |
| predicted_3B | 0.2730 |
| predicted_AB | 11.7390 |
| predicted_AVG | 0.2751 |
| predicted_BB | 2.4400 |
| predicted_H | 3.2300 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.3170 |
| predicted_OBP | 0.3970 |
| predicted_R | 2.5020 |
| predicted_RBI | 2.1850 |
| predicted_SLG | 0.4570 |
| predicted_SO | 3.0630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2110 | 0.6380 | 0.3997 | model_form_blend |
| predicted_3B | 0.0430 | 0.2730 | 0.1446 | model_form_blend |
| predicted_AB | 4.0100 | 11.7390 | 7.4254 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2751 | 0.2561 | model_form_blend |
| predicted_BB | 0.7800 | 2.4400 | 1.5136 | model_form_blend |
| predicted_H | 0.9700 | 3.2300 | 1.9687 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1100 | 0.3170 | 0.2015 | model_form_blend |
| predicted_OBP | 0.3640 | 0.3970 | 0.3786 | model_form_blend |
| predicted_R | 0.9180 | 2.5020 | 1.6180 | model_form_blend |
| predicted_RBI | 0.6300 | 2.1850 | 1.3172 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4570 | 0.4364 | model_form_blend |
| predicted_SO | 1.0300 | 3.0630 | 1.9284 | 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 | 232 |
| Season rows before report date | 232 |
| Report year | 2026 |
| Profile rows used | 232 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.288 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 2B |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 668930 |
| playerID | 668930 |
| playerName | Brice Turang |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-03 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 17.8 |
| sl_woba | 0.38 |
| sl_xwoba | 0.381 |
| sl_xba | 0.272 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 48.3 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 8.3 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 40.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.126 | 0.000 | 0.000 | Hitting_2B | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.621 | 3.000 | 6.000 | Hitting_AB | 3.528 | 1.000 | -0.528 | 2.000 |
| predicted_AVG | 0.240 | 0.667 | 0.167 | Hitting_AVG | 0.224 | 0.000 | 0.443 | 0.667 |
| predicted_BB | 0.332 | 0.000 | 1.000 | Hitting_BB | 0.364 | 1.000 | -0.364 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_H | 0.780 | 2.000 | 1.000 | Hitting_H | 0.790 | 0.000 | 1.210 | 2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.072 | 0.000 | -0.072 | 0.000 |
| predicted_OBP | 0.298 | 0.750 | 0.286 | Hitting_OBP | 0.296 | 0.500 | 0.454 | 0.250 |
| predicted_R | 0.484 | 1.000 | 1.000 | Hitting_R | 0.472 | 0.000 | 0.528 | 1.000 |
| predicted_RBI | 0.360 | 0.000 | 1.000 | Hitting_RBI | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_SLG | 0.354 | 0.667 | 0.167 | Hitting_SLG | 0.320 | 0.000 | 0.347 | 0.667 |
| predicted_SO | 0.474 | 1.000 | 1.000 | Hitting_SO | 0.462 | 0.000 | 0.538 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.7800 -> 2.0000 (boost 1.2200, better) |
| Biggest Deboost | predicted_AB: 3.6210 -> 3.0000 (deboost -0.6210, 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 | 7 | 0 | 6 | 1 | predicted_AB: 3.6210 -> 6.3178 (boost 2.6968, 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 | 4 | 3 | 1 | 3 | 1 | predicted_R: 0.8434 -> 0.9168 (boost 0.0734, better) | predicted_SLG: 0.3516 -> 0.3462 (deboost -0.0054, 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_BB: 0.5612 -> 1.0000 (boost 0.4388, better) | predicted_H: 1.5456 -> 1.0000 (deboost -0.5456, worse) | AB rounded to 6 (raw=6.32), rates preserved: AVG=0.245 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9168 -> 1.0000 (boost 0.0832, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3462 -> 0.1670 (deboost -0.1792, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 2 | 3 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3462 (boost 0.1792, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686217",
"player_name": "Sal Frelick",
"position": "RF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.126,
"predicted_3B": 0.0,
"predicted_AB": 3.621,
"predicted_AVG": 0.24,
"predicted_BB": 0.332,
"predicted_H": 0.78,
"predicted_HR": 0.06,
"predicted_OBP": 0.298,
"predicted_R": 0.484,
"predicted_RBI": 0.36,
"predicted_SLG": 0.354,
"predicted_SO": 0.474
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3388,
"predicted_3B": 0.0004,
"predicted_AB": 6.3178,
"predicted_AVG": 0.2407,
"predicted_BB": 0.5501,
"predicted_H": 1.4738,
"predicted_HBP": 0.041,
"predicted_HR": 0.0964,
"predicted_OBP": 0.3004,
"predicted_R": 0.8434,
"predicted_RBI": 0.5654,
"predicted_SLG": 0.3516,
"predicted_SO": 0.7636
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.126,
"after": 0.3388,
"delta": 0.2128,
"percent_delta": 1.6889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.621,
"after": 6.3178,
"delta": 2.6968,
"percent_delta": 0.7448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2407,
"delta": 0.0007,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.332,
"after": 0.5501,
"delta": 0.2181,
"percent_delta": 0.6569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 1.4738,
"delta": 0.6938,
"percent_delta": 0.8895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0964,
"delta": 0.0364,
"percent_delta": 0.6067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3004,
"delta": 0.0024,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.8434,
"delta": 0.3594,
"percent_delta": 0.7426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.5654,
"delta": 0.2054,
"percent_delta": 0.5706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3516,
"delta": -0.0024,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.474,
"after": 0.7636,
"delta": 0.2896,
"percent_delta": 0.611,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.621,
"after": 6.3178,
"delta": 2.6968,
"percent_delta": 0.7448,
"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": 53
}
},
{
"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.3388,
"predicted_3B": 0.0004,
"predicted_AB": 6.3178,
"predicted_AVG": 0.2446,
"predicted_BB": 0.5612,
"predicted_H": 1.5456,
"predicted_HBP": 0.041,
"predicted_HR": 0.1008,
"predicted_OBP": 0.3063,
"predicted_R": 0.9168,
"predicted_RBI": 0.6146,
"predicted_SLG": 0.3462,
"predicted_SO": 0.7482
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3388,
"after": 0.3388,
"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": 6.3178,
"after": 6.3178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2407,
"after": 0.2446,
"delta": 0.0039,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5501,
"after": 0.5612,
"delta": 0.0111,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4738,
"after": 1.5456,
"delta": 0.0718,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0964,
"after": 0.1008,
"delta": 0.0044,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3004,
"after": 0.3063,
"delta": 0.0059,
"percent_delta": 0.0196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8434,
"after": 0.9168,
"delta": 0.0734,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5654,
"after": 0.6146,
"delta": 0.0492,
"percent_delta": 0.087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3516,
"after": 0.3462,
"delta": -0.0054,
"percent_delta": -0.0154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7636,
"after": 0.7482,
"delta": -0.0154,
"percent_delta": -0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8434,
"after": 0.9168,
"delta": 0.0734,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3516,
"after": 0.3462,
"delta": -0.0054,
"percent_delta": -0.0154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.32), rates preserved: AVG=0.245 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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.3388,
"after": 0.0,
"delta": -0.3388,
"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": 6.3178,
"after": 6.0,
"delta": -0.3178,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5612,
"after": 1.0,
"delta": 0.4388,
"percent_delta": 0.7819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5456,
"after": 1.0,
"delta": -0.5456,
"percent_delta": -0.353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1008,
"after": 0.0,
"delta": -0.1008,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6146,
"after": 1.0,
"delta": 0.3854,
"percent_delta": 0.6271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7482,
"after": 1.0,
"delta": 0.2518,
"percent_delta": 0.3365,
"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_BB",
"before": 0.5612,
"after": 1.0,
"delta": 0.4388,
"percent_delta": 0.7819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.5456,
"after": 1.0,
"delta": -0.5456,
"percent_delta": -0.353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 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": 6.0,
"after": 6.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.9168,
"after": 1.0,
"delta": 0.0832,
"percent_delta": 0.0908,
"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.9168,
"after": 1.0,
"delta": 0.0832,
"percent_delta": 0.0908,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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.2446,
"after": 0.167,
"delta": -0.0776,
"percent_delta": -0.3173,
"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.3063,
"after": 0.286,
"delta": -0.0203,
"percent_delta": -0.0663,
"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.3462,
"after": 0.167,
"delta": -0.1792,
"percent_delta": -0.5176,
"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.3462,
"after": 0.167,
"delta": -0.1792,
"percent_delta": -0.5176,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.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": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 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": 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": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"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.2446,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3063,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3462,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2446,
"delta": 0.0776,
"percent_delta": 0.4649,
"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": 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.286,
"after": 0.3063,
"delta": 0.0203,
"percent_delta": 0.0708,
"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.167,
"after": 0.3462,
"delta": 0.1792,
"percent_delta": 1.0733,
"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.167,
"after": 0.3462,
"delta": 0.1792,
"percent_delta": 1.0733,
"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.126,
"after": 0.0,
"delta": -0.126,
"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.621,
"after": 3.0,
"delta": -0.621,
"percent_delta": -0.1715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2446,
"delta": 0.0046,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.332,
"after": 0.0,
"delta": -0.332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 2.0,
"delta": 1.22,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3063,
"delta": 0.0083,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 1.0,
"delta": 0.516,
"percent_delta": 1.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3462,
"delta": -0.0078,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.474,
"after": 1.0,
"delta": 0.526,
"percent_delta": 1.1097,
"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_H",
"before": 0.78,
"after": 2.0,
"delta": 1.22,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.621,
"after": 3.0,
"delta": -0.621,
"percent_delta": -0.1715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.126 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.621 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.332 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.484 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.354 | - |
| predicted_SO | 0.474 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.339 | 0.213 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.318 | 2.697 |
| predicted_AVG | 0.241 | 0.001 |
| predicted_BB | 0.550 | 0.218 |
| predicted_H | 1.474 | 0.694 |
| predicted_HBP | 0.041 | - |
| predicted_HR | 0.096 | 0.036 |
| predicted_OBP | 0.300 | 0.002 |
| predicted_R | 0.843 | 0.359 |
| predicted_RBI | 0.565 | 0.205 |
| predicted_SLG | 0.352 | -0.002 |
| predicted_SO | 0.764 | 0.290 |
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.339 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.318 | 0.000 |
| predicted_AVG | 0.245 | 0.004 |
| predicted_BB | 0.561 | 0.011 |
| predicted_H | 1.546 | 0.072 |
| predicted_HBP | 0.041 | 0.000 |
| predicted_HR | 0.101 | 0.004 |
| predicted_OBP | 0.306 | 0.006 |
| predicted_R | 0.917 | 0.073 |
| predicted_RBI | 0.615 | 0.049 |
| predicted_SLG | 0.346 | -0.005 |
| predicted_SO | 0.748 | -0.015 |
AB rounded to 6 (raw=6.32), rates preserved: AVG=0.245 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.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.339 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 6.000 | -0.318 |
| predicted_AVG | 0.167 | -0.078 |
| predicted_BB | 1.000 | 0.439 |
| predicted_H | 1.000 | -0.546 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.286 | -0.020 |
| predicted_R | 1.000 | 0.083 |
| predicted_RBI | 1.000 | 0.385 |
| predicted_SLG | 0.167 | -0.179 |
| predicted_SO | 1.000 | 0.252 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 0.2941 | 0.3333 | 0.4118 | 0.2941 | 0.0000 | 0.0588 | 0.0588 | 0.0588 |
| last_10 | 0.20 | 7 | - | 29.000 | 7.000 | 4.000 | 0.000 | 0.000 | 1.000 | 5.000 | 3.000 | 3.000 | 0.2414 | 0.3125 | 0.3793 | 0.2414 | 0.0000 | 0.0345 | 0.1035 | 0.1035 |
| season | 0.60 | 53 | - | 688.000 | 154.000 | 24.000 | 0.000 | 14.000 | 67.000 | 92.000 | 63.000 | 90.000 | 0.2238 | 0.2916 | 0.3198 | 0.2238 | 0.0204 | 0.0974 | 0.0916 | 0.1308 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6110 |
| predicted_3B | 0.0010 |
| predicted_AB | 9.7660 |
| predicted_AVG | 0.2417 |
| predicted_BB | 0.8290 |
| predicted_H | 2.3610 |
| predicted_HBP | 0.0410 |
| predicted_HR | 0.1430 |
| predicted_OBP | 0.3034 |
| predicted_R | 1.3030 |
| predicted_RBI | 0.8280 |
| predicted_SLG | 0.3485 |
| predicted_SO | 1.1340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1260 | 0.6110 | 0.3388 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6210 | 9.7660 | 6.3178 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2417 | 0.2407 | model_form_blend |
| predicted_BB | 0.3320 | 0.8290 | 0.5501 | model_form_blend |
| predicted_H | 0.7800 | 2.3610 | 1.4738 | model_form_blend |
| predicted_HBP | - | 0.0410 | 0.0410 | form_only |
| predicted_HR | 0.0600 | 0.1430 | 0.0964 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3034 | 0.3004 | model_form_blend |
| predicted_R | 0.4840 | 1.3030 | 0.8434 | model_form_blend |
| predicted_RBI | 0.3600 | 0.8280 | 0.5654 | model_form_blend |
| predicted_SLG | 0.3540 | 0.3485 | 0.3516 | model_form_blend |
| predicted_SO | 0.4740 | 1.1340 | 0.7636 | 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 | 195 |
| Season rows before report date | 195 |
| Report year | 2026 |
| Profile rows used | 190 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.224 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 686217 |
| playerID | 686217 |
| playerName | Sal Frelick |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-03 |
| sl_k_percent | 10.5 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.273 |
| sl_xwoba | 0.279 |
| sl_xba | 0.239 |
| sl_xslg | 0.319 |
| sl_sweet_spot_percent | 27.4 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 26.8 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 8.4 |
| sl_whiff_percent | 10.7 |
| sl_swing_percent | 42.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.229 | 0.000 | 0.000 | Hitting_2B | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.612 | 3.000 | 6.000 | Hitting_AB | 3.612 | 2.000 | -0.612 | 1.000 |
| predicted_AVG | 0.216 | 0.333 | 0.167 | Hitting_AVG | 0.217 | 0.000 | 0.117 | 0.333 |
| predicted_BB | 0.329 | 1.000 | 1.000 | Hitting_BB | 0.329 | 1.000 | 0.671 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_H | 0.260 | 1.000 | 1.000 | Hitting_H | 0.782 | 0.000 | 0.218 | 1.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.277 | 0.500 | 0.286 | Hitting_OBP | 0.287 | 0.333 | 0.213 | 0.167 |
| predicted_R | 0.324 | 1.000 | 1.000 | Hitting_R | 0.324 | 0.000 | 0.676 | 1.000 |
| predicted_RBI | 0.130 | 2.000 | 0.000 | Hitting_RBI | 0.365 | 0.000 | 1.635 | 2.000 |
| predicted_SLG | 0.301 | 0.333 | 0.167 | Hitting_SLG | 0.280 | 0.000 | 0.053 | 0.333 |
| predicted_SO | 0.435 | 0.000 | 1.000 | Hitting_SO | 0.435 | 0.000 | -0.435 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.1300 -> 2.0000 (boost 1.8700, better) |
| Biggest Deboost | predicted_AB: 3.6120 -> 3.0000 (deboost -0.6120, 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 | 8 | 1 | 7 | 2 | predicted_AB: 3.6120 -> 6.2529 (boost 2.6409, better) | predicted_SLG: 0.3010 -> 0.2840 (deboost -0.0170, 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 | 5 | 2 | 3 | 2 | 3 | predicted_R: 0.6754 -> 0.7342 (boost 0.0588, better) | predicted_SLG: 0.2840 -> 0.2349 (deboost -0.0491, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.6886 -> 1.0000 (boost 0.3114, worse) | predicted_RBI: 0.4985 -> 0.0000 (deboost -0.4985, worse) | AB rounded to 6 (raw=6.25), rates preserved: AVG=0.175 HR/AB=0.003 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7342 -> 1.0000 (boost 0.2658, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2585 -> 0.2860 (boost 0.0275, better) | predicted_SLG: 0.2349 -> 0.1670 (deboost -0.0679, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1670 -> 0.2349 (boost 0.0679, better) | predicted_OBP: 0.2860 -> 0.2585 (deboost -0.0275, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650859",
"player_name": "Luis Rengifo",
"position": "3B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.229,
"predicted_3B": 0.0,
"predicted_AB": 3.612,
"predicted_AVG": 0.216,
"predicted_BB": 0.329,
"predicted_H": 0.26,
"predicted_HR": 0.02,
"predicted_OBP": 0.277,
"predicted_R": 0.324,
"predicted_RBI": 0.13,
"predicted_SLG": 0.301,
"predicted_SO": 0.435
},
"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.3209,
"predicted_3B": 0.0009,
"predicted_AB": 6.2529,
"predicted_AVG": 0.2142,
"predicted_BB": 0.6931,
"predicted_H": 1.0411,
"predicted_HBP": 0.057,
"predicted_HR": 0.0174,
"predicted_OBP": 0.2868,
"predicted_R": 0.6754,
"predicted_RBI": 0.4586,
"predicted_SLG": 0.284,
"predicted_SO": 0.7028
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.229,
"after": 0.3209,
"delta": 0.0919,
"percent_delta": 0.4013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.612,
"after": 6.2529,
"delta": 2.6409,
"percent_delta": 0.7311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2142,
"delta": -0.0018,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.6931,
"delta": 0.3641,
"percent_delta": 1.1067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 1.0411,
"delta": 0.7811,
"percent_delta": 3.0042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0174,
"delta": -0.0026,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2868,
"delta": 0.0098,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.324,
"after": 0.6754,
"delta": 0.3514,
"percent_delta": 1.0846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.4586,
"delta": 0.3286,
"percent_delta": 2.5277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.284,
"delta": -0.017,
"percent_delta": -0.0565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.435,
"after": 0.7028,
"delta": 0.2678,
"percent_delta": 0.6156,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.612,
"after": 6.2529,
"delta": 2.6409,
"percent_delta": 0.7311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.284,
"delta": -0.017,
"percent_delta": -0.0565,
"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": 49
}
},
{
"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.3209,
"predicted_3B": 0.0009,
"predicted_AB": 6.2529,
"predicted_AVG": 0.1746,
"predicted_BB": 0.7071,
"predicted_H": 1.0918,
"predicted_HBP": 0.057,
"predicted_HR": 0.0182,
"predicted_OBP": 0.2585,
"predicted_R": 0.7342,
"predicted_RBI": 0.4985,
"predicted_SLG": 0.2349,
"predicted_SO": 0.6886
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3209,
"after": 0.3209,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.2529,
"after": 6.2529,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2142,
"after": 0.1746,
"delta": -0.0396,
"percent_delta": -0.1849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6931,
"after": 0.7071,
"delta": 0.014,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0411,
"after": 1.0918,
"delta": 0.0507,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.057,
"after": 0.057,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0174,
"after": 0.0182,
"delta": 0.0008,
"percent_delta": 0.046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2868,
"after": 0.2585,
"delta": -0.0283,
"percent_delta": -0.0987,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6754,
"after": 0.7342,
"delta": 0.0588,
"percent_delta": 0.0871,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4586,
"after": 0.4985,
"delta": 0.0399,
"percent_delta": 0.087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.284,
"after": 0.2349,
"delta": -0.0491,
"percent_delta": -0.1729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7028,
"after": 0.6886,
"delta": -0.0142,
"percent_delta": -0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6754,
"after": 0.7342,
"delta": 0.0588,
"percent_delta": 0.0871,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.284,
"after": 0.2349,
"delta": -0.0491,
"percent_delta": -0.1729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.25), rates preserved: AVG=0.175 HR/AB=0.003",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3209,
"after": 0.0,
"delta": -0.3209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.2529,
"after": 6.0,
"delta": -0.2529,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7071,
"after": 1.0,
"delta": 0.2929,
"percent_delta": 0.4142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0918,
"after": 1.0,
"delta": -0.0918,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.057,
"after": 0.0,
"delta": -0.057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0182,
"after": 0.0,
"delta": -0.0182,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4985,
"after": 0.0,
"delta": -0.4985,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6886,
"after": 1.0,
"delta": 0.3114,
"percent_delta": 0.4522,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6886,
"after": 1.0,
"delta": 0.3114,
"percent_delta": 0.4522,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4985,
"after": 0.0,
"delta": -0.4985,
"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": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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.7342,
"after": 1.0,
"delta": 0.2658,
"percent_delta": 0.362,
"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.7342,
"after": 1.0,
"delta": 0.2658,
"percent_delta": 0.362,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"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.1746,
"after": 0.167,
"delta": -0.0076,
"percent_delta": -0.0435,
"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.2585,
"after": 0.286,
"delta": 0.0275,
"percent_delta": 0.1064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2349,
"after": 0.167,
"delta": -0.0679,
"percent_delta": -0.2891,
"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.2585,
"after": 0.286,
"delta": 0.0275,
"percent_delta": 0.1064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2349,
"after": 0.167,
"delta": -0.0679,
"percent_delta": -0.2891,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"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": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"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.1746,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2585,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2349,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.1746,
"delta": 0.0076,
"percent_delta": 0.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2585,
"delta": -0.0275,
"percent_delta": -0.0963,
"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.167,
"after": 0.2349,
"delta": 0.0679,
"percent_delta": 0.4068,
"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.167,
"after": 0.2349,
"delta": 0.0679,
"percent_delta": 0.4068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2585,
"delta": -0.0275,
"percent_delta": -0.0963,
"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.229,
"after": 0.0,
"delta": -0.229,
"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.612,
"after": 3.0,
"delta": -0.612,
"percent_delta": -0.1694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.1746,
"delta": -0.0414,
"percent_delta": -0.1917,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 1.0,
"delta": 0.671,
"percent_delta": 2.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"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.277,
"after": 0.2585,
"delta": -0.0185,
"percent_delta": -0.0668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.324,
"after": 1.0,
"delta": 0.676,
"percent_delta": 2.0864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 2.0,
"delta": 1.87,
"percent_delta": 14.3846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.2349,
"delta": -0.0661,
"percent_delta": -0.2196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.435,
"after": 0.0,
"delta": -0.435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.13,
"after": 2.0,
"delta": 1.87,
"percent_delta": 14.3846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.612,
"after": 3.0,
"delta": -0.612,
"percent_delta": -0.1694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.229 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.612 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.329 | - |
| predicted_H | 0.260 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.324 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.301 | - |
| predicted_SO | 0.435 | - |
Final model 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.321 | 0.092 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.253 | 2.641 |
| predicted_AVG | 0.214 | -0.002 |
| predicted_BB | 0.693 | 0.364 |
| predicted_H | 1.041 | 0.781 |
| predicted_HBP | 0.057 | - |
| predicted_HR | 0.017 | -0.003 |
| predicted_OBP | 0.287 | 0.010 |
| predicted_R | 0.675 | 0.351 |
| predicted_RBI | 0.459 | 0.329 |
| predicted_SLG | 0.284 | -0.017 |
| predicted_SO | 0.703 | 0.268 |
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.321 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.253 | 0.000 |
| predicted_AVG | 0.175 | -0.040 |
| predicted_BB | 0.707 | 0.014 |
| predicted_H | 1.092 | 0.051 |
| predicted_HBP | 0.057 | 0.000 |
| predicted_HR | 0.018 | 0.001 |
| predicted_OBP | 0.259 | -0.028 |
| predicted_R | 0.734 | 0.059 |
| predicted_RBI | 0.498 | 0.040 |
| predicted_SLG | 0.235 | -0.049 |
| predicted_SO | 0.689 | -0.014 |
AB rounded to 6 (raw=6.25), rates preserved: AVG=0.175 HR/AB=0.003
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.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 | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.321 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.253 |
| predicted_AVG | 0.167 | -0.008 |
| predicted_BB | 1.000 | 0.293 |
| predicted_H | 1.000 | -0.092 |
| predicted_HR | 0.000 | -0.018 |
| predicted_OBP | 0.286 | 0.027 |
| predicted_R | 1.000 | 0.266 |
| predicted_RBI | 0.000 | -0.498 |
| predicted_SLG | 0.167 | -0.068 |
| predicted_SO | 1.000 | 0.311 |
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 | -3.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 0.2000 | 0.3333 | 0.2000 | 0.2000 | 0.0000 | 0.0667 | 0.2000 | 0.0667 |
| last_10 | 0.20 | 6 | - | 30.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 6.000 | 1.000 | 0.1667 | 0.3056 | 0.1667 | 0.1667 | 0.0000 | 0.0333 | 0.2000 | 0.0333 |
| season | 0.60 | 49 | - | 614.000 | 133.000 | 39.000 | 0.000 | 0.000 | 62.000 | 55.000 | 56.000 | 74.000 | 0.2166 | 0.2866 | 0.2801 | 0.2166 | 0.0000 | 0.1010 | 0.0912 | 0.1205 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4390 |
| predicted_3B | 0.0020 |
| predicted_AB | 9.6470 |
| predicted_AVG | 0.2120 |
| predicted_BB | 1.1610 |
| predicted_H | 2.0450 |
| predicted_HBP | 0.0570 |
| predicted_HR | 0.0140 |
| predicted_OBP | 0.2993 |
| predicted_R | 1.1270 |
| predicted_RBI | 0.8810 |
| predicted_SLG | 0.2621 |
| predicted_SO | 1.0470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2290 | 0.4390 | 0.3209 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6120 | 9.6470 | 6.2529 | model_form_blend |
| predicted_AVG | 0.2160 | 0.2120 | 0.2142 | model_form_blend |
| predicted_BB | 0.3290 | 1.1610 | 0.6931 | model_form_blend |
| predicted_H | 0.2600 | 2.0450 | 1.0411 | model_form_blend |
| predicted_HBP | - | 0.0570 | 0.0570 | form_only |
| predicted_HR | 0.0200 | 0.0140 | 0.0174 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2993 | 0.2868 | model_form_blend |
| predicted_R | 0.3240 | 1.1270 | 0.6754 | model_form_blend |
| predicted_RBI | 0.1300 | 0.8810 | 0.4586 | model_form_blend |
| predicted_SLG | 0.3010 | 0.2621 | 0.2840 | model_form_blend |
| predicted_SO | 0.4350 | 1.0470 | 0.7028 | 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 | 170 |
| Season rows before report date | 170 |
| Report year | 2026 |
| Profile rows used | 170 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.217 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 650859 |
| playerID | 650859 |
| playerName | Luis Rengifo |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-03 |
| sl_k_percent | 11.0 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.245 |
| sl_xwoba | 0.295 |
| sl_xba | 0.248 |
| sl_xslg | 0.337 |
| sl_sweet_spot_percent | 28.3 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 35.2 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 3.8 |
| sl_whiff_percent | 19.6 |
| sl_swing_percent | 49.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.229 | 0.000 | 0.000 | Hitting_2B | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 3.465 | 4.000 | 6.000 | Hitting_AB | 3.424 | 2.000 | 0.576 | 2.000 |
| predicted_AVG | 0.245 | 0.000 | 0.167 | Hitting_AVG | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_BB | 0.582 | 0.000 | 1.000 | Hitting_BB | 0.587 | 0.000 | -0.587 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_H | 0.740 | 0.000 | 1.000 | Hitting_H | 0.831 | 0.000 | -0.831 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_OBP | 0.345 | 0.000 | 0.286 | Hitting_OBP | 0.356 | 0.000 | -0.356 | 0.000 |
| predicted_R | 0.482 | 0.000 | 1.000 | Hitting_R | 0.483 | 0.000 | -0.483 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 1.000 | Hitting_RBI | 0.616 | 0.000 | -0.616 | 0.000 |
| predicted_SLG | 0.375 | 0.000 | 0.167 | Hitting_SLG | 0.362 | 0.000 | -0.362 | 0.000 |
| predicted_SO | 1.382 | 2.000 | 2.000 | Hitting_SO | 1.366 | 1.000 | 0.634 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 1.3820 -> 2.0000 (boost 0.6180, worse) |
| Biggest Deboost | predicted_H: 0.7400 -> 0.0000 (deboost -0.7400, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.4650 -> 5.9419 (boost 2.4769, 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 | 4 | 4 | 0 | 4 | 0 | predicted_R: 0.8709 -> 0.9467 (boost 0.0758, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_RBI: 0.8542 -> 1.0000 (boost 0.1458, better) | predicted_H: 1.4520 -> 1.0000 (deboost -0.4520, worse) | AB rounded to 6 (raw=5.94), rates preserved: AVG=0.244 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9467 -> 1.0000 (boost 0.0533, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3871 -> 0.1670 (deboost -0.2201, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3871 (boost 0.2201, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.229,
"predicted_3B": 0.029,
"predicted_AB": 3.465,
"predicted_AVG": 0.245,
"predicted_BB": 0.582,
"predicted_H": 0.74,
"predicted_HR": 0.09,
"predicted_OBP": 0.345,
"predicted_R": 0.482,
"predicted_RBI": 0.4,
"predicted_SLG": 0.375,
"predicted_SO": 1.382
},
"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.423,
"predicted_3B": 0.0391,
"predicted_AB": 5.9419,
"predicted_AVG": 0.2439,
"predicted_BB": 1.0142,
"predicted_H": 1.3846,
"predicted_HBP": 0.233,
"predicted_HR": 0.1106,
"predicted_OBP": 0.3538,
"predicted_R": 0.8709,
"predicted_RBI": 0.7858,
"predicted_SLG": 0.3739,
"predicted_SO": 2.387
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.229,
"after": 0.423,
"delta": 0.194,
"percent_delta": 0.8472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0391,
"delta": 0.0101,
"percent_delta": 0.3483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.465,
"after": 5.9419,
"delta": 2.4769,
"percent_delta": 0.7148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2439,
"delta": -0.0011,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.582,
"after": 1.0142,
"delta": 0.4322,
"percent_delta": 0.7426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.3846,
"delta": 0.6446,
"percent_delta": 0.8711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1106,
"delta": 0.0206,
"percent_delta": 0.2289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3538,
"delta": 0.0088,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.482,
"after": 0.8709,
"delta": 0.3889,
"percent_delta": 0.8068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.7858,
"delta": 0.3858,
"percent_delta": 0.9645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3739,
"delta": -0.0011,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.382,
"after": 2.387,
"delta": 1.005,
"percent_delta": 0.7272,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.465,
"after": 5.9419,
"delta": 2.4769,
"percent_delta": 0.7148,
"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": 48
}
},
{
"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.423,
"predicted_3B": 0.0391,
"predicted_AB": 5.9419,
"predicted_AVG": 0.2444,
"predicted_BB": 1.0347,
"predicted_H": 1.452,
"predicted_HBP": 0.233,
"predicted_HR": 0.1156,
"predicted_OBP": 0.3564,
"predicted_R": 0.9467,
"predicted_RBI": 0.8542,
"predicted_SLG": 0.3871,
"predicted_SO": 2.3388
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.423,
"after": 0.423,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0391,
"after": 0.0391,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.9419,
"after": 5.9419,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2439,
"after": 0.2444,
"delta": 0.0005,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0142,
"after": 1.0347,
"delta": 0.0205,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3846,
"after": 1.452,
"delta": 0.0674,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.233,
"after": 0.233,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1106,
"after": 0.1156,
"delta": 0.005,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3538,
"after": 0.3564,
"delta": 0.0026,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8709,
"after": 0.9467,
"delta": 0.0758,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7858,
"after": 0.8542,
"delta": 0.0684,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3739,
"after": 0.3871,
"delta": 0.0132,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.387,
"after": 2.3388,
"delta": -0.0482,
"percent_delta": -0.0202,
"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_R",
"before": 0.8709,
"after": 0.9467,
"delta": 0.0758,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.94), rates preserved: AVG=0.244 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.423,
"after": 0.0,
"delta": -0.423,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0391,
"after": 0.0,
"delta": -0.0391,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.9419,
"after": 6.0,
"delta": 0.0581,
"percent_delta": 0.0098,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0347,
"after": 1.0,
"delta": -0.0347,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.452,
"after": 1.0,
"delta": -0.452,
"percent_delta": -0.3113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1156,
"after": 0.0,
"delta": -0.1156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8542,
"after": 1.0,
"delta": 0.1458,
"percent_delta": 0.1707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.3388,
"after": 2.0,
"delta": -0.3388,
"percent_delta": -0.1449,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.8542,
"after": 1.0,
"delta": 0.1458,
"percent_delta": 0.1707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.452,
"after": 1.0,
"delta": -0.452,
"percent_delta": -0.3113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.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.9467,
"after": 1.0,
"delta": 0.0533,
"percent_delta": 0.0563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.9467,
"after": 1.0,
"delta": 0.0533,
"percent_delta": 0.0563,
"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": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"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": 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.2444,
"after": 0.167,
"delta": -0.0774,
"percent_delta": -0.3167,
"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.3564,
"after": 0.286,
"delta": -0.0704,
"percent_delta": -0.1975,
"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.3871,
"after": 0.167,
"delta": -0.2201,
"percent_delta": -0.5686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3871,
"after": 0.167,
"delta": -0.2201,
"percent_delta": -0.5686,
"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": 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": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 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.2444,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3564,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3871,
"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.167,
"after": 0.2444,
"delta": 0.0774,
"percent_delta": 0.4633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3564,
"delta": 0.0704,
"percent_delta": 0.2463,
"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.167,
"after": 0.3871,
"delta": 0.2201,
"percent_delta": 1.3179,
"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.167,
"after": 0.3871,
"delta": 0.2201,
"percent_delta": 1.3179,
"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.229,
"after": 0.0,
"delta": -0.229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.465,
"after": 4.0,
"delta": 0.535,
"percent_delta": 0.1544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2444,
"delta": -0.0006,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.582,
"after": 0.0,
"delta": -0.582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3564,
"delta": 0.0114,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"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.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3871,
"delta": 0.0121,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.382,
"after": 2.0,
"delta": 0.618,
"percent_delta": 0.4472,
"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_SO",
"before": 1.382,
"after": 2.0,
"delta": 0.618,
"percent_delta": 0.4472,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"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.229 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.465 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.582 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.482 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.375 | - |
| predicted_SO | 1.382 | - |
Final model 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.423 | 0.194 |
| predicted_3B | 0.039 | 0.010 |
| predicted_AB | 5.942 | 2.477 |
| predicted_AVG | 0.244 | -0.001 |
| predicted_BB | 1.014 | 0.432 |
| predicted_H | 1.385 | 0.645 |
| predicted_HBP | 0.233 | - |
| predicted_HR | 0.111 | 0.021 |
| predicted_OBP | 0.354 | 0.009 |
| predicted_R | 0.871 | 0.389 |
| predicted_RBI | 0.786 | 0.386 |
| predicted_SLG | 0.374 | -0.001 |
| predicted_SO | 2.387 | 1.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.423 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 5.942 | 0.000 |
| predicted_AVG | 0.244 | 0.001 |
| predicted_BB | 1.035 | 0.020 |
| predicted_H | 1.452 | 0.067 |
| predicted_HBP | 0.233 | 0.000 |
| predicted_HR | 0.116 | 0.005 |
| predicted_OBP | 0.356 | 0.003 |
| predicted_R | 0.947 | 0.076 |
| predicted_RBI | 0.854 | 0.068 |
| predicted_SLG | 0.387 | 0.013 |
| predicted_SO | 2.339 | -0.048 |
AB rounded to 6 (raw=5.94), rates preserved: AVG=0.244 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.423 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 6.000 | 0.058 |
| predicted_AVG | 0.167 | -0.077 |
| predicted_BB | 1.000 | -0.035 |
| predicted_H | 1.000 | -0.452 |
| predicted_HR | 0.000 | -0.116 |
| predicted_OBP | 0.286 | -0.070 |
| predicted_R | 1.000 | 0.053 |
| predicted_RBI | 1.000 | 0.146 |
| predicted_SLG | 0.167 | -0.220 |
| predicted_SO | 2.000 | -0.339 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 5.000 | 0.2308 | 0.4118 | 0.3077 | 0.2308 | 0.0000 | 0.0000 | 0.2308 | 0.3846 |
| last_10 | 0.20 | 7 | - | 30.000 | 8.000 | 4.000 | 0.000 | 2.000 | 6.000 | 7.000 | 3.000 | 17.000 | 0.2667 | 0.3529 | 0.6000 | 0.2667 | 0.0667 | 0.2000 | 0.1000 | 0.5667 |
| season | 0.60 | 48 | - | 589.000 | 143.000 | 39.000 | 5.000 | 7.000 | 106.000 | 82.000 | 99.000 | 235.000 | 0.2428 | 0.3544 | 0.3616 | 0.2428 | 0.0119 | 0.1800 | 0.1681 | 0.3990 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6720 |
| predicted_3B | 0.0520 |
| predicted_AB | 9.1210 |
| predicted_AVG | 0.2426 |
| predicted_BB | 1.5690 |
| predicted_H | 2.2120 |
| predicted_HBP | 0.2330 |
| predicted_HR | 0.1370 |
| predicted_OBP | 0.3651 |
| predicted_R | 1.3700 |
| predicted_RBI | 1.2810 |
| predicted_SLG | 0.3726 |
| predicted_SO | 3.6770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2290 | 0.6720 | 0.4230 | model_form_blend |
| predicted_3B | 0.0290 | 0.0520 | 0.0391 | model_form_blend |
| predicted_AB | 3.4650 | 9.1210 | 5.9419 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2426 | 0.2439 | model_form_blend |
| predicted_BB | 0.5820 | 1.5690 | 1.0142 | model_form_blend |
| predicted_H | 0.7400 | 2.2120 | 1.3846 | model_form_blend |
| predicted_HBP | - | 0.2330 | 0.2330 | form_only |
| predicted_HR | 0.0900 | 0.1370 | 0.1106 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3651 | 0.3538 | model_form_blend |
| predicted_R | 0.4820 | 1.3700 | 0.8709 | model_form_blend |
| predicted_RBI | 0.4000 | 1.2810 | 0.7858 | model_form_blend |
| predicted_SLG | 0.3750 | 0.3726 | 0.3739 | model_form_blend |
| predicted_SO | 1.3820 | 3.6770 | 2.3870 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 172 |
| Season rows before report date | 172 |
| Report year | 2026 |
| Profile rows used | 170 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.243 |
| 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 | 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 | CF |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 669003 |
| playerID | 669003 |
| playerName | Garrett Mitchell |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-03 |
| sl_k_percent | 36.4 |
| sl_bb_percent | 14.7 |
| sl_woba | 0.33 |
| sl_xwoba | 0.325 |
| sl_xba | 0.216 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 92.7 |
| sl_launch_angle_avg | 4.7 |
| sl_whiff_percent | 37.5 |
| sl_swing_percent | 41.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.205 | 0.000 | 0.000 | Hitting_2B | 0.205 | 0.000 | -0.205 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.768 | 4.000 | 6.000 | Hitting_AB | 3.768 | 3.000 | 0.232 | 1.000 |
| predicted_AVG | 0.233 | 0.250 | 0.333 | Hitting_AVG | 0.284 | 0.000 | -0.034 | 0.250 |
| predicted_BB | 0.395 | 0.000 | 1.000 | Hitting_BB | 0.395 | 0.000 | -0.395 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.880 | 1.000 | 2.000 | Hitting_H | 1.070 | 0.000 | -0.070 | 1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.195 | 0.000 | -0.195 | 0.000 |
| predicted_OBP | 0.328 | 0.250 | 0.429 | Hitting_OBP | 0.357 | 0.000 | -0.107 | 0.250 |
| predicted_R | 0.692 | 0.000 | 1.000 | Hitting_R | 0.692 | 0.000 | -0.692 | 0.000 |
| predicted_RBI | 0.670 | 0.000 | 1.000 | Hitting_RBI | 0.719 | 0.000 | -0.719 | 0.000 |
| predicted_SLG | 0.451 | 0.250 | 0.333 | Hitting_SLG | 0.494 | 0.000 | -0.244 | 0.250 |
| predicted_SO | 0.919 | 0.000 | 2.000 | Hitting_SO | 0.919 | 0.000 | -0.919 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.7680 -> 4.0000 (boost 0.2320, better) |
| Biggest Deboost | predicted_SO: 0.9190 -> 0.0000 (deboost -0.9190, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.7680 -> 6.4892 (boost 2.7212, 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 | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 1.3001 -> 1.4132 (boost 0.1131, better) | - | 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_H: 1.6320 -> 2.0000 (boost 0.3680, better) | predicted_AB: 6.4892 -> 6.0000 (deboost -0.4892, worse) | AB rounded to 6 (raw=6.49), rates preserved: AVG=0.251 HR/AB=0.067 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2362 -> 1.0000 (deboost -0.2362, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3364 -> 0.4290 (boost 0.0926, better) | predicted_SLG: 0.4940 -> 0.3330 (deboost -0.1610, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4940 (boost 0.1610, better) | predicted_OBP: 0.4290 -> 0.3364 (deboost -0.0926, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "1B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.205,
"predicted_3B": 0.0,
"predicted_AB": 3.768,
"predicted_AVG": 0.233,
"predicted_BB": 0.395,
"predicted_H": 0.88,
"predicted_HR": 0.2,
"predicted_OBP": 0.328,
"predicted_R": 0.692,
"predicted_RBI": 0.67,
"predicted_SLG": 0.451,
"predicted_SO": 0.919
},
"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.2726,
"predicted_3B": 0.0004,
"predicted_AB": 6.4892,
"predicted_AVG": 0.2373,
"predicted_BB": 0.8139,
"predicted_H": 1.5562,
"predicted_HBP": 0.178,
"predicted_HR": 0.4147,
"predicted_OBP": 0.3352,
"predicted_R": 1.1373,
"predicted_RBI": 1.3001,
"predicted_SLG": 0.4665,
"predicted_SO": 1.7573
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.2726,
"delta": 0.0676,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.768,
"after": 6.4892,
"delta": 2.7212,
"percent_delta": 0.7222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2373,
"delta": 0.0043,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.395,
"after": 0.8139,
"delta": 0.4189,
"percent_delta": 1.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.5562,
"delta": 0.6762,
"percent_delta": 0.7684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.4147,
"delta": 0.2147,
"percent_delta": 1.0735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3352,
"delta": 0.0072,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.692,
"after": 1.1373,
"delta": 0.4453,
"percent_delta": 0.6435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 1.3001,
"delta": 0.6301,
"percent_delta": 0.9404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4665,
"delta": 0.0155,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.919,
"after": 1.7573,
"delta": 0.8383,
"percent_delta": 0.9122,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.768,
"after": 6.4892,
"delta": 2.7212,
"percent_delta": 0.7222,
"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": 8,
"season": 51
}
},
{
"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.2726,
"predicted_3B": 0.0004,
"predicted_AB": 6.4892,
"predicted_AVG": 0.2515,
"predicted_BB": 0.8303,
"predicted_H": 1.632,
"predicted_HBP": 0.178,
"predicted_HR": 0.4335,
"predicted_OBP": 0.3364,
"predicted_R": 1.2362,
"predicted_RBI": 1.4132,
"predicted_SLG": 0.494,
"predicted_SO": 1.7218
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2726,
"after": 0.2726,
"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": 6.4892,
"after": 6.4892,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2373,
"after": 0.2515,
"delta": 0.0142,
"percent_delta": 0.0598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8139,
"after": 0.8303,
"delta": 0.0164,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5562,
"after": 1.632,
"delta": 0.0758,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.178,
"after": 0.178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4147,
"after": 0.4335,
"delta": 0.0188,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3352,
"after": 0.3364,
"delta": 0.0012,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.1373,
"after": 1.2362,
"delta": 0.0989,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3001,
"after": 1.4132,
"delta": 0.1131,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4665,
"after": 0.494,
"delta": 0.0275,
"percent_delta": 0.0589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7573,
"after": 1.7218,
"delta": -0.0355,
"percent_delta": -0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.3001,
"after": 1.4132,
"delta": 0.1131,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.49), rates preserved: AVG=0.251 HR/AB=0.067",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2726,
"after": 0.0,
"delta": -0.2726,
"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": 6.4892,
"after": 6.0,
"delta": -0.4892,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8303,
"after": 1.0,
"delta": 0.1697,
"percent_delta": 0.2044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.632,
"after": 2.0,
"delta": 0.368,
"percent_delta": 0.2255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4335,
"after": 0.0,
"delta": -0.4335,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4132,
"after": 1.0,
"delta": -0.4132,
"percent_delta": -0.2924,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7218,
"after": 2.0,
"delta": 0.2782,
"percent_delta": 0.1616,
"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_H",
"before": 1.632,
"after": 2.0,
"delta": 0.368,
"percent_delta": 0.2255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.4892,
"after": 6.0,
"delta": -0.4892,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2362,
"after": 1.0,
"delta": -0.2362,
"percent_delta": -0.1911,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.2362,
"after": 1.0,
"delta": -0.2362,
"percent_delta": -0.1911,
"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": 6.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.429,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"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": 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.2515,
"after": 0.333,
"delta": 0.0815,
"percent_delta": 0.3241,
"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": 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.3364,
"after": 0.429,
"delta": 0.0926,
"percent_delta": 0.2753,
"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.494,
"after": 0.333,
"delta": -0.161,
"percent_delta": -0.3259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3364,
"after": 0.429,
"delta": 0.0926,
"percent_delta": 0.2753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.494,
"after": 0.333,
"delta": -0.161,
"percent_delta": -0.3259,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2515,
"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.3364,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.494,
"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.2515,
"delta": -0.0815,
"percent_delta": -0.2448,
"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.429,
"after": 0.3364,
"delta": -0.0926,
"percent_delta": -0.2158,
"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.494,
"delta": 0.161,
"percent_delta": 0.4836,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.494,
"delta": 0.161,
"percent_delta": 0.4836,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.429,
"after": 0.3364,
"delta": -0.0926,
"percent_delta": -0.2158,
"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.205,
"after": 0.0,
"delta": -0.205,
"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.768,
"after": 4.0,
"delta": 0.232,
"percent_delta": 0.0616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2515,
"delta": 0.0185,
"percent_delta": 0.0794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3364,
"delta": 0.0084,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.692,
"after": 0.0,
"delta": -0.692,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.494,
"delta": 0.043,
"percent_delta": 0.0953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.919,
"after": 0.0,
"delta": -0.919,
"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.768,
"after": 4.0,
"delta": 0.232,
"percent_delta": 0.0616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.919,
"after": 0.0,
"delta": -0.919,
"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.205 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.768 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.395 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.692 | - |
| predicted_RBI | 0.670 | - |
| predicted_SLG | 0.451 | - |
| predicted_SO | 0.919 | - |
Final model 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.273 | 0.068 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.489 | 2.721 |
| predicted_AVG | 0.237 | 0.004 |
| predicted_BB | 0.814 | 0.419 |
| predicted_H | 1.556 | 0.676 |
| predicted_HBP | 0.178 | - |
| predicted_HR | 0.415 | 0.215 |
| predicted_OBP | 0.335 | 0.007 |
| predicted_R | 1.137 | 0.445 |
| predicted_RBI | 1.300 | 0.630 |
| predicted_SLG | 0.467 | 0.016 |
| predicted_SO | 1.757 | 0.838 |
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.273 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.489 | 0.000 |
| predicted_AVG | 0.252 | 0.014 |
| predicted_BB | 0.830 | 0.016 |
| predicted_H | 1.632 | 0.076 |
| predicted_HBP | 0.178 | 0.000 |
| predicted_HR | 0.433 | 0.019 |
| predicted_OBP | 0.336 | 0.001 |
| predicted_R | 1.236 | 0.099 |
| predicted_RBI | 1.413 | 0.113 |
| predicted_SLG | 0.494 | 0.027 |
| predicted_SO | 1.722 | -0.036 |
AB rounded to 6 (raw=6.49), rates preserved: AVG=0.251 HR/AB=0.067
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.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 | 2.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.273 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 6.000 | -0.489 |
| predicted_AVG | 0.333 | 0.082 |
| predicted_BB | 1.000 | 0.170 |
| predicted_H | 2.000 | 0.368 |
| predicted_HR | 0.000 | -0.433 |
| predicted_OBP | 0.429 | 0.093 |
| predicted_R | 1.000 | -0.236 |
| predicted_RBI | 1.000 | -0.413 |
| predicted_SLG | 0.333 | -0.161 |
| predicted_SO | 2.000 | 0.278 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 18.000 | 3.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 4.000 | 6.000 | 0.1667 | 0.3182 | 0.5000 | 0.1667 | 0.1111 | 0.2778 | 0.2222 | 0.3333 |
| last_10 | 0.20 | 8 | - | 31.000 | 5.000 | 0.000 | 0.000 | 3.000 | 7.000 | 4.000 | 5.000 | 13.000 | 0.1613 | 0.3333 | 0.4516 | 0.1613 | 0.0968 | 0.2258 | 0.1613 | 0.4194 |
| season | 0.60 | 51 | - | 697.000 | 198.000 | 38.000 | 0.000 | 36.000 | 133.000 | 128.000 | 73.000 | 170.000 | 0.2841 | 0.3570 | 0.4935 | 0.2841 | 0.0517 | 0.1908 | 0.1047 | 0.2439 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3590 |
| predicted_3B | 0.0010 |
| predicted_AB | 9.9650 |
| predicted_AVG | 0.2428 |
| predicted_BB | 1.3490 |
| predicted_H | 2.4200 |
| predicted_HBP | 0.1780 |
| predicted_HR | 0.6890 |
| predicted_OBP | 0.3443 |
| predicted_R | 1.7060 |
| predicted_RBI | 2.1050 |
| predicted_SLG | 0.4864 |
| predicted_SO | 2.8280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.3590 | 0.2726 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7680 | 9.9650 | 6.4892 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2428 | 0.2373 | model_form_blend |
| predicted_BB | 0.3950 | 1.3490 | 0.8139 | model_form_blend |
| predicted_H | 0.8800 | 2.4200 | 1.5562 | model_form_blend |
| predicted_HBP | - | 0.1780 | 0.1780 | form_only |
| predicted_HR | 0.2000 | 0.6890 | 0.4147 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3443 | 0.3352 | model_form_blend |
| predicted_R | 0.6920 | 1.7060 | 1.1373 | model_form_blend |
| predicted_RBI | 0.6700 | 2.1050 | 1.3001 | model_form_blend |
| predicted_SLG | 0.4510 | 0.4864 | 0.4665 | model_form_blend |
| predicted_SO | 0.9190 | 2.8280 | 1.7573 | 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 | 185 |
| Season rows before report date | 185 |
| Report year | 2026 |
| Profile rows used | 185 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-RF |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 641343 |
| playerID | 641343 |
| playerName | Jake Bauers |
| pos | 1B |
| started | True |
| startingPosition | LF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.364 |
| sl_xwoba | 0.354 |
| sl_xba | 0.263 |
| sl_xslg | 0.479 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 12.4 |
| sl_hard_hit_percent | 53.6 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 8.0 |
| sl_whiff_percent | 24.4 |
| sl_swing_percent | 42.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.068 | 0.000 | 0.000 | Hitting_2B | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 3.197 | 4.000 | 5.000 | Hitting_AB | 3.133 | 2.000 | 0.867 | 2.000 |
| predicted_AVG | 0.247 | 0.500 | 0.200 | Hitting_AVG | 0.236 | 0.000 | 0.264 | 0.500 |
| predicted_BB | 0.415 | 0.000 | 1.000 | Hitting_BB | 0.407 | 0.000 | -0.407 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 0.640 | 2.000 | 1.000 | Hitting_H | 0.740 | 0.000 | 1.260 | 2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_OBP | 0.303 | 0.500 | 0.333 | Hitting_OBP | 0.328 | 0.000 | 0.172 | 0.500 |
| predicted_R | 0.605 | 1.000 | 1.000 | Hitting_R | 0.600 | 0.000 | 0.400 | 1.000 |
| predicted_RBI | 0.250 | 1.000 | 0.000 | Hitting_RBI | 0.213 | 0.000 | 0.787 | 1.000 |
| predicted_SLG | 0.334 | 0.500 | 0.200 | Hitting_SLG | 0.268 | 0.000 | 0.232 | 0.500 |
| predicted_SO | 0.667 | 1.000 | 1.000 | Hitting_SO | 0.653 | 0.000 | 0.347 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.6400 -> 2.0000 (boost 1.3600, better) |
| Biggest Deboost | predicted_BB: 0.4150 -> 0.0000 (deboost -0.4150, 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 | 10 | 8 | 2 | 7 | 3 | predicted_AB: 3.1970 -> 5.1689 (boost 1.9719, better) | predicted_SLG: 0.3340 -> 0.3161 (deboost -0.0179, 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 | 5 | 3 | 2 | 3 | 2 | predicted_R: 1.0116 -> 1.0996 (boost 0.0880, better) | predicted_SLG: 0.3161 -> 0.3016 (deboost -0.0145, 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_BB: 0.6508 -> 1.0000 (boost 0.3492, better) | predicted_RBI: 0.3477 -> 0.0000 (deboost -0.3477, worse) | AB rounded to 5 (raw=5.17), rates preserved: AVG=0.233 HR/AB=0.012 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0996 -> 1.0000 (deboost -0.0996, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3191 -> 0.3330 (boost 0.0139, better) | predicted_SLG: 0.3016 -> 0.2000 (deboost -0.1016, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 2 | 2 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2000 -> 0.3016 (boost 0.1016, better) | predicted_OBP: 0.3330 -> 0.3191 (deboost -0.0139, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666152",
"player_name": "David Hamilton",
"position": "SS",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.068,
"predicted_3B": 0.007,
"predicted_AB": 3.197,
"predicted_AVG": 0.247,
"predicted_BB": 0.415,
"predicted_H": 0.64,
"predicted_HR": 0.06,
"predicted_OBP": 0.303,
"predicted_R": 0.605,
"predicted_RBI": 0.25,
"predicted_SLG": 0.334,
"predicted_SO": 0.667
},
"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.1514,
"predicted_3B": 0.0092,
"predicted_AB": 5.1689,
"predicted_AVG": 0.2416,
"predicted_BB": 0.6379,
"predicted_H": 1.1505,
"predicted_HBP": 0.034,
"predicted_HR": 0.0583,
"predicted_OBP": 0.3098,
"predicted_R": 1.0116,
"predicted_RBI": 0.3199,
"predicted_SLG": 0.3161,
"predicted_SO": 0.9785
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.068,
"after": 0.1514,
"delta": 0.0834,
"percent_delta": 1.2265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0092,
"delta": 0.0022,
"percent_delta": 0.3143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.197,
"after": 5.1689,
"delta": 1.9719,
"percent_delta": 0.6168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2416,
"delta": -0.0054,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.6379,
"delta": 0.2229,
"percent_delta": 0.5371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 1.1505,
"delta": 0.5105,
"percent_delta": 0.7977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0583,
"delta": -0.0017,
"percent_delta": -0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3098,
"delta": 0.0068,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.605,
"after": 1.0116,
"delta": 0.4066,
"percent_delta": 0.6721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.3199,
"delta": 0.0699,
"percent_delta": 0.2796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3161,
"delta": -0.0179,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.9785,
"delta": 0.3115,
"percent_delta": 0.467,
"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": 3.197,
"after": 5.1689,
"delta": 1.9719,
"percent_delta": 0.6168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3161,
"delta": -0.0179,
"percent_delta": -0.0536,
"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": 8,
"season": 45
}
},
{
"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.1514,
"predicted_3B": 0.0092,
"predicted_AB": 5.1689,
"predicted_AVG": 0.2334,
"predicted_BB": 0.6508,
"predicted_H": 1.2065,
"predicted_HBP": 0.034,
"predicted_HR": 0.0609,
"predicted_OBP": 0.3191,
"predicted_R": 1.0996,
"predicted_RBI": 0.3477,
"predicted_SLG": 0.3016,
"predicted_SO": 0.9587
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1514,
"after": 0.1514,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0092,
"after": 0.0092,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.1689,
"after": 5.1689,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.2334,
"delta": -0.0082,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6379,
"after": 0.6508,
"delta": 0.0129,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1505,
"after": 1.2065,
"delta": 0.056,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.034,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0583,
"after": 0.0609,
"delta": 0.0026,
"percent_delta": 0.0446,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3098,
"after": 0.3191,
"delta": 0.0093,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0116,
"after": 1.0996,
"delta": 0.088,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3199,
"after": 0.3477,
"delta": 0.0278,
"percent_delta": 0.0869,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3161,
"after": 0.3016,
"delta": -0.0145,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9785,
"after": 0.9587,
"delta": -0.0198,
"percent_delta": -0.0202,
"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_R",
"before": 1.0116,
"after": 1.0996,
"delta": 0.088,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3161,
"after": 0.3016,
"delta": -0.0145,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.17), rates preserved: AVG=0.233 HR/AB=0.012",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1514,
"after": 0.0,
"delta": -0.1514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0092,
"after": 0.0,
"delta": -0.0092,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.1689,
"after": 5.0,
"delta": -0.1689,
"percent_delta": -0.0327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6508,
"after": 1.0,
"delta": 0.3492,
"percent_delta": 0.5366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2065,
"after": 1.0,
"delta": -0.2065,
"percent_delta": -0.1712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0609,
"after": 0.0,
"delta": -0.0609,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3477,
"after": 0.0,
"delta": -0.3477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9587,
"after": 1.0,
"delta": 0.0413,
"percent_delta": 0.0431,
"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_BB",
"before": 0.6508,
"after": 1.0,
"delta": 0.3492,
"percent_delta": 0.5366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3477,
"after": 0.0,
"delta": -0.3477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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": 1.0996,
"after": 1.0,
"delta": -0.0996,
"percent_delta": -0.0906,
"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": 1.0996,
"after": 1.0,
"delta": -0.0996,
"percent_delta": -0.0906,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.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.2334,
"after": 0.2,
"delta": -0.0334,
"percent_delta": -0.1431,
"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.3191,
"after": 0.333,
"delta": 0.0139,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3016,
"after": 0.2,
"delta": -0.1016,
"percent_delta": -0.3369,
"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.3191,
"after": 0.333,
"delta": 0.0139,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3016,
"after": 0.2,
"delta": -0.1016,
"percent_delta": -0.3369,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2334,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3191,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3016,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2334,
"delta": 0.0334,
"percent_delta": 0.1671,
"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.333,
"after": 0.3191,
"delta": -0.0139,
"percent_delta": -0.0416,
"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.2,
"after": 0.3016,
"delta": 0.1016,
"percent_delta": 0.5082,
"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.2,
"after": 0.3016,
"delta": 0.1016,
"percent_delta": 0.5082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3191,
"delta": -0.0139,
"percent_delta": -0.0416,
"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.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.197,
"after": 4.0,
"delta": 0.803,
"percent_delta": 0.2512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2334,
"delta": -0.0136,
"percent_delta": -0.0551,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3191,
"delta": 0.0161,
"percent_delta": 0.0531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.605,
"after": 1.0,
"delta": 0.395,
"percent_delta": 0.6529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3016,
"delta": -0.0324,
"percent_delta": -0.097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"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_H",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"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.068 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 3.197 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.415 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.605 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.334 | - |
| predicted_SO | 0.667 | - |
Final model 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.151 | 0.083 |
| predicted_3B | 0.009 | 0.002 |
| predicted_AB | 5.169 | 1.972 |
| predicted_AVG | 0.242 | -0.005 |
| predicted_BB | 0.638 | 0.223 |
| predicted_H | 1.151 | 0.511 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.058 | -0.002 |
| predicted_OBP | 0.310 | 0.007 |
| predicted_R | 1.012 | 0.407 |
| predicted_RBI | 0.320 | 0.070 |
| predicted_SLG | 0.316 | -0.018 |
| predicted_SO | 0.979 | 0.311 |
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.151 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 5.169 | 0.000 |
| predicted_AVG | 0.233 | -0.008 |
| predicted_BB | 0.651 | 0.013 |
| predicted_H | 1.206 | 0.056 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.061 | 0.003 |
| predicted_OBP | 0.319 | 0.009 |
| predicted_R | 1.100 | 0.088 |
| predicted_RBI | 0.348 | 0.028 |
| predicted_SLG | 0.302 | -0.015 |
| predicted_SO | 0.959 | -0.020 |
AB rounded to 5 (raw=5.17), rates preserved: AVG=0.233 HR/AB=0.012
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.151 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 5.000 | -0.169 |
| predicted_AVG | 0.200 | -0.033 |
| predicted_BB | 1.000 | 0.349 |
| predicted_H | 1.000 | -0.206 |
| predicted_HR | 0.000 | -0.061 |
| predicted_OBP | 0.333 | 0.014 |
| predicted_R | 1.000 | -0.100 |
| predicted_RBI | 0.000 | -0.348 |
| predicted_SLG | 0.200 | -0.102 |
| predicted_SO | 1.000 | 0.041 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 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 | - | 15.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 2.000 | 1.000 | 0.2667 | 0.3529 | 0.3333 | 0.2667 | 0.0000 | 0.0000 | 0.1333 | 0.0667 |
| last_10 | 0.20 | 8 | - | 30.000 | 5.000 | 1.000 | 0.000 | 1.000 | 1.000 | 5.000 | 2.000 | 6.000 | 0.1667 | 0.2188 | 0.3000 | 0.1667 | 0.0333 | 0.0333 | 0.0667 | 0.2000 |
| season | 0.60 | 45 | - | 470.000 | 111.000 | 10.000 | 1.000 | 1.000 | 32.000 | 89.000 | 61.000 | 98.000 | 0.2362 | 0.3277 | 0.2681 | 0.2362 | 0.0021 | 0.0681 | 0.1298 | 0.2085 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2600 |
| predicted_3B | 0.0120 |
| predicted_AB | 7.7360 |
| predicted_AVG | 0.2346 |
| predicted_BB | 0.9280 |
| predicted_H | 1.8150 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.3187 |
| predicted_R | 1.5410 |
| predicted_RBI | 0.4110 |
| predicted_SLG | 0.2929 |
| predicted_SO | 1.3840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0680 | 0.2600 | 0.1514 | model_form_blend |
| predicted_3B | 0.0070 | 0.0120 | 0.0092 | model_form_blend |
| predicted_AB | 3.1970 | 7.7360 | 5.1689 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2346 | 0.2416 | model_form_blend |
| predicted_BB | 0.4150 | 0.9280 | 0.6379 | model_form_blend |
| predicted_H | 0.6400 | 1.8150 | 1.1505 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.0600 | 0.0560 | 0.0583 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3187 | 0.3098 | model_form_blend |
| predicted_R | 0.6050 | 1.5410 | 1.0116 | model_form_blend |
| predicted_RBI | 0.2500 | 0.4110 | 0.3199 | model_form_blend |
| predicted_SLG | 0.3340 | 0.2929 | 0.3161 | model_form_blend |
| predicted_SO | 0.6670 | 1.3840 | 0.9785 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 150 |
| Season rows before report date | 150 |
| Report year | 2026 |
| Profile rows used | 147 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260603_SF@MIL |
| game_type | full |
| mlbID | 666152 |
| playerID | 666152 |
| playerName | David Hamilton |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.283 |
| sl_xwoba | 0.276 |
| sl_xba | 0.212 |
| sl_xslg | 0.297 |
| sl_sweet_spot_percent | 21.7 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 28.1 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 19.0 |
| sl_swing_percent | 45.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.000 | 2.000 | 0.000 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.667 | 2.000 | -0.667 | -1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 3.667 | 4.000 | -0.667 | -1.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.700 | 4.000 | -0.500 | 0.200 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 2.667 | 1.000 | 5.333 | 7.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.3333 -> 4.2000 (deboost -1.1333, 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.3333 -> 4.2000 (deboost -1.1333, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "689441",
"player_name": "Coleman Crow",
"position": "Starter",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 8.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 1.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 8.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | -1.133 |
| predicted_SO | 8.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 | 3 | 14.100 | 5.000 | 11.000 | 3.000 | 8.000 | 1.000 | 3.1395 | 0.9767 | 0.3488 | 0.7674 | 0.2093 | 0.5581 | 0.0698 |
| last_10 | 0.35 | 3 | 14.100 | 5.000 | 11.000 | 3.000 | 8.000 | 1.000 | 3.1395 | 0.9767 | 0.3488 | 0.7674 | 0.2093 | 0.5581 | 0.0698 |
| season | 0.20 | 3 | 14.100 | 5.000 | 11.000 | 3.000 | 8.000 | 1.000 | 3.1395 | 0.9767 | 0.3488 | 0.7674 | 0.2093 | 0.5581 | 0.0698 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5640 |
| predicted_ER | 2.1980 |
| predicted_ERA | 3.8915 |
| predicted_H | 4.5000 |
| predicted_HR | 0.5690 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.0530 |
| predicted_WHIP | 1.1930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.5640 | 1.2177 | model_form_blend |
| predicted_ER | 1.0000 | 2.1980 | 1.4624 | model_form_blend |
| predicted_ERA | - | 3.8915 | 3.8915 | form_only |
| predicted_H | 3.0000 | 4.5000 | 3.5789 | model_form_blend |
| predicted_HR | 0.0000 | 0.5690 | 0.2196 | model_form_blend |
| predicted_IP | 5.1000 | 5.0000 | 5.2000 | model_form_blend |
| predicted_SO | 8.0000 | 4.0530 | 6.4767 | model_form_blend |
| predicted_WHIP | - | 1.1930 | 1.1930 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 3 |
| Season rows before report date | 3 |
| Report year | 2026 |
| Profile rows used | 3 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 8 |
| HR | 0 |
| BF | 18 |
| Pitches | 81 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 18 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.14 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 5 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 61 |
| Pitching_R | 4 |
| Pitching_SO | 1 |
| Pitching_Strikes | 37 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260529_MIL@HOU |
| game_type | full |
| mlbID | 689441 |
| playerID | 689441 |
| playerName | Coleman Crow |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-29 |
| sl_k_percent | 13.8 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.271 |
| sl_xwoba | 0.35 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 34.8 |
| sl_whiff_percent | 16.2 |
| sl_swing_percent | 51.0 |
| sl_avg_best_speed | 77.199821304 |
| sl_avg_hyper_speed | 93.451235652 |
| 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.667 | 0.000 | -0.667 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.148 | 3.000 | -1.148 | -3.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.244 | 1.100 | -0.144 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.926 | 1.000 | -0.926 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676879",
"player_name": "Aaron Ashby",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.200 | 1.000 | 5.000 | 2.000 | 6.000 | 0.000 | 1.1739 | 0.9130 | 0.1304 | 0.6522 | 0.2609 | 0.7826 | 0.0000 |
| last_10 | 0.35 | 10 | 14.100 | 3.000 | 14.000 | 4.000 | 17.000 | 0.000 | 1.8837 | 1.2558 | 0.2093 | 0.9767 | 0.2791 | 1.1861 | 0.0000 |
| season | 0.20 | 27 | 37.100 | 9.000 | 31.000 | 18.000 | 52.000 | 1.000 | 2.1696 | 1.3125 | 0.2411 | 0.8304 | 0.4821 | 1.3929 | 0.0268 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4750 |
| predicted_ER | 0.4300 |
| predicted_ERA | 2.7216 |
| predicted_H | 1.2290 |
| predicted_HR | 0.0830 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4280 |
| predicted_WHIP | 1.1977 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4750 | 0.2276 | model_form_blend |
| predicted_ER | 0.0000 | 0.4300 | 0.2060 | model_form_blend |
| predicted_ERA | - | 2.7216 | 2.7216 | form_only |
| predicted_H | 0.0000 | 1.2290 | 0.5889 | model_form_blend |
| predicted_HR | 0.0000 | 0.0830 | 0.0398 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.4280 | 1.2051 | model_form_blend |
| predicted_WHIP | - | 1.1977 | 1.1977 | 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 | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| 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 | 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.17 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 29 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 23 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260602_SF@MIL |
| game_type | full |
| mlbID | 676879 |
| playerID | 676879 |
| playerName | Aaron Ashby |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-02 |
| sl_k_percent | 32.9 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.282 |
| sl_xwoba | 0.262 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 41.4 |
| sl_whiff_percent | 33.0 |
| sl_swing_percent | 41.6 |
| sl_avg_best_speed | 76.025373953 |
| sl_avg_hyper_speed | 94.576288605 |
| 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.375 | 0.000 | -0.375 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.417 | 1.000 | -0.417 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.792 | 3.000 | 0.208 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.862 | 1.000 | 0.138 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.958 | 0.000 | 0.042 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "682842",
"player_name": "Abner Uribe",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.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": 0.0,
"predicted_H": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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 | 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 | 1.000 | 5.000 | 2.000 | 5.000 | 0.000 | 1.8000 | 1.4000 | 0.2000 | 1.0000 | 0.4000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 5.000 | 9.000 | 6.000 | 9.000 | 1.000 | 4.5000 | 1.5000 | 0.5000 | 0.9000 | 0.6000 | 0.9000 | 0.1000 |
| season | 0.20 | 24 | 22.100 | 10.000 | 19.000 | 9.000 | 23.000 | 2.000 | 4.0299 | 1.2537 | 0.4478 | 0.8508 | 0.4030 | 1.0298 | 0.0896 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4150 |
| predicted_ER | 0.4230 |
| predicted_ERA | 3.8031 |
| predicted_H | 0.9460 |
| predicted_HR | 0.0980 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9550 |
| predicted_WHIP | 1.3616 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4150 | 0.1766 | model_form_blend |
| predicted_ER | 0.0000 | 0.4230 | 0.1800 | model_form_blend |
| predicted_ERA | - | 3.8031 | 3.8031 | form_only |
| predicted_H | 1.0000 | 0.9460 | 0.9770 | model_form_blend |
| predicted_HR | 0.0000 | 0.0980 | 0.0417 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9550 | 0.9809 | model_form_blend |
| predicted_WHIP | - | 1.3616 | 1.3616 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.03 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260602_SF@MIL |
| game_type | full |
| mlbID | 682842 |
| playerID | 682842 |
| playerName | Abner Uribe |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-02 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.277 |
| sl_xwoba | 0.279 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 41.0 |
| sl_avg_best_speed | 77.512702258 |
| sl_avg_hyper_speed | 93.054648871 |
| 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.261 | 0.000 | 1.739 | 2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.435 | 0.000 | 0.565 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.696 | 0.000 | 0.304 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.957 | 1.000 | 0.043 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.217 | 1.000 | -0.217 | 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": "656730",
"player_name": "Trevor Megill",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 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": 2.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.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.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": 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.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 | 2.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 | 0.000 | 2.000 | 0.000 | 6.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.4000 | 0.0000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 6.000 | 1.000 | 15.000 | 0.000 | 1.8000 | 0.7000 | 0.2000 | 0.6000 | 0.1000 | 1.5000 | 0.0000 |
| season | 0.20 | 22 | 22.000 | 6.000 | 14.000 | 6.000 | 28.000 | 0.000 | 2.4545 | 0.9091 | 0.2727 | 0.6364 | 0.2727 | 1.2727 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2380 |
| predicted_ER | 0.3160 |
| predicted_ERA | 2.8452 |
| predicted_H | 0.7520 |
| predicted_HR | 0.0730 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1170 |
| predicted_WHIP | 0.9900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.2380 | 1.2531 | model_form_blend |
| predicted_ER | 1.0000 | 0.3160 | 0.7101 | model_form_blend |
| predicted_ERA | - | 2.8452 | 2.8452 | form_only |
| predicted_H | 1.0000 | 0.7520 | 0.8949 | model_form_blend |
| predicted_HR | 0.0000 | 0.0730 | 0.0309 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1170 | 1.0496 | model_form_blend |
| predicted_WHIP | - | 0.9900 | 0.9900 | 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 | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 2 |
| SO | 1 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.09 |
| Pitching_Flyouts | 2 |
| 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 | 10 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260602_SF@MIL |
| game_type | full |
| mlbID | 656730 |
| playerID | 656730 |
| playerName | Trevor Megill |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-02 |
| sl_k_percent | 31.1 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.241 |
| sl_xwoba | 0.256 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 43.6 |
| sl_whiff_percent | 34.5 |
| sl_swing_percent | 51.0 |
| sl_avg_best_speed | 81.600781538 |
| sl_avg_hyper_speed | 94.631121373 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.043 | 3.000 | -1.043 | -3.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.565 | 1.000 | -0.565 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.104 | 2.000 | -0.104 | -1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.348 | 2.000 | -0.348 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.3333 -> 1.0000 (boost 0.6667, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.3333 -> 1.0000 (boost 0.6667, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669084",
"player_name": "DL Hall",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 0.3333,
"after": 1.0,
"delta": 0.6667,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 1.0,
"delta": 0.6667,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 1.0,
"delta": 0.6667,
"percent_delta": 2.0003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 1.0,
"delta": 0.6667,
"percent_delta": 2.0003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 8.200 | 3.000 | 3.000 | 9.000 | 9.000 | 0.000 | 3.1154 | 1.3846 | 0.3462 | 0.3462 | 1.0385 | 1.0385 | 0.0000 |
| last_10 | 0.35 | 10 | 14.100 | 4.000 | 4.000 | 13.000 | 14.000 | 0.000 | 2.5116 | 1.1860 | 0.2791 | 0.2791 | 0.9070 | 0.9767 | 0.0000 |
| season | 0.20 | 23 | 28.200 | 7.000 | 13.000 | 24.000 | 31.000 | 1.000 | 2.1977 | 1.2907 | 0.2442 | 0.4535 | 0.8372 | 1.0814 | 0.0349 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6400 |
| predicted_ER | 0.3650 |
| predicted_ERA | 3.4815 |
| predicted_H | 0.5960 |
| predicted_HR | 0.0640 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9300 |
| predicted_WHIP | 1.3087 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6400 | 0.2892 | model_form_blend |
| predicted_ER | 0.0000 | 0.3650 | 0.1649 | model_form_blend |
| predicted_ERA | - | 3.4815 | 3.4815 | form_only |
| predicted_H | 0.0000 | 0.5960 | 0.2693 | model_form_blend |
| predicted_HR | 0.0000 | 0.0640 | 0.0289 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9300 | 0.9684 | model_form_blend |
| predicted_WHIP | - | 1.3087 | 1.3087 | 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 | 23 |
| 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 | 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 | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 10 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.20 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 40 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 24 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260601_SF@MIL |
| game_type | full |
| mlbID | 669084 |
| playerID | 669084 |
| playerName | DL Hall |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-01 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 20.3 |
| sl_woba | 0.267 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 24.2 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 32.3 |
| sl_whiff_percent | 29.6 |
| sl_swing_percent | 38.9 |
| sl_avg_best_speed | 75.323026452 |
| sl_avg_hyper_speed | 92.693709344 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TOR 1 - 3 ATL | ATL | 0.565 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | TOR 1 - 3 ATL | ATL | - | advisory_box_score_draw | True |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 6.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5650 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 3.018 | 4.457 | - | Base ML historical model prediction |
| 2 | variance_applied | 3 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 3 | 0.5650 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 1 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 1 | 3 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 1 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5959491528724441,
"base_low_score_probability": 0.42356377799415773,
"low_score_signal_threshold": 0.5035637779941577,
"low_score_signal_strength": 0.17238537487828637,
"confidence": 0.803494,
"factors": {
"environmental": 0.969,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.4069880000000001
},
"prediction": "low_scoring",
"expected_total_runs": 4,
"pre_simulation_expected_total_runs": 6.7,
"low_score_model_expected_total_runs": 6.7,
"final_simulation_total_runs": 4,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 45,
"near_bucket_sample_size": 4,
"medium_bucket_sample_size": 11,
"wide_bucket_sample_size": 45,
"global_sample_size": 107,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.5111,
"bayesian_hit_rate": 0.5079,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7143,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6685,
"calibrated_pick_probability": 0.565,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774193548387096,
"runs_scored": 327,
"runs_allowed": 213,
"run_differential": 114,
"run_differential_per_game": 1.8387096774193548,
"available": true
},
"away": {
"team": "TOR",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.46774193548387094,
"runs_scored": 250,
"runs_allowed": 262,
"run_differential": -12,
"run_differential_per_game": -0.1935483870967742,
"available": true
},
"run_differential_edge_per_game": 2.0323,
"win_pct_edge": 0.2097,
"quality_edge": 2.3468,
"margin_adjustment": 0.9856,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 0.521,
"home_runs": 2.504,
"home_win_probability": 0.6685
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "ATL",
"guardrail_predicted_team": "ATL",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "ATL",
"output_opponent_team": "TOR",
"final_score_winner": "ATL",
"pre_simulation_winner": "ATL",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "TOR 1 - 3 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "TOR 1 - 3 ATL",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774193548387096,
"runs_scored": 327,
"runs_allowed": 213,
"run_differential": 114,
"run_differential_per_game": 1.8387096774193548,
"available": true
},
"away": {
"team": "TOR",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.46774193548387094,
"runs_scored": 250,
"runs_allowed": 262,
"run_differential": -12,
"run_differential_per_game": -0.1935483870967742,
"available": true
}
}
}{
"applied": false,
"raw_margin": 1.9828,
"final_margin": 1.9828,
"margin_cap": 4.25,
"season_quality_edge": 2.3468,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.56496,
"final_confidence": 0.56496,
"confidence_cap": 0.64,
"score_gap": 1.9828,
"calibration_sample_size": 45,
"calibration_empirical_hit_rate": 0.5111,
"calibration_bayesian_hit_rate": 0.5079,
"calibration_sparse_bucket": false,
"season_quality_edge": 2.3468,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"local calibration sample has at least 30 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "TOR 1 - 3 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "TOR 1 - 3 ATL",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 1,
"home_runs": 3,
"confidence": 0.56496,
"home_win_probability": 0.56496,
"away_win_probability": 0.43504,
"predicted_score_text": "TOR 1 - 3 ATL",
"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": "TOR",
"original_runs": 1,
"run_delta": -0.3288,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 50.0,
"quality": 0.04243236669531306,
"contact": 0.18976990635833144,
"power": -0.03617002672854106,
"discipline": -0.0376286610538499,
"xwoba": 0.31824,
"recent_xwoba": 0.31824,
"barrel": 7.191999999999999,
"ab_hard_contact": -0.3472176774279804,
"ab_bat_speed": 69.87054312292297,
"ab_strikeout_rate": 0.1809710533440992,
"available_players": 8,
"top_players": [
{
"player_id": "623168",
"player_name": "Tyler Heineman",
"position": "C",
"weight": 4.0,
"quality": -0.5253468823090883,
"contact": -1.9668632347114554,
"power": -1.894408667954306,
"discipline": -0.6600315447435015,
"xwoba": 0.208,
"recent_xwoba": 0.208,
"barrel": 1.8,
"ab_hard_contact": -1.3748400257527904,
"ab_bat_speed": 62.056234567901235,
"ab_strikeout_rate": 0.21296296296296297,
"available": 1.0
},
{
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"position": "1B",
"weight": 7.0,
"quality": 0.8154788077891384,
"contact": 1.2704699764462433,
"power": 0.298470467166089,
"discipline": 1.0230095853353647,
"xwoba": 0.363,
"recent_xwoba": 0.363,
"barrel": 6.7,
"ab_hard_contact": 0.6951236290360527,
"ab_bat_speed": 75.4817074722971,
"ab_strikeout_rate": 0.11320754716981132,
"available": 1.0
},
{
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"position": "3B",
"weight": 7.0,
"quality": 0.5046597546232722,
"contact": 0.22956515254687293,
"power": 1.1830792677161837,
"discipline": -0.4816036222118054,
"xwoba": 0.33,
"recent_xwoba": 0.33,
"barrel": 15.1,
"ab_hard_contact": 0.4535853543236521,
"ab_bat_speed": 71.33991614255766,
"ab_strikeout_rate": 0.3113207547169811,
"available": 1.0
},
{
"player_id": "676391",
"player_name": "Ernie Clement",
"position": "SS",
"weight": 7.0,
"quality": -0.5615334259266866,
"contact": -0.36809016935952243,
"power": -0.8841134130736775,
"discipline": 0.13738163466967798,
"xwoba": 0.28,
"recent_xwoba": 0.28,
"barrel": 2.8,
"ab_hard_contact": -0.23883969004499356,
"ab_bat_speed": 65.85213734567901,
"ab_strikeout_rate": 0.08212121212121212,
"available": 1.0
},
{
"player_id": "807727",
"player_name": "Charles McAdoo",
"position": "2B",
"weight": 4.0,
"quality": 0.0,
"contact": 1.6751714285714296,
"power": 1.5393523809523817,
"discipline": -0.7928571428571431,
"xwoba": 0.401,
"recent_xwoba": 0.401,
"barrel": 14.3,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.27378889089306,
"ab_strikeout_rate": 0.22267573696145126,
"available": 0.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "519242",
"player_name": "Chris Sale",
"quality": 0.4801798931781244,
"contact": 0.6257881100880791,
"command": 0.8718116367816341,
"movement": -0.015432232369395739,
"xwoba": 0.284,
"whiff": 30.0,
"faced_est_woba": 0.2795200980587007,
"faced_launch_speed": 82.11600610042973,
"faced_strikeout_rate": 0.29283861320474597,
"faced_run_exp": 0.006789563541058716
}
},
"home": {
"team": "ATL",
"original_runs": 3,
"run_delta": 0.039,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 58.0,
"quality": 0.37401662817413167,
"contact": 0.37318560645627213,
"power": 0.46167109043861093,
"discipline": -0.06415087457832468,
"xwoba": 0.3312758620689655,
"recent_xwoba": 0.3312758620689655,
"barrel": 9.405172413793103,
"ab_hard_contact": 0.4276035707755892,
"ab_bat_speed": 70.78270412338908,
"ab_strikeout_rate": 0.22179534698497835,
"available_players": 9,
"top_players": [
{
"player_id": "621566",
"player_name": "Matt Olson",
"position": "1B",
"weight": 8.0,
"quality": 1.291448122001963,
"contact": 1.2922467750063,
"power": 1.8198147148966293,
"discipline": 0.17124094202898546,
"xwoba": 0.38,
"recent_xwoba": 0.38,
"barrel": 14.8,
"ab_hard_contact": 1.6494371550754154,
"ab_bat_speed": 73.18710813492063,
"ab_strikeout_rate": 0.23154761904761906,
"available": 1.0
},
{
"player_id": "671739",
"player_name": "Michael Harris II",
"position": "CF",
"weight": 7.0,
"quality": 1.2272369171811528,
"contact": 1.6056734319891286,
"power": 1.838907084993094,
"discipline": -0.49099715320910975,
"xwoba": 0.38599999999999995,
"recent_xwoba": 0.386,
"barrel": 15.1,
"ab_hard_contact": 1.5347131284332776,
"ab_bat_speed": 73.9240186965812,
"ab_strikeout_rate": 0.2,
"available": 1.0
},
{
"player_id": "660670",
"player_name": "Ronald Acuña Jr.",
"position": "RF",
"weight": 8.0,
"quality": 0.8418499295970596,
"contact": 0.8912353420711104,
"power": 1.2286400066254506,
"discipline": 0.734598084886128,
"xwoba": 0.391,
"recent_xwoba": 0.391,
"barrel": 14.4,
"ab_hard_contact": 0.3358477515566134,
"ab_bat_speed": 73.70150462962962,
"ab_strikeout_rate": 0.2154761904761905,
"available": 1.0
},
{
"player_id": "506702",
"player_name": "Sandy León",
"position": "C",
"weight": 3.0,
"quality": -0.1472091647982558,
"contact": -2.0,
"power": -2.0,
"discipline": -1.760118846330803,
"xwoba": 0.113,
"recent_xwoba": 0.113,
"barrel": 0.0,
"ab_hard_contact": -1.93362879174397,
"ab_bat_speed": 66.41962962962963,
"ab_strikeout_rate": 0.4074074074074074,
"available": 1.0
},
{
"player_id": "645277",
"player_name": "Ozzie Albies",
"position": "2B",
"weight": 8.0,
"quality": -0.313616533778223,
"contact": -0.21995001918172447,
"power": -0.542672750926769,
"discipline": 0.2800861801242234,
"xwoba": 0.306,
"recent_xwoba": 0.306,
"barrel": 4.3,
"ab_hard_contact": 0.28368783860745955,
"ab_bat_speed": 67.33196853741497,
"ab_strikeout_rate": 0.12470238095238095,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "689254",
"player_name": "Mason Fluharty",
"quality": 0.3499547551735368,
"contact": 1.4614435700554644,
"command": 0.559952380952381,
"movement": 0.30763944989862485,
"xwoba": 0.227,
"whiff": 29.4,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 1,
"home_runs": 3,
"predicted_score_text": "TOR 1 - 3 ATL",
"confidence": 0.56496,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "TOR 1 - 3 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "TOR 1 - 3 ATL",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 TOR | True | 1.0117 | 1.0117 | 1 | 9 | 0 |
| Home ATL | True | 1.0305 | 1.0305 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | George Springer | 458 | 0.9986 | -0.0188 | neutral | 0.3010 | 0.2250 | 0.3780 | 8.10 | 37.90 | 87.70 | 14.10 | 25.80 | 20.10 | 8.40 | 0.4571 |
| 3B | Kazuma Okamoto | 118 | 1.0542 | 0.7232 | neutral | 0.3300 | 0.2200 | 0.4430 | 15.10 | 53.20 | 92.80 | 17.50 | 33.50 | 32.10 | 10.20 | 0.0571 |
| SS | Ernie Clement | 114 | 0.9472 | -0.7047 | negative_batter_regression | 0.2800 | 0.2620 | 0.3570 | 2.80 | 25.60 | 85.80 | 15.60 | 14.60 | 8.60 | 3.30 | -1.6571 |
| 1B | Vladimir Guerrero Jr. | 129 | 1.0743 | 0.9912 | neutral | 0.3630 | 0.3090 | 0.4260 | 6.70 | 44.60 | 90.60 | 9.10 | 19.70 | 9.90 | 12.30 | 0.5714 |
| C | Tyler Heineman | 442 | 0.9435 | -0.7529 | neutral | 0.2080 | 0.1720 | 0.2230 | 1.80 | 15.80 | 82.80 | 12.50 | 20.70 | 22.50 | 2.50 | 0.7714 |
| 2B | Charles McAdoo | 306 | 1.0596 | 0.7945 | neutral | 0.4010 | 0.3220 | 0.6220 | 14.30 | 57.10 | 89.80 | 21.30 | 28.60 | 12.50 | 0 | 0.8286 |
| LF | Nathan Lukes | 142 | 1.0069 | 0.0915 | neutral | 0.3310 | 0.3090 | 0.3990 | 1.40 | 36.10 | 86.80 | 16.50 | 16.40 | 13.30 | 3.30 | -0.5143 |
| CF | Myles Straw | 441 | 1.0046 | 0.0615 | neutral | 0.3190 | 0.2680 | 0.3780 | 5.40 | 28.40 | 86.70 | 16 | 14.40 | 16.80 | 9.90 | 0.7429 |
| RF | Yohendrick Pinango | 330 | 1.0162 | 0.2162 | neutral | 0.3290 | 0.2950 | 0.4220 | 7 | 42.30 | 91.10 | 7.90 | 25.10 | 21.60 | 5.20 | -0.5143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Mauricio Dubón | 94 | 0.9904 | -0.1279 | neutral | 0.3020 | 0.2540 | 0.3740 | 5.10 | 28.80 | 86.90 | 17 | 18.20 | 15.70 | 6.50 | -0.0857 |
| 1B | Matt Olson | 5 | 1.1132 | 1.5090 | neutral | 0.3800 | 0.2670 | 0.5490 | 14.80 | 52.50 | 93.70 | 18.20 | 24.50 | 22.30 | 10.30 | -0.2571 |
| RF | Ronald Acuña Jr. | 107 | 1.0972 | 1.2955 | positive_batter_regression | 0.3910 | 0.2590 | 0.5140 | 14.40 | 44.70 | 90 | 17.10 | 28.60 | 21.80 | 15.70 | 0.9143 |
| 2B | Ozzie Albies | 26 | 0.9784 | -0.2879 | negative_batter_regression | 0.3060 | 0.2530 | 0.3880 | 4.30 | 26.60 | 86.60 | 17 | 20.80 | 11.60 | 7.10 | -1.1429 |
| CF | Michael Harris II | 38 | 1.1118 | 1.4908 | neutral | 0.3860 | 0.3040 | 0.5590 | 15.10 | 53.20 | 92.90 | 12.50 | 26.30 | 18.20 | 4.40 | 0.4857 |
| DH | Dominic Smith | 154 | 1.0391 | 0.5217 | neutral | 0.3640 | 0.3040 | 0.4870 | 8.40 | 37.60 | 89.20 | 16 | 20.80 | 14.60 | 5.10 | -0.0286 |
| LF | Mike Yastrzemski | 143 | 0.9812 | -0.2510 | neutral | 0.2920 | 0.2350 | 0.3280 | 4.40 | 38.10 | 90.30 | 15.60 | 25.20 | 23.40 | 8.80 | -0.7429 |
| 3B | Austin Riley | 182 | 1.0230 | 0.3061 | neutral | 0.3090 | 0.2190 | 0.4070 | 10.30 | 45.20 | 91.10 | 18.90 | 31.80 | 28.90 | 7.90 | 0.5714 |
| C | Sandy León | 493 | 0.9404 | -0.7943 | positive_batter_regression | 0.1130 | 0.1080 | 0.1530 | 0 | 16.70 | 83.20 | 26.50 | 28.10 | 35.70 | 0 | 1.4000 |
{
"home": {
"applied": true,
"offense_factor": 1.0305,
"raw_average_factor": 1.0305,
"team_espn_average_rank": 138.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"offense_factor": 0.9904,
"quality_score": -0.1279,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643289",
"espn_id": 35304,
"player_name": "Mauricio Dubon",
"team": "ATL",
"role": "batter",
"espn_rank": 94,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 94,
"gp_value": 58.0,
"gp_rank": 86,
"ab_value": 213.0,
"ab_rank": 83,
"r_value": 23.0,
"r_rank": 134,
"h_value": 53.0,
"h_rank": 81,
"avg_value": 0.2488262,
"avg_rank": 91.0,
"2b_value": 12.0,
"2b_rank": 39,
"3b_value": 2.0,
"3b_rank": 11,
"hr_value": 4.0,
"hr_rank": 173,
"rbi_value": 32.0,
"rbi_rank": 48,
"tb_value": 81.0,
"tb_rank": 661,
"bb_value": 15.0,
"bb_rank": 173,
"so_value": 36.0,
"so_rank": 178,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3043478,
"obp_rank": "130",
"slg_value": 0.3802816,
"slg_rank": "119",
"ops_value": 0.6846294,
"ops_rank": 124.0,
"war_value": 1.22,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 15.7,
"bb_percent": 6.5,
"woba": 0.305,
"xwoba": 0.302,
"xba": 0.254,
"xslg": 0.374,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 28.8,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 17.0,
"whiff_percent": 18.2,
"swing_percent": 51.2
},
"components": {
"expected_quality": -0.1397,
"regression_edge": -0.0857,
"xwoba_edge": -0.1,
"xba_edge": 0.4857,
"xslg_edge": -0.0286,
"barrel_edge": -0.4,
"hard_hit_edge": -1.3857,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": 0.7667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "621566",
"player_name": "Matt Olson",
"offense_factor": 1.1132,
"quality_score": 1.509,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621566",
"espn_id": 32767,
"player_name": "Matt Olson",
"team": "ATL",
"role": "batter",
"espn_rank": 5,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 5,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 242.0,
"ab_rank": 13,
"r_value": 45.0,
"r_rank": 6,
"h_value": 66.0,
"h_rank": 12,
"avg_value": 0.2727272,
"avg_rank": 52.0,
"2b_value": 19.0,
"2b_rank": 1,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 17.0,
"hr_rank": 4,
"rbi_value": 46.0,
"rbi_rank": 3,
"tb_value": 136.0,
"tb_rank": 359,
"bb_value": 28.0,
"bb_rank": 43,
"so_value": 61.0,
"so_rank": 37,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3479853,
"obp_rank": "59",
"slg_value": 0.5619834,
"slg_rank": "5",
"ops_value": 0.9099687,
"ops_rank": 11.0,
"war_value": 2.89,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 244.0,
"k_percent": 22.3,
"bb_percent": 10.3,
"woba": 0.389,
"xwoba": 0.38,
"xba": 0.267,
"xslg": 0.549,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 14.8,
"hard_hit_percent": 52.5,
"exit_velocity_avg": 93.7,
"launch_angle_avg": 18.2,
"whiff_percent": 24.5,
"swing_percent": 45.7
},
"components": {
"expected_quality": 1.7965,
"regression_edge": -0.2571,
"xwoba_edge": 2.1286,
"xba_edge": 0.8571,
"xslg_edge": 2.4714,
"barrel_edge": 1.7556,
"hard_hit_edge": 2.0,
"exit_velocity_edge": 1.96,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "660670",
"player_name": "Ronald Acuña Jr.",
"offense_factor": 1.0972,
"quality_score": 1.2955,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "660670",
"espn_id": 36185,
"player_name": "Ronald Acuna Jr.",
"team": "ATL",
"role": "batter",
"espn_rank": 107,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 107,
"gp_value": 48.0,
"gp_rank": 200,
"ab_value": 177.0,
"ab_rank": 148,
"r_value": 28.0,
"r_rank": 83,
"h_value": 44.0,
"h_rank": 136,
"avg_value": 0.2485875,
"avg_rank": 91.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 7.0,
"hr_rank": 80,
"rbi_value": 21.0,
"rbi_rank": 154,
"tb_value": 77.0,
"tb_rank": 560,
"bb_value": 34.0,
"bb_rank": 22,
"so_value": 47.0,
"so_rank": 101,
"sb_value": 13.0,
"sb_rank": 12,
"obp_value": 0.375,
"obp_rank": "25",
"slg_value": 0.4350282,
"slg_rank": "71",
"ops_value": 0.8100282,
"ops_rank": 55.0,
"war_value": 1.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 188.0,
"k_percent": 21.8,
"bb_percent": 15.7,
"woba": 0.359,
"xwoba": 0.391,
"xba": 0.259,
"xslg": 0.514,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 14.4,
"hard_hit_percent": 44.7,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 17.1,
"whiff_percent": 28.6,
"swing_percent": 45.2
},
"components": {
"expected_quality": 1.614,
"regression_edge": 0.9143,
"xwoba_edge": 2.4429,
"xba_edge": 0.6286,
"xslg_edge": 1.9714,
"barrel_edge": 1.6667,
"hard_hit_edge": 0.8857,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "645277",
"player_name": "Ozzie Albies",
"offense_factor": 0.9784,
"quality_score": -0.2879,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "645277",
"espn_id": 33783,
"player_name": "Ozzie Albies",
"team": "ATL",
"role": "batter",
"espn_rank": 26,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 26,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 240.0,
"ab_rank": 14,
"r_value": 40.0,
"r_rank": 16,
"h_value": 68.0,
"h_rank": 8,
"avg_value": 0.2833333,
"avg_rank": 36.0,
"2b_value": 11.0,
"2b_rank": 61,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 10.0,
"hr_rank": 42,
"rbi_value": 34.0,
"rbi_rank": 40,
"tb_value": 109.0,
"tb_rank": 529,
"bb_value": 19.0,
"bb_rank": 124,
"so_value": 31.0,
"so_rank": 216,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3370786,
"obp_rank": "78",
"slg_value": 0.4541666,
"slg_rank": "59",
"ops_value": 0.7912452,
"ops_rank": 65.0,
"war_value": 2.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 242.0,
"k_percent": 11.6,
"bb_percent": 7.1,
"woba": 0.346,
"xwoba": 0.306,
"xba": 0.253,
"xslg": 0.388,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 26.6,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 17.0,
"whiff_percent": 20.8,
"swing_percent": 55.0
},
"components": {
"expected_quality": -0.1487,
"regression_edge": -1.1429,
"xwoba_edge": 0.0143,
"xba_edge": 0.4571,
"xslg_edge": 0.1714,
"barrel_edge": -0.5778,
"hard_hit_edge": -1.7,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "671739",
"player_name": "Michael Harris II",
"offense_factor": 1.1118,
"quality_score": 1.4908,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671739",
"espn_id": 42470,
"player_name": "Michael Harris II",
"team": "ATL",
"role": "batter",
"espn_rank": 38,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 38,
"gp_value": 59.0,
"gp_rank": 60,
"ab_value": 213.0,
"ab_rank": 83,
"r_value": 29.0,
"r_rank": 75,
"h_value": 64.0,
"h_rank": 24,
"avg_value": 0.3004694,
"avg_rank": 16.0,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 13.0,
"hr_rank": 22,
"rbi_value": 37.0,
"rbi_rank": 25,
"tb_value": 110.0,
"tb_rank": 601,
"bb_value": 10.0,
"bb_rank": 253,
"so_value": 41.0,
"so_rank": 143,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.3333333,
"obp_rank": "82",
"slg_value": 0.5164319,
"slg_rank": "20",
"ops_value": 0.8497652,
"ops_rank": 32.0,
"war_value": 1.91,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 195.0,
"k_percent": 18.2,
"bb_percent": 4.4,
"woba": 0.369,
"xwoba": 0.386,
"xba": 0.304,
"xslg": 0.559,
"sweet_spot_percent": 28.3,
"barrel_batted_rate": 15.1,
"hard_hit_percent": 53.2,
"exit_velocity_avg": 92.9,
"launch_angle_avg": 12.5,
"whiff_percent": 26.3,
"swing_percent": 55.4
},
"components": {
"expected_quality": 1.8766,
"regression_edge": 0.4857,
"xwoba_edge": 2.3,
"xba_edge": 1.9143,
"xslg_edge": 2.5,
"barrel_edge": 1.8222,
"hard_hit_edge": 2.1,
"exit_velocity_edge": 1.64,
"sweet_spot_edge": -0.8333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "642086",
"player_name": "Dominic Smith",
"offense_factor": 1.0391,
"quality_score": 0.5217,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642086",
"espn_id": 33218,
"player_name": "Dominic Smith",
"team": "ATL",
"role": "batter",
"espn_rank": 154,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 154,
"gp_value": 49.0,
"gp_rank": 188,
"ab_value": 126.0,
"ab_rank": 231,
"r_value": 22.0,
"r_rank": 150,
"h_value": 40.0,
"h_rank": 166,
"avg_value": 0.3174603,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 267,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 25.0,
"rbi_rank": 115,
"tb_value": 61.0,
"tb_rank": 968,
"bb_value": 7.0,
"bb_rank": 305,
"so_value": 20.0,
"so_rank": 321,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3529411,
"obp_rank": "-",
"slg_value": 0.4841269,
"slg_rank": "-",
"ops_value": 0.837068,
"ops_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 116.0,
"k_percent": 14.6,
"bb_percent": 5.1,
"woba": 0.365,
"xwoba": 0.364,
"xba": 0.304,
"xslg": 0.487,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 37.6,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 16.0,
"whiff_percent": 20.8,
"swing_percent": 54.6
},
"components": {
"expected_quality": 1.1552,
"regression_edge": -0.0286,
"xwoba_edge": 1.6714,
"xba_edge": 1.9143,
"xslg_edge": 1.5857,
"barrel_edge": 0.3333,
"hard_hit_edge": -0.1286,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "573262",
"player_name": "Mike Yastrzemski",
"offense_factor": 0.9812,
"quality_score": -0.251,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573262",
"espn_id": 33341,
"player_name": "Mike Yastrzemski",
"team": "ATL",
"role": "batter",
"espn_rank": 143,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 143,
"gp_value": 56.0,
"gp_rank": 126,
"ab_value": 153.0,
"ab_rank": 193,
"r_value": 25.0,
"r_rank": 120,
"h_value": 38.0,
"h_rank": 178,
"avg_value": 0.248366,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 113,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 17.0,
"rbi_rank": 202,
"tb_value": 58.0,
"tb_rank": 1021,
"bb_value": 15.0,
"bb_rank": 173,
"so_value": 40.0,
"so_rank": 148,
"sb_value": 1.0,
"sb_rank": 219,
"obp_value": 0.3274853,
"obp_rank": "-",
"slg_value": 0.3790849,
"slg_rank": "-",
"ops_value": 0.7065702,
"ops_rank": null,
"war_value": 0.77,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 151.0,
"k_percent": 23.4,
"bb_percent": 8.8,
"woba": 0.318,
"xwoba": 0.292,
"xba": 0.235,
"xslg": 0.328,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 15.6,
"whiff_percent": 25.2,
"swing_percent": 43.1
},
"components": {
"expected_quality": -0.3043,
"regression_edge": -0.7429,
"xwoba_edge": -0.3857,
"xba_edge": -0.0571,
"xslg_edge": -0.6857,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.0571,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.5333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "663586",
"player_name": "Austin Riley",
"offense_factor": 1.023,
"quality_score": 0.3061,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663586",
"espn_id": 34982,
"player_name": "Austin Riley",
"team": "ATL",
"role": "batter",
"espn_rank": 182,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 182,
"gp_value": 62.0,
"gp_rank": 9,
"ab_value": 226.0,
"ab_rank": 39,
"r_value": 30.0,
"r_rank": 67,
"h_value": 47.0,
"h_rank": 118,
"avg_value": 0.2079646,
"avg_rank": 155.0,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 1.0,
"3b_rank": 53,
"hr_value": 8.0,
"hr_rank": 65,
"rbi_value": 32.0,
"rbi_rank": 48,
"tb_value": 81.0,
"tb_rank": 567,
"bb_value": 20.0,
"bb_rank": 108,
"so_value": 73.0,
"so_rank": 16,
"sb_value": 4.0,
"sb_rank": 101,
"obp_value": 0.2845849,
"obp_rank": "150",
"slg_value": 0.358407,
"slg_rank": "131",
"ops_value": 0.6429919,
"ops_rank": 139.0,
"war_value": 0.53,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 232.0,
"k_percent": 28.9,
"bb_percent": 7.9,
"woba": 0.289,
"xwoba": 0.309,
"xba": 0.219,
"xslg": 0.407,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 45.2,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 18.9,
"whiff_percent": 31.8,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.263,
"regression_edge": 0.5714,
"xwoba_edge": 0.1,
"xba_edge": -0.5143,
"xslg_edge": 0.4429,
"barrel_edge": 0.7556,
"hard_hit_edge": 0.9571,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": -0.5,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "C",
"player_id": "506702",
"player_name": "Sandy León",
"offense_factor": 0.9404,
"quality_score": -0.7943,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "506702",
"espn_id": 32101,
"player_name": "Sandy Leon",
"team": "ATL",
"role": "batter",
"espn_rank": 493,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 493,
"gp_value": 14.0,
"gp_rank": 415,
"ab_value": 28.0,
"ab_rank": 441,
"r_value": 0.0,
"r_rank": 510,
"h_value": 2.0,
"h_rank": 478,
"avg_value": 0.0714285,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 0.0,
"hr_rank": 409,
"rbi_value": 0.0,
"rbi_rank": 493,
"tb_value": 2.0,
"tb_rank": 2499,
"bb_value": 0.0,
"bb_rank": 491,
"so_value": 10.0,
"so_rank": 412,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.0714285,
"obp_rank": "-",
"slg_value": 0.0714285,
"slg_rank": "-",
"ops_value": 0.142857,
"ops_rank": null,
"war_value": -0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 18.0,
"k_percent": 35.7,
"bb_percent": 0.0,
"woba": 0.064,
"xwoba": 0.113,
"xba": 0.108,
"xslg": 0.153,
"sweet_spot_percent": 22.2,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 16.7,
"exit_velocity_avg": 83.2,
"launch_angle_avg": 26.5,
"whiff_percent": 28.1,
"swing_percent": 58.2
},
"components": {
"expected_quality": -2.2804,
"regression_edge": 1.4,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -2.5,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.24,
"sweet_spot_edge": -1.85,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0117,
"raw_average_factor": 1.0117,
"team_espn_average_rank": 275.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "543807",
"player_name": "George Springer",
"offense_factor": 0.9986,
"quality_score": -0.0188,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543807",
"espn_id": 32078,
"player_name": "George Springer",
"team": "TOR",
"role": "batter",
"espn_rank": 458,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 458,
"gp_value": 41.0,
"gp_rank": 252,
"ab_value": 160.0,
"ab_rank": 185,
"r_value": 16.0,
"r_rank": 219,
"h_value": 33.0,
"h_rank": 205,
"avg_value": 0.20625,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 148,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 14.0,
"rbi_rank": 240,
"tb_value": 56.0,
"tb_rank": 1116,
"bb_value": 15.0,
"bb_rank": 173,
"so_value": 36.0,
"so_rank": 178,
"sb_value": 3.0,
"sb_rank": 130,
"obp_value": 0.2824858,
"obp_rank": "-",
"slg_value": 0.35,
"slg_rank": "-",
"ops_value": 0.6324858,
"ops_rank": null,
"war_value": -0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 161.0,
"k_percent": 20.1,
"bb_percent": 8.4,
"woba": 0.285,
"xwoba": 0.301,
"xba": 0.225,
"xslg": 0.378,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 37.9,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 14.1,
"whiff_percent": 25.8,
"swing_percent": 51.1
},
"components": {
"expected_quality": -0.1043,
"regression_edge": 0.4571,
"xwoba_edge": -0.1286,
"xba_edge": -0.3429,
"xslg_edge": 0.0286,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"offense_factor": 1.0542,
"quality_score": 0.7232,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672960",
"espn_id": 5134636,
"player_name": "Kazuma Okamoto",
"team": "TOR",
"role": "batter",
"espn_rank": 118,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 118,
"gp_value": 60.0,
"gp_rank": 42,
"ab_value": 217.0,
"ab_rank": 69,
"r_value": 29.0,
"r_rank": 75,
"h_value": 48.0,
"h_rank": 115,
"avg_value": 0.2211981,
"avg_rank": 139.0,
"2b_value": 7.0,
"2b_rank": 177,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 13.0,
"hr_rank": 22,
"rbi_value": 35.0,
"rbi_rank": 36,
"tb_value": 94.0,
"tb_rank": 692,
"bb_value": 25.0,
"bb_rank": 62,
"so_value": 79.0,
"so_rank": 9,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.308943,
"obp_rank": "124",
"slg_value": 0.4331797,
"slg_rank": "74",
"ops_value": 0.7421227,
"ops_rank": 88.0,
"war_value": 0.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 32.1,
"bb_percent": 10.2,
"woba": 0.328,
"xwoba": 0.33,
"xba": 0.22,
"xslg": 0.443,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 15.1,
"hard_hit_percent": 53.2,
"exit_velocity_avg": 92.8,
"launch_angle_avg": 17.5,
"whiff_percent": 33.5,
"swing_percent": 44.8
},
"components": {
"expected_quality": 0.8316,
"regression_edge": 0.0571,
"xwoba_edge": 0.7,
"xba_edge": -0.4857,
"xslg_edge": 0.9571,
"barrel_edge": 1.8222,
"hard_hit_edge": 2.1,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "676391",
"player_name": "Ernie Clement",
"offense_factor": 0.9472,
"quality_score": -0.7047,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676391",
"espn_id": 41287,
"player_name": "Ernie Clement",
"team": "TOR",
"role": "batter",
"espn_rank": 114,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 114,
"gp_value": 61.0,
"gp_rank": 28,
"ab_value": 235.0,
"ab_rank": 18,
"r_value": 25.0,
"r_rank": 120,
"h_value": 71.0,
"h_rank": 4,
"avg_value": 0.3021276,
"avg_rank": 14.0,
"2b_value": 19.0,
"2b_rank": 1,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 5.0,
"hr_rank": 143,
"rbi_value": 22.0,
"rbi_rank": 147,
"tb_value": 105.0,
"tb_rank": 768,
"bb_value": 8.0,
"bb_rank": 286,
"so_value": 21.0,
"so_rank": 311,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.3237704,
"obp_rank": "96",
"slg_value": 0.4468085,
"slg_rank": "63",
"ops_value": 0.7705789,
"ops_rank": 74.0,
"war_value": 0.96,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 8.6,
"bb_percent": 3.3,
"woba": 0.338,
"xwoba": 0.28,
"xba": 0.262,
"xslg": 0.357,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 25.6,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 15.6,
"whiff_percent": 14.6,
"swing_percent": 57.2
},
"components": {
"expected_quality": -0.5533,
"regression_edge": -1.6571,
"xwoba_edge": -0.7286,
"xba_edge": 0.7143,
"xslg_edge": -0.2714,
"barrel_edge": -0.9111,
"hard_hit_edge": -1.8429,
"exit_velocity_edge": -1.2,
"sweet_spot_edge": -0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"offense_factor": 1.0743,
"quality_score": 0.9912,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665489",
"espn_id": 35002,
"player_name": "Vladimir Guerrero Jr.",
"team": "TOR",
"role": "batter",
"espn_rank": 129,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 129,
"gp_value": 60.0,
"gp_rank": 42,
"ab_value": 215.0,
"ab_rank": 76,
"r_value": 35.0,
"r_rank": 45,
"h_value": 63.0,
"h_rank": 27,
"avg_value": 0.2930232,
"avg_rank": 17.0,
"2b_value": 10.0,
"2b_rank": 78,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 24.0,
"rbi_rank": 125,
"tb_value": 82.0,
"tb_rank": 1063,
"bb_value": 31.0,
"bb_rank": 33,
"so_value": 25.0,
"so_rank": 274,
"sb_value": 5.0,
"sb_rank": 75,
"obp_value": 0.3873517,
"obp_rank": "17",
"slg_value": 0.3813953,
"slg_rank": "116",
"ops_value": 0.768747,
"ops_rank": 76.0,
"war_value": 0.85,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 9.9,
"bb_percent": 12.3,
"woba": 0.343,
"xwoba": 0.363,
"xba": 0.309,
"xslg": 0.426,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 44.6,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 9.1,
"whiff_percent": 19.7,
"swing_percent": 48.5
},
"components": {
"expected_quality": 1.0647,
"regression_edge": 0.5714,
"xwoba_edge": 1.6429,
"xba_edge": 2.0571,
"xslg_edge": 0.7143,
"barrel_edge": -0.0444,
"hard_hit_edge": 0.8714,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.45,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "623168",
"player_name": "Tyler Heineman",
"offense_factor": 0.9435,
"quality_score": -0.7529,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623168",
"espn_id": 33142,
"player_name": "Tyler Heineman",
"team": "TOR",
"role": "batter",
"espn_rank": 442,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 442,
"gp_value": 29.0,
"gp_rank": 338,
"ab_value": 71.0,
"ab_rank": 353,
"r_value": 6.0,
"r_rank": 375,
"h_value": 10.0,
"h_rank": 385,
"avg_value": 0.140845,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 4.0,
"rbi_rank": 398,
"tb_value": 13.0,
"tb_rank": 2160,
"bb_value": 2.0,
"bb_rank": 422,
"so_value": 18.0,
"so_rank": 345,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.1973684,
"obp_rank": "-",
"slg_value": 0.1830985,
"slg_rank": "-",
"ops_value": 0.3804669,
"ops_rank": null,
"war_value": -0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 71.0,
"k_percent": 22.5,
"bb_percent": 2.5,
"woba": 0.181,
"xwoba": 0.208,
"xba": 0.172,
"xslg": 0.223,
"sweet_spot_percent": 19.3,
"barrel_batted_rate": 1.8,
"hard_hit_percent": 15.8,
"exit_velocity_avg": 82.8,
"launch_angle_avg": 12.5,
"whiff_percent": 20.7,
"swing_percent": 57.5
},
"components": {
"expected_quality": -2.071,
"regression_edge": 0.7714,
"xwoba_edge": -2.5,
"xba_edge": -1.8571,
"xslg_edge": -2.1857,
"barrel_edge": -1.1333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.4,
"sweet_spot_edge": -2.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "807727",
"player_name": "Charles McAdoo",
"offense_factor": 1.0596,
"quality_score": 0.7945,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "807727",
"espn_id": 5205698,
"player_name": "Charles McAdoo",
"team": "TOR",
"role": "batter",
"espn_rank": 306,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 306,
"gp_value": 2.0,
"gp_rank": 523,
"ab_value": 8.0,
"ab_rank": 506,
"r_value": 1.0,
"r_rank": 469,
"h_value": 2.0,
"h_rank": 478,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 2.0,
"rbi_rank": 438,
"tb_value": 5.0,
"tb_rank": 2253,
"bb_value": 0.0,
"bb_rank": 491,
"so_value": 1.0,
"so_rank": 518,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.625,
"slg_rank": "-",
"ops_value": 0.875,
"ops_rank": null,
"war_value": 0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 12.5,
"bb_percent": 0.0,
"woba": 0.372,
"xwoba": 0.401,
"xba": 0.322,
"xslg": 0.622,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 57.1,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 21.3,
"whiff_percent": 28.6,
"swing_percent": 56.0
},
"components": {
"expected_quality": 1.9182,
"regression_edge": 0.8286,
"xwoba_edge": 2.5,
"xba_edge": 2.4286,
"xslg_edge": 2.5,
"barrel_edge": 1.6444,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "664770",
"player_name": "Nathan Lukes",
"offense_factor": 1.0069,
"quality_score": 0.0915,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664770",
"espn_id": 35682,
"player_name": "Nathan Lukes",
"team": "TOR",
"role": "batter",
"espn_rank": 142,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 142,
"gp_value": 28.0,
"gp_rank": 343,
"ab_value": 82.0,
"ab_rank": 324,
"r_value": 11.0,
"r_rank": 296,
"h_value": 26.0,
"h_rank": 253,
"avg_value": 0.3170731,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 205,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 1.0,
"hr_rank": 327,
"rbi_value": 10.0,
"rbi_rank": 289,
"tb_value": 35.0,
"tb_rank": 1773,
"bb_value": 3.0,
"bb_rank": 397,
"so_value": 12.0,
"so_rank": 395,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3595505,
"obp_rank": "-",
"slg_value": 0.4268292,
"slg_rank": "-",
"ops_value": 0.7863797,
"ops_rank": null,
"war_value": 0.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 68.0,
"k_percent": 13.3,
"bb_percent": 3.3,
"woba": 0.349,
"xwoba": 0.331,
"xba": 0.309,
"xslg": 0.399,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 1.4,
"hard_hit_percent": 36.1,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 16.5,
"whiff_percent": 16.4,
"swing_percent": 50.6
},
"components": {
"expected_quality": 0.3202,
"regression_edge": -0.5143,
"xwoba_edge": 0.7286,
"xba_edge": 2.0571,
"xslg_edge": 0.3286,
"barrel_edge": -1.2222,
"hard_hit_edge": -0.3429,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "664702",
"player_name": "Myles Straw",
"offense_factor": 1.0046,
"quality_score": 0.0615,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664702",
"espn_id": 39105,
"player_name": "Myles Straw",
"team": "TOR",
"role": "batter",
"espn_rank": 441,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 441,
"gp_value": 53.0,
"gp_rank": 162,
"ab_value": 89.0,
"ab_rank": 311,
"r_value": 18.0,
"r_rank": 196,
"h_value": 21.0,
"h_rank": 297,
"avg_value": 0.235955,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 309,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 2.0,
"hr_rank": 264,
"rbi_value": 6.0,
"rbi_rank": 354,
"tb_value": 30.0,
"tb_rank": 1732,
"bb_value": 10.0,
"bb_rank": 253,
"so_value": 17.0,
"so_rank": 353,
"sb_value": 2.0,
"sb_rank": 162,
"obp_value": 0.31,
"obp_rank": "-",
"slg_value": 0.3370786,
"slg_rank": "-",
"ops_value": 0.6470786,
"ops_rank": null,
"war_value": -0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 92.0,
"k_percent": 16.8,
"bb_percent": 9.9,
"woba": 0.293,
"xwoba": 0.319,
"xba": 0.268,
"xslg": 0.378,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 28.4,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 16.0,
"whiff_percent": 14.4,
"swing_percent": 37.8
},
"components": {
"expected_quality": 0.0379,
"regression_edge": 0.7429,
"xwoba_edge": 0.3857,
"xba_edge": 0.8857,
"xslg_edge": 0.0286,
"barrel_edge": -0.3333,
"hard_hit_edge": -1.4429,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "682818",
"player_name": "Yohendrick Pinango",
"offense_factor": 1.0162,
"quality_score": 0.2162,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682818",
"espn_id": 4917684,
"player_name": "Yohendrick Pinango",
"team": "TOR",
"role": "batter",
"espn_rank": 330,
"espn_total_ranked": 538,
"metrics": {
"espn_rank": 330,
"gp_value": 31.0,
"gp_rank": 324,
"ab_value": 92.0,
"ab_rank": 300,
"r_value": 8.0,
"r_rank": 345,
"h_value": 28.0,
"h_rank": 240,
"avg_value": 0.3043478,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 267,
"3b_value": 0.0,
"3b_rank": 167,
"hr_value": 3.0,
"hr_rank": 208,
"rbi_value": 16.0,
"rbi_rank": 218,
"tb_value": 41.0,
"tb_rank": 1465,
"bb_value": 5.0,
"bb_rank": 351,
"so_value": 21.0,
"so_rank": 311,
"sb_value": 0.0,
"sb_rank": 314,
"obp_value": 0.3402061,
"obp_rank": "-",
"slg_value": 0.4456521,
"slg_rank": "-",
"ops_value": 0.7858582,
"ops_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 79.0,
"k_percent": 21.6,
"bb_percent": 5.2,
"woba": 0.347,
"xwoba": 0.329,
"xba": 0.295,
"xslg": 0.422,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 42.3,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 7.9,
"whiff_percent": 25.1,
"swing_percent": 50.7
},
"components": {
"expected_quality": 0.6424,
"regression_edge": -0.5143,
"xwoba_edge": 0.6714,
"xba_edge": 1.6571,
"xslg_edge": 0.6571,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.5429,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.7833,
"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 TOR | True | 224 | 0.5040 | 0.4500 | 0.9572 | 1.0301 | 1 | 0.9268 | positive_pitcher_regression | 0.2270 | 0.2920 | 30.60 | 9.20 | 29.40 | 5.20 | 29.30 | |
| Home ATL | True | 12 | 0.4861 | 0.8640 | 0.9587 | 1.0588 | 0.9516 | 0.9275 | neutral | 0.2840 | 0.2550 | 30.20 | 6.40 | 30 | 6.80 | 29.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TOR | True | None | 12 | 87.16 | 2613 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1423 | |
| Home ATL | True | None | 101 | 87.64 | 2282 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1155 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9643 |
| home_runs_vs_away_pitcher | 0.9807 |
| home_pitcher_quality_edge | -0.0179 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "519242",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 30.2,
"bb_percent": 6.4,
"woba": 0.255,
"xwoba": 0.284,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 29.6,
"avg_best_speed": 75.9264,
"avg_hyper_speed": 92.8803,
"whiff_percent": 30.0,
"swing_percent": 50.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7768,
"command_and_miss": 0.845,
"regression_edge": -0.8286,
"xwoba_edge": 0.8857,
"barrel_edge": 0.0889,
"hard_hit_edge": 1.2571,
"whiff_edge": 0.6,
"bb_edge": 0.7,
"pitch_design_score": -0.1155
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "519242",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 101,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 101,
"pitch_usage": 0.0,
"release_speed": 87.63799198092443,
"release_spin_rate": 2281.8376344581097,
"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": 101,
"pitch_usage": 0.0,
"release_speed": 87.63799198092443,
"release_spin_rate": 2281.8376344581097,
"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.638,
"release_spin_rate": 2281.8376,
"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.1155,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8249,
"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.4861,
"sample_weight": 0.864,
"run_prevention_factor": 0.9587,
"strikeout_factor": 1.0588,
"walk_factor": 0.9516,
"homer_factor": 0.9275,
"woba_minus_xwoba": -0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "519242",
"espn_id": 30948,
"player_name": "Chris Sale",
"team": "ATL",
"role": "pitcher",
"espn_rank": 12,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 12,
"gp_value": 11.0,
"gp_rank": 322,
"gs_value": 11.0,
"gs_rank": 70,
"qs_value": 9.0,
"qs_rank": 2,
"era_value": 2.0149,
"era_rank": 4.0,
"w_value": 8.0,
"w_rank": 3,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 67.0,
"ip_rank": 37,
"h_value": 46.0,
"h_rank": 110,
"er_value": 15.0,
"er_rank": 169,
"hr_value": 6.0,
"hr_rank": 90,
"bb_value": 17.0,
"bb_rank": 116,
"k_value": 80.0,
"k_rank": 12,
"k_per_9_value": 10.746268,
"k_per_9_rank": 8,
"whip_value": 0.9402,
"whip_rank": 4.0,
"war_value": 2.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "689254",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 83.0,
"k_percent": 30.6,
"bb_percent": 9.2,
"woba": 0.292,
"xwoba": 0.227,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 29.3,
"avg_best_speed": 74.6671,
"avg_hyper_speed": 91.9187,
"whiff_percent": 29.4,
"swing_percent": 48.5
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.3633,
"command_and_miss": 0.7007,
"regression_edge": 1.8571,
"xwoba_edge": 2.5,
"barrel_edge": 0.4444,
"hard_hit_edge": 1.3,
"whiff_edge": 0.5143,
"bb_edge": 0.0,
"pitch_design_score": -0.1423
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "689254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.15898712277001,
"release_spin_rate": 2613.2411773516096,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.15898712277001,
"release_spin_rate": 2613.2411773516096,
"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.159,
"release_spin_rate": 2613.2412,
"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.1423,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0165,
"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.504,
"sample_weight": 0.45,
"run_prevention_factor": 0.9572,
"strikeout_factor": 1.0301,
"walk_factor": 1.0,
"homer_factor": 0.9268,
"woba_minus_xwoba": 0.065,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "689254",
"espn_id": 4622501,
"player_name": "Mason Fluharty",
"team": "TOR",
"role": "pitcher",
"espn_rank": 224,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 224,
"gp_value": 32.0,
"gp_rank": 1,
"gs_value": 2.0,
"gs_rank": 194,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.9705,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 7.0,
"hld_rank": 36,
"ip_value": 22.2,
"ip_rank": 297,
"h_value": 22.0,
"h_rank": 248,
"er_value": 10.0,
"er_rank": 267,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 30.0,
"k_rank": 192,
"k_per_9_value": 11.911765,
"k_per_9_rank": 17,
"whip_value": 1.3676,
"whip_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9643,
"home_runs_vs_away_pitcher": 0.9807,
"home_pitcher_quality_edge": -0.0179
},
"score_before": {
"away_runs": 1.0,
"home_runs": 2.0
},
"score_after": {
"away_runs": 0.9643,
"home_runs": 1.9615,
"home_win_probability": 0.5844
},
"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 TOR | 14-44 | 0.241 | 1 | 3 | -119 | cold | strong | |
| Home ATL | 15-39 | 0.278 | 1.40 | 2.80 | -80 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TOR | 29-33 | 0.468 | -12 | -0.194 | True |
| Home ATL | 42-20 | 0.677 | 114 | 1.839 | True |
| Signal | - | - | 2.032 | 2.347 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TOR | - | - | 1 | - | - | - | - |
| Game target ATL | - | - | 3 | - | - | - | - |
| Player finalized TOR | 50 | 13 | 5 | 0 | 5 | 3 | 12 |
| Player finalized ATL | 58 | 13 | 9 | 2 | 8 | 7 | 12 |
| Player model fractional TOR | 51.97 | 12.02 | 5.79 | 1.51 | 5.33 | 3.67 | 10.48 |
| Player model fractional ATL | 57.35 | 14.93 | 8.90 | 2.58 | 9.06 | 5.61 | 11.87 |
| Simulation box TOR | 30 | 3 | 1 | 0 | 1 | 1 | 3 |
| Simulation box ATL | 32 | 8 | 3 | 0 | 3 | 3 | 5 |
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 TOR | Starter | Mason Fluharty | 4.20 | 3 | 4 | 5 | 3 | 2.79 | 1.14 | True |
| Away TOR | Middle Reliever | Louis Varland | 1.10 | 0 | 0 | 0 | 0 | 1.98 | 1.04 | True |
| Away TOR | Middle Reliever | Braydon Fisher | 1 | 0 | 1 | 1 | 0 | 2.30 | 0.83 | True |
| Away TOR | Middle Reliever | Tyler Rogers | 1 | 0 | 0 | 2 | 0 | 4.33 | 1.30 | True |
| Home ATL | Starter | Chris Sale | 6.20 | 0 | 3 | 1 | 0 | 2.69 | 1.07 | True |
| Home ATL | Middle Reliever | Raisel Iglesias | 1 | 0 | 0 | 0 | 1 | 3.54 | 1.27 | True |
| Home ATL | Middle Reliever | Robert Suarez | 1 | 0 | 0 | 0 | 0 | 2.30 | 1.05 | True |
| Home ATL | Middle Reliever | Dylan Lee | 0.10 | 1 | 0 | 2 | 0 | 3.31 | 1.08 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | ATL | batter | C | Sandy León | better | 9 | 4 | 5 | 5 | 4 | predicted_H | 1.5600 | boost | better |
| home | ATL | batter | SS | Mauricio Dubón | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.3610 | boost | worse |
| home | ATL | batter | 1B | Matt Olson | better | 10 | 6 | 4 | 6 | 4 | predicted_AB | -1.3100 | deboost | worse |
| home | ATL | batter | RF | Ronald Acuña Jr. | worse | 10 | 4 | 6 | 4 | 6 | predicted_AB | -1.2600 | deboost | worse |
| home | ATL | batter | 3B | Austin Riley | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -1.2590 | deboost | better |
| away | TOR | batter | 2B | Charles McAdoo | worse | 9 | 0 | 9 | 1 | 8 | predicted_AB | -1.2400 | deboost | worse |
| away | TOR | batter | SS | Ernie Clement | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -1.1200 | deboost | worse |
| home | ATL | pitcher | Starter | Chris Sale | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| home | ATL | pitcher | Middle Reliever | Robert Suarez | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | ATL | batter | CF | Michael Harris II | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -0.9900 | deboost | worse |
| away | TOR | batter | 1B | Vladimir Guerrero Jr. | boosted | 10 | 6 | 4 | 5 | 5 | predicted_AB | -0.9800 | deboost | worse |
| away | TOR | batter | DH | George Springer | worse | 11 | 0 | 11 | 1 | 10 | predicted_H | -0.9500 | deboost | worse |
| away | TOR | batter | 3B | Kazuma Okamoto | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.9000 | deboost | worse |
| home | ATL | batter | LF | Mike Yastrzemski | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.8730 | deboost | better |
| home | ATL | batter | DH | Dominic Smith | worse | 11 | 6 | 5 | 5 | 6 | predicted_2B | 0.8680 | boost | better |
| away | TOR | batter | RF | Yohendrick Pinango | worse | 11 | 2 | 9 | 3 | 8 | predicted_2B | 0.8210 | boost | better |
| away | TOR | batter | C | Tyler Heineman | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -0.7400 | deboost | better |
| away | TOR | batter | LF | Nathan Lukes | worse | 10 | 2 | 8 | 3 | 7 | predicted_2B | 0.7160 | boost | better |
| away | TOR | batter | CF | Myles Straw | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 0.5770 | boost | worse |
| home | ATL | batter | 2B | Ozzie Albies | better | 11 | 5 | 6 | 6 | 5 | predicted_SO | -0.5400 | deboost | better |
| away | TOR | pitcher | Starter | Mason Fluharty | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | TOR | pitcher | Middle Reliever | Louis Varland | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | ATL | pitcher | Middle Reliever | Dylan Lee | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Mason Fluharty |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5040 |
| ESPN Rank | 224 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1423 |
| Avg Velo | 87.1590 |
| Avg Spin | 2613.2412 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 3 |
| Pre SO | 4 |
| Season ERA | 3.1765 |
| Season WHIP | 1.2794 |
| Role Avg IP | 1.1670 |
| Recent Avg IP | 1.1670 |
| Last Start IP | 1.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 68,
"wins": 32,
"losses": 36,
"win_pct": 0.4706,
"runs_scored": 282.0,
"runs_allowed": 275.0,
"run_differential": 7.0,
"run_differential_per_game": 0.1029,
"avg_runs_scored": 4.1471,
"avg_runs_allowed": 4.0441,
"offense_index": 0.9292,
"defense_index": 1.1036,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.6,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0473
},
"opponent": {
"team": "ATL",
"games": 68,
"wins": 47,
"losses": 21,
"win_pct": 0.6912,
"runs_scored": 355.0,
"runs_allowed": 228.0,
"run_differential": 127.0,
"run_differential_per_game": 1.8676,
"avg_runs_scored": 5.2206,
"avg_runs_allowed": 3.3529,
"offense_index": 1.1697,
"defense_index": 1.3311,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.4277
},
"edges": {
"quality_edge": -0.475,
"offense_edge": -0.0708,
"opponent_offense_edge": 0.1697,
"defense_strength": 0.1036,
"opponent_defense_weakness": -0.3311,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9773,
"run_prevention": 1.0405,
"strikeout": 0.9722
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "689254",
"profile": {
"available": true,
"pitcher_id": "689254",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 83.0,
"k_percent": 30.6,
"bb_percent": 9.2,
"woba": 0.292,
"xwoba": 0.227,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 29.3,
"avg_best_speed": 74.6671,
"avg_hyper_speed": 91.9187,
"whiff_percent": 29.4,
"swing_percent": 48.5
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.3633,
"command_and_miss": 0.7007,
"regression_edge": 1.8571,
"xwoba_edge": 2.5,
"barrel_edge": 0.4444,
"hard_hit_edge": 1.3,
"whiff_edge": 0.5143,
"bb_edge": 0.0,
"pitch_design_score": -0.1423
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "689254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.15898712277001,
"release_spin_rate": 2613.2411773516096,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.15898712277001,
"release_spin_rate": 2613.2411773516096,
"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.159,
"release_spin_rate": 2613.2412,
"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.1423,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0165,
"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.504,
"sample_weight": 0.45,
"run_prevention_factor": 0.9572,
"strikeout_factor": 1.0301,
"walk_factor": 1.0,
"homer_factor": 0.9268,
"woba_minus_xwoba": 0.065,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "689254",
"espn_id": 4622501,
"player_name": "Mason Fluharty",
"team": "TOR",
"role": "pitcher",
"espn_rank": 224,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 224,
"gp_value": 32.0,
"gp_rank": 1,
"gs_value": 2.0,
"gs_rank": 194,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 3.9705,
"era_rank": null,
"w_value": 3.0,
"w_rank": 81,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 7.0,
"hld_rank": 36,
"ip_value": 22.2,
"ip_rank": 297,
"h_value": 22.0,
"h_rank": 248,
"er_value": 10.0,
"er_rank": 267,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 30.0,
"k_rank": 192,
"k_per_9_value": 11.911765,
"k_per_9_rank": 17,
"whip_value": 1.3676,
"whip_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9807,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 0.9807,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9671,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0135,
"adjusted": 6
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 7.2,
"ER": 1,
"H": 8,
"BB": 2,
"SO": 11,
"HR": 0,
"ERA": 1.173913043478261,
"WHIP": 1.3043478260869565,
"K9": 12.913043478260871,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "689254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.15898712277001,
"release_spin_rate": 2613.2411773516096,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 87.15898712277001,
"release_spin_rate": 2613.2411773516096,
"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.159,
"release_spin_rate": 2613.2412,
"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.1423,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0165,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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.474,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4722,
"prior_weight": 0.5278
},
"role": "pitcher",
"player_id": "689254",
"report_date": "20260604_T",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 0.0,
"SO": 5.0,
"HR": 0.0,
"BF": 14.0,
"Pitches": 65.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 2.8,
"Pitches": 13.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.0,
"SO_per_IP": 1.25,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.2,
"ER": 1.0,
"R": 1.0,
"H": 8.0,
"BB": 2.0,
"SO": 11.0,
"HR": 0.0,
"BF": 33.0,
"Pitches": 127.0
},
"per_game": {
"IP": 0.2,
"ER": 0.1,
"R": 0.1,
"H": 0.8,
"BB": 0.2,
"SO": 1.1,
"HR": 0.0,
"BF": 3.3,
"Pitches": 12.7
},
"rates": {
"ERA": 1.1739,
"WHIP": 1.3043,
"ER_per_IP": 0.13043,
"H_per_IP": 1.04348,
"BB_per_IP": 0.26087,
"SO_per_IP": 1.43478,
"HR_per_IP": 0.0
}
},
"season": {
"games": 31,
"totals": {
"IP": 22.2,
"ER": 8.0,
"R": 8.0,
"H": 20.0,
"BB": 9.0,
"SO": 30.0,
"HR": 1.0,
"BF": 96.0,
"Pitches": 397.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2581,
"R": 0.2581,
"H": 0.6452,
"BB": 0.2903,
"SO": 0.9677,
"HR": 0.0323,
"BF": 3.0968,
"Pitches": 12.8065
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.2794,
"ER_per_IP": 0.35294,
"H_per_IP": 0.88235,
"BB_per_IP": 0.39706,
"SO_per_IP": 1.32353,
"HR_per_IP": 0.04412
}
}
},
"weighted_prediction": {
"predicted_IP": 2.2,
"predicted_ER": 0.86,
"predicted_H": 2.407,
"predicted_BB": 0.762,
"predicted_SO": 3.123,
"predicted_HR": 0.213,
"predicted_ERA": 2.786,
"predicted_WHIP": 1.1408
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.573,
"form_weight": 0.427,
"form_reliability": 0.4722,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.474,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4722,
"prior_weight": 0.5278
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 2.2,
"final": 3.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.86,
"final": 2.0862,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 2.407,
"final": 3.8928,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 0.762,
"final": 2.0444,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.123,
"final": 3.6255,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.213,
"final": 0.091,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.786,
"final": 2.786,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1408,
"final": 1.1408,
"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 | Louis Varland |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.6100 |
| ESPN Rank | 20 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2127 |
| Avg Velo | 93.4979 |
| Avg Spin | 2238.6034 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 0.2903 |
| Season WHIP | 1.0323 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 68,
"wins": 32,
"losses": 36,
"win_pct": 0.4706,
"runs_scored": 282.0,
"runs_allowed": 275.0,
"run_differential": 7.0,
"run_differential_per_game": 0.1029,
"avg_runs_scored": 4.1471,
"avg_runs_allowed": 4.0441,
"offense_index": 0.9292,
"defense_index": 1.1036,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.6,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0473
},
"opponent": {
"team": "ATL",
"games": 68,
"wins": 47,
"losses": 21,
"win_pct": 0.6912,
"runs_scored": 355.0,
"runs_allowed": 228.0,
"run_differential": 127.0,
"run_differential_per_game": 1.8676,
"avg_runs_scored": 5.2206,
"avg_runs_allowed": 3.3529,
"offense_index": 1.1697,
"defense_index": 1.3311,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.4277
},
"edges": {
"quality_edge": -0.475,
"offense_edge": -0.0708,
"opponent_offense_edge": 0.1697,
"defense_strength": 0.1036,
"opponent_defense_weakness": -0.3311,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9773,
"run_prevention": 1.0405,
"strikeout": 0.9722
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686973",
"profile": {
"available": true,
"pitcher_id": "686973",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 111.0,
"k_percent": 35.0,
"bb_percent": 7.5,
"woba": 0.23,
"xwoba": 0.214,
"sweet_spot_percent": 20.3,
"barrel_batted_rate": 1.4,
"hard_hit_percent": 34.8,
"avg_best_speed": 75.2038,
"avg_hyper_speed": 93.2126,
"whiff_percent": 28.0,
"swing_percent": 50.9
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.845,
"command_and_miss": 0.9986,
"regression_edge": 0.4571,
"xwoba_edge": 2.5,
"barrel_edge": 1.2889,
"hard_hit_edge": 0.5143,
"whiff_edge": 0.3143,
"bb_edge": 0.425,
"pitch_design_score": 0.2127
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 93.49793028207485,
"release_spin_rate": 2238.603422282622,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 93.49793028207485,
"release_spin_rate": 2238.603422282622,
"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": 93.4979,
"release_spin_rate": 2238.6034,
"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.2127,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.519,
"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.61,
"sample_weight": 0.45,
"run_prevention_factor": 0.9481,
"strikeout_factor": 1.0378,
"walk_factor": 0.9847,
"homer_factor": 0.9106,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686973",
"espn_id": 4917888,
"player_name": "Louis Varland",
"team": "TOR",
"role": "pitcher",
"espn_rank": 20,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 20,
"gp_value": 28.0,
"gp_rank": 21,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 0.2903,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 8.0,
"sv_rank": 13,
"hld_value": 5.0,
"hld_rank": 75,
"ip_value": 31.0,
"ip_rank": 169,
"h_value": 23.0,
"h_rank": 239,
"er_value": 1.0,
"er_rank": 589,
"hr_value": 0.0,
"hr_rank": 536,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 42.0,
"k_rank": 120,
"k_per_9_value": 12.193548,
"k_per_9_rank": 19,
"whip_value": 1.0322,
"whip_rank": null,
"war_value": 1.94,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9766,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9766,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9931,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9598,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.017,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.1,
"ER": 0,
"H": 9,
"BB": 2,
"SO": 13,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.891891891891892,
"K9": 9.486486486486488,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "686973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 93.49793028207485,
"release_spin_rate": 2238.603422282622,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 93.49793028207485,
"release_spin_rate": 2238.603422282622,
"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": 93.4979,
"release_spin_rate": 2238.6034,
"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.2127,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.519,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.118,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5503,
"prior_weight": 0.4497
},
"role": "pitcher",
"player_id": "686973",
"report_date": "20260604_T",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 0.0,
"R": 1.0,
"H": 4.0,
"BB": 0.0,
"SO": 7.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.2,
"H": 0.8,
"BB": 0.0,
"SO": 1.4,
"HR": 0.0,
"BF": 4.4,
"Pitches": 19.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6316,
"ER_per_IP": 0.0,
"H_per_IP": 0.63158,
"BB_per_IP": 0.0,
"SO_per_IP": 1.10526,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.1,
"ER": 0.0,
"R": 1.0,
"H": 9.0,
"BB": 2.0,
"SO": 13.0,
"HR": 0.0,
"BF": 47.0,
"Pitches": 189.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.1,
"H": 0.9,
"BB": 0.2,
"SO": 1.3,
"HR": 0.0,
"BF": 4.7,
"Pitches": 18.9
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8919,
"ER_per_IP": 0.0,
"H_per_IP": 0.72973,
"BB_per_IP": 0.16216,
"SO_per_IP": 1.05405,
"HR_per_IP": 0.0
}
},
"season": {
"games": 28,
"totals": {
"IP": 31.0,
"ER": 1.0,
"R": 6.0,
"H": 23.0,
"BB": 9.0,
"SO": 42.0,
"HR": 0.0,
"BF": 120.0,
"Pitches": 513.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0357,
"R": 0.2143,
"H": 0.8214,
"BB": 0.3214,
"SO": 1.5,
"HR": 0.0,
"BF": 4.2857,
"Pitches": 18.3214
},
"rates": {
"ERA": 0.2903,
"WHIP": 1.0323,
"ER_per_IP": 0.03226,
"H_per_IP": 0.74194,
"BB_per_IP": 0.29032,
"SO_per_IP": 1.35484,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.286,
"predicted_H": 1.048,
"predicted_BB": 0.296,
"predicted_SO": 1.36,
"predicted_HR": 0.08,
"predicted_ERA": 1.9848,
"predicted_WHIP": 1.0366
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.54,
"form_weight": 0.46,
"form_reliability": 0.5503,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.118,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5503,
"prior_weight": 0.4497
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.286,
"final": 0.1316,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.048,
"final": 0.4821,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.296,
"final": 0.1362,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.36,
"final": 0.6256,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.08,
"final": 0.0368,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.9848,
"final": 1.9848,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0366,
"final": 1.0366,
"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 | Braydon Fisher |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1208 |
| ESPN Rank | 99 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1105 |
| Avg Velo | 87.7265 |
| Avg Spin | 2309.4354 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.4059 |
| Season WHIP | 0.9208 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 68,
"wins": 32,
"losses": 36,
"win_pct": 0.4706,
"runs_scored": 282.0,
"runs_allowed": 275.0,
"run_differential": 7.0,
"run_differential_per_game": 0.1029,
"avg_runs_scored": 4.1471,
"avg_runs_allowed": 4.0441,
"offense_index": 0.9292,
"defense_index": 1.1036,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.6,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0473
},
"opponent": {
"team": "ATL",
"games": 68,
"wins": 47,
"losses": 21,
"win_pct": 0.6912,
"runs_scored": 355.0,
"runs_allowed": 228.0,
"run_differential": 127.0,
"run_differential_per_game": 1.8676,
"avg_runs_scored": 5.2206,
"avg_runs_allowed": 3.3529,
"offense_index": 1.1697,
"defense_index": 1.3311,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.4277
},
"edges": {
"quality_edge": -0.475,
"offense_edge": -0.0708,
"opponent_offense_edge": 0.1697,
"defense_strength": 0.1036,
"opponent_defense_weakness": -0.3311,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9773,
"run_prevention": 1.0405,
"strikeout": 0.9722
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "680755",
"profile": {
"available": true,
"pitcher_id": "680755",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 118.0,
"k_percent": 27.0,
"bb_percent": 9.5,
"woba": 0.247,
"xwoba": 0.293,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 76.747,
"avg_hyper_speed": 93.4936,
"whiff_percent": 29.3,
"swing_percent": 45.1
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.4991,
"command_and_miss": 0.4493,
"regression_edge": -1.3143,
"xwoba_edge": 0.6286,
"barrel_edge": -0.6889,
"hard_hit_edge": -0.0143,
"whiff_edge": 0.5,
"bb_edge": -0.075,
"pitch_design_score": -0.1105
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680755",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 87.72645021700504,
"release_spin_rate": 2309.43540824531,
"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": 10,
"pitch_usage": 0.0,
"release_speed": 87.72645021700504,
"release_spin_rate": 2309.43540824531,
"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.7265,
"release_spin_rate": 2309.4354,
"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.1105,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7895,
"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.1208,
"sample_weight": 0.472,
"run_prevention_factor": 0.9897,
"strikeout_factor": 1.0216,
"walk_factor": 1.0028,
"homer_factor": 1.0174,
"woba_minus_xwoba": -0.046,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "680755",
"espn_id": 41318,
"player_name": "Braydon Fisher",
"team": "TOR",
"role": "pitcher",
"espn_rank": 99,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 99,
"gp_value": 31.0,
"gp_rank": 4,
"gs_value": 3.0,
"gs_rank": 172,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.4059,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 1.0,
"l_rank": 239,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 6.0,
"hld_rank": 57,
"ip_value": 33.2,
"ip_rank": 163,
"h_value": 19.0,
"h_rank": 291,
"er_value": 9.0,
"er_rank": 297,
"hr_value": 2.0,
"hr_rank": 269,
"bb_value": 12.0,
"bb_rank": 213,
"k_value": 34.0,
"k_rank": 156,
"k_per_9_value": 9.089108,
"k_per_9_rank": 25,
"whip_value": 0.9207,
"whip_rank": null,
"war_value": 0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0013,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0082,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0102,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.0,
"ER": 1,
"H": 3,
"BB": 3,
"SO": 14,
"HR": 1,
"ERA": 0.8181818181818182,
"WHIP": 0.5454545454545454,
"K9": 11.454545454545455,
"HR9": 0.8181818181818182,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "680755",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 87.72645021700504,
"release_spin_rate": 2309.43540824531,
"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": 10,
"pitch_usage": 0.0,
"release_speed": 87.72645021700504,
"release_spin_rate": 2309.43540824531,
"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.7265,
"release_spin_rate": 2309.4354,
"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.1105,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7895,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 6.645,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5706,
"prior_weight": 0.4294
},
"role": "pitcher",
"player_id": "680755",
"report_date": "20260604_T",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 56.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.2,
"Pitches": 11.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 3.0,
"SO": 14.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.3,
"BB": 0.3,
"SO": 1.4,
"HR": 0.1,
"BF": 3.8,
"Pitches": 15.0
},
"rates": {
"ERA": 0.8182,
"WHIP": 0.5455,
"ER_per_IP": 0.09091,
"H_per_IP": 0.27273,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.27273,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 31,
"totals": {
"IP": 33.2,
"ER": 9.0,
"R": 12.0,
"H": 19.0,
"BB": 12.0,
"SO": 34.0,
"HR": 2.0,
"BF": 126.0,
"Pitches": 508.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2903,
"R": 0.3871,
"H": 0.6129,
"BB": 0.3871,
"SO": 1.0968,
"HR": 0.0645,
"BF": 4.0645,
"Pitches": 16.3871
},
"rates": {
"ERA": 2.4059,
"WHIP": 0.9208,
"ER_per_IP": 0.26733,
"H_per_IP": 0.56436,
"BB_per_IP": 0.35644,
"SO_per_IP": 1.0099,
"HR_per_IP": 0.05941
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.256,
"predicted_H": 0.581,
"predicted_BB": 0.253,
"predicted_SO": 0.979,
"predicted_HR": 0.084,
"predicted_ERA": 2.3027,
"predicted_WHIP": 0.8334
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5314,
"form_weight": 0.4686,
"form_reliability": 0.5706,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.645,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5706,
"prior_weight": 0.4294
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.256,
"final": 0.12,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.581,
"final": 0.8037,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.253,
"final": 0.1186,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.979,
"final": 0.9902,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.084,
"final": 0.0394,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3027,
"final": 2.3027,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8334,
"final": 0.8334,
"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 | Tyler Rogers |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3523 |
| ESPN Rank | 111 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 80.7628 |
| Avg Spin | 2077.9070 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.3625 |
| Season WHIP | 1.1250 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 68,
"wins": 32,
"losses": 36,
"win_pct": 0.4706,
"runs_scored": 282.0,
"runs_allowed": 275.0,
"run_differential": 7.0,
"run_differential_per_game": 0.1029,
"avg_runs_scored": 4.1471,
"avg_runs_allowed": 4.0441,
"offense_index": 0.9292,
"defense_index": 1.1036,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.6,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0473
},
"opponent": {
"team": "ATL",
"games": 68,
"wins": 47,
"losses": 21,
"win_pct": 0.6912,
"runs_scored": 355.0,
"runs_allowed": 228.0,
"run_differential": 127.0,
"run_differential_per_game": 1.8676,
"avg_runs_scored": 5.2206,
"avg_runs_allowed": 3.3529,
"offense_index": 1.1697,
"defense_index": 1.3311,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.4277
},
"edges": {
"quality_edge": -0.475,
"offense_edge": -0.0708,
"opponent_offense_edge": 0.1697,
"defense_strength": 0.1036,
"opponent_defense_weakness": -0.3311,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9773,
"run_prevention": 1.0405,
"strikeout": 0.9722
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "643511",
"profile": {
"available": true,
"pitcher_id": "643511",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 98.0,
"k_percent": 14.7,
"bb_percent": 8.3,
"woba": 0.23,
"xwoba": 0.242,
"sweet_spot_percent": 23.8,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 21.4,
"avg_best_speed": 70.8795,
"avg_hyper_speed": 91.7379,
"whiff_percent": 14.8,
"swing_percent": 48.5
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.9666,
"command_and_miss": -1.0064,
"regression_edge": -0.3429,
"xwoba_edge": 2.0857,
"barrel_edge": 1.6,
"hard_hit_edge": 2.4286,
"whiff_edge": -1.5714,
"bb_edge": 0.225,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "643511",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 80.7627552797253,
"release_spin_rate": 2077.906974178411,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 80.7627552797253,
"release_spin_rate": 2077.906974178411,
"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": 80.7628,
"release_spin_rate": 2077.907,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.3523,
"sample_weight": 0.45,
"run_prevention_factor": 0.9701,
"strikeout_factor": 0.9517,
"walk_factor": 0.9919,
"homer_factor": 0.8705,
"woba_minus_xwoba": -0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643511",
"espn_id": 34026,
"player_name": "Tyler Rogers",
"team": "TOR",
"role": "pitcher",
"espn_rank": 111,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 111,
"gp_value": 28.0,
"gp_rank": 21,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 2.3625,
"era_rank": null,
"w_value": 1.0,
"w_rank": 248,
"l_value": 2.0,
"l_rank": 149,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 11.0,
"hld_rank": 5,
"ip_value": 26.2,
"ip_rank": 228,
"h_value": 21.0,
"h_rank": 265,
"er_value": 7.0,
"er_rank": 363,
"hr_value": 0.0,
"hr_rank": 536,
"bb_value": 9.0,
"bb_rank": 281,
"k_value": 16.0,
"k_rank": 357,
"k_per_9_value": 5.4,
"k_per_9_rank": 42,
"whip_value": 1.125,
"whip_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9865,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9865,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9964,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9417,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9783,
"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": 6,
"BB": 5,
"SO": 6,
"HR": 0,
"ERA": 3.0,
"WHIP": 1.2222222222222223,
"K9": 6.0,
"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-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "643511",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 80.7627552797253,
"release_spin_rate": 2077.906974178411,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 80.7627552797253,
"release_spin_rate": 2077.906974178411,
"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": 80.7628,
"release_spin_rate": 2077.907,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5128,
"prior_weight": 0.4872
},
"role": "pitcher",
"player_id": "643511",
"report_date": "20260604_T",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 2.0,
"SO": 1.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 61.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.4,
"SO": 0.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 12.2
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.3846,
"ER_per_IP": 0.69231,
"H_per_IP": 0.92308,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.23077,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 5.0,
"SO": 6.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 132.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.6,
"BB": 0.5,
"SO": 0.6,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.2
},
"rates": {
"ERA": 3.0,
"WHIP": 1.2222,
"ER_per_IP": 0.33333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.55556,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.0
}
},
"season": {
"games": 28,
"totals": {
"IP": 26.2,
"ER": 7.0,
"R": 8.0,
"H": 21.0,
"BB": 9.0,
"SO": 16.0,
"HR": 0.0,
"BF": 109.0,
"Pitches": 377.0
},
"per_game": {
"IP": 1.0,
"ER": 0.25,
"R": 0.2857,
"H": 0.75,
"BB": 0.3214,
"SO": 0.5714,
"HR": 0.0,
"BF": 3.8929,
"Pitches": 13.4643
},
"rates": {
"ERA": 2.3625,
"WHIP": 1.125,
"ER_per_IP": 0.2625,
"H_per_IP": 0.7875,
"BB_per_IP": 0.3375,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.482,
"predicted_H": 0.879,
"predicted_BB": 0.42,
"predicted_SO": 0.693,
"predicted_HR": 0.067,
"predicted_ERA": 4.3343,
"predicted_WHIP": 1.2987
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5558,
"form_weight": 0.4442,
"form_reliability": 0.5128,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5128,
"prior_weight": 0.4872
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.482,
"final": 0.2141,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.879,
"final": 1.5021,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.42,
"final": 0.1865,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.693,
"final": 0.3078,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0298,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3343,
"final": 4.3343,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2987,
"final": 1.2987,
"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.236 | 0.000 | 0.000 | Hitting_2B | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.510 | 4.000 | 8.000 | Hitting_AB | 4.079 | 4.000 | -0.079 | 0.000 |
| predicted_AVG | 0.211 | 0.000 | 0.250 | Hitting_AVG | 0.212 | 0.000 | -0.212 | 0.000 |
| predicted_BB | 0.400 | 0.000 | 1.000 | Hitting_BB | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_H | 0.950 | 0.000 | 2.000 | Hitting_H | 0.867 | 0.000 | -0.867 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_OBP | 0.283 | 0.000 | 0.333 | Hitting_OBP | 0.290 | 0.000 | -0.290 | 0.000 |
| predicted_R | 0.412 | 0.000 | 1.000 | Hitting_R | 0.412 | 0.000 | -0.412 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 1.000 | Hitting_RBI | 0.394 | 0.000 | -0.394 | 0.000 |
| predicted_SLG | 0.357 | 0.000 | 0.250 | Hitting_SLG | 0.373 | 0.000 | -0.373 | 0.000 |
| predicted_SO | 0.927 | 0.000 | 2.000 | Hitting_SO | 0.927 | 2.000 | -0.927 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 11 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 4.5100 -> 8.4507 (boost 3.9407, better) | predicted_OBP: 0.2830 -> 0.2772 (deboost -0.0058, 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 | 0 | 6 | 0 | 6 | - | predicted_H: 1.7427 -> 1.6406 (deboost -0.1021, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.5905 -> 1.0000 (boost 0.4095, better) | predicted_2B: 0.5238 -> 0.0000 (deboost -0.5238, worse) | AB rounded to 8 (raw=8.45), rates preserved: AVG=0.194 HR/AB=0.024 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.267) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7936 -> 1.0000 (boost 0.2064, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2562 -> 0.3330 (boost 0.0768, better) | predicted_SLG: 0.3296 -> 0.2500 (deboost -0.0796, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3296 (boost 0.0796, better) | predicted_OBP: 0.3330 -> 0.2562 (deboost -0.0768, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543807",
"player_name": "George Springer",
"position": "DH",
"team": "TOR",
"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.236,
"predicted_3B": 0.0,
"predicted_AB": 4.51,
"predicted_AVG": 0.211,
"predicted_BB": 0.4,
"predicted_H": 0.95,
"predicted_HR": 0.12,
"predicted_OBP": 0.283,
"predicted_R": 0.412,
"predicted_RBI": 0.38,
"predicted_SLG": 0.357,
"predicted_SO": 0.927
},
"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.5238,
"predicted_3B": 0.0009,
"predicted_AB": 8.4507,
"predicted_AVG": 0.2081,
"predicted_BB": 0.7172,
"predicted_H": 1.7427,
"predicted_HBP": 0.106,
"predicted_HR": 0.2209,
"predicted_OBP": 0.2772,
"predicted_R": 0.8809,
"predicted_RBI": 0.6555,
"predicted_SLG": 0.3533,
"predicted_SO": 1.8991
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.236,
"after": 0.5238,
"delta": 0.2878,
"percent_delta": 1.2195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.51,
"after": 8.4507,
"delta": 3.9407,
"percent_delta": 0.8738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2081,
"delta": -0.0029,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.7172,
"delta": 0.3172,
"percent_delta": 0.793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.7427,
"delta": 0.7927,
"percent_delta": 0.8344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2209,
"delta": 0.1009,
"percent_delta": 0.8408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2772,
"delta": -0.0058,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.8809,
"delta": 0.4689,
"percent_delta": 1.1381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.6555,
"delta": 0.2755,
"percent_delta": 0.725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3533,
"delta": -0.0037,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.927,
"after": 1.8991,
"delta": 0.9721,
"percent_delta": 1.0487,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.51,
"after": 8.4507,
"delta": 3.9407,
"percent_delta": 0.8738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2772,
"delta": -0.0058,
"percent_delta": -0.0205,
"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": 5,
"season": 41
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.5238,
"predicted_3B": 0.0009,
"predicted_AB": 8.4507,
"predicted_AVG": 0.1941,
"predicted_BB": 0.7049,
"predicted_H": 1.6406,
"predicted_HBP": 0.106,
"predicted_HR": 0.2065,
"predicted_OBP": 0.2562,
"predicted_R": 0.7936,
"predicted_RBI": 0.5905,
"predicted_SLG": 0.3296,
"predicted_SO": 1.9316
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5238,
"after": 0.5238,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.4507,
"after": 8.4507,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2081,
"after": 0.1941,
"delta": -0.014,
"percent_delta": -0.0673,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7172,
"after": 0.7049,
"delta": -0.0123,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7427,
"after": 1.6406,
"delta": -0.1021,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.106,
"after": 0.106,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2209,
"after": 0.2065,
"delta": -0.0144,
"percent_delta": -0.0652,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2772,
"after": 0.2562,
"delta": -0.021,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8809,
"after": 0.7936,
"delta": -0.0873,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6555,
"after": 0.5905,
"delta": -0.065,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3533,
"after": 0.3296,
"delta": -0.0237,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8991,
"after": 1.9316,
"delta": 0.0325,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.7427,
"after": 1.6406,
"delta": -0.1021,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.45), rates preserved: AVG=0.194 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5238,
"after": 0.0,
"delta": -0.5238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.4507,
"after": 8.0,
"delta": -0.4507,
"percent_delta": -0.0533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7049,
"after": 1.0,
"delta": 0.2951,
"percent_delta": 0.4186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6406,
"after": 2.0,
"delta": 0.3594,
"percent_delta": 0.2191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2065,
"after": 0.0,
"delta": -0.2065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5905,
"after": 1.0,
"delta": 0.4095,
"percent_delta": 0.6935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9316,
"after": 2.0,
"delta": 0.0684,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5905,
"after": 1.0,
"delta": 0.4095,
"percent_delta": 0.6935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.5238,
"after": 0.0,
"delta": -0.5238,
"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=30.0, weight=0.200, BvP AVG=0.267)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8,
"bvp": 0.2
},
"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": 8.0,
"predicted_BB": 1.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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 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.7936,
"after": 1.0,
"delta": 0.2064,
"percent_delta": 0.2601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7936,
"after": 1.0,
"delta": 0.2064,
"percent_delta": 0.2601,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1941,
"after": 0.25,
"delta": 0.0559,
"percent_delta": 0.288,
"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": 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.2562,
"after": 0.333,
"delta": 0.0768,
"percent_delta": 0.2998,
"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.3296,
"after": 0.25,
"delta": -0.0796,
"percent_delta": -0.2415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2562,
"after": 0.333,
"delta": 0.0768,
"percent_delta": 0.2998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3296,
"after": 0.25,
"delta": -0.0796,
"percent_delta": -0.2415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1941,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2562,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3296,
"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.25,
"after": 0.1941,
"delta": -0.0559,
"percent_delta": -0.2235,
"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.2562,
"delta": -0.0768,
"percent_delta": -0.2307,
"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.25,
"after": 0.3296,
"delta": 0.0796,
"percent_delta": 0.3185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3296,
"delta": 0.0796,
"percent_delta": 0.3185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2562,
"delta": -0.0768,
"percent_delta": -0.2307,
"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.236,
"after": 0.0,
"delta": -0.236,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.51,
"after": 4.0,
"delta": -0.51,
"percent_delta": -0.1131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.1941,
"delta": -0.0169,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2562,
"delta": -0.0268,
"percent_delta": -0.0947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3296,
"delta": -0.0274,
"percent_delta": -0.0768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.927,
"after": 0.0,
"delta": -0.927,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 0,
"deboosted_metrics": 11,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.236 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.510 | - |
| predicted_AVG | 0.211 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.357 | - |
| predicted_SO | 0.927 | - |
Final model 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.524 | 0.288 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.451 | 3.941 |
| predicted_AVG | 0.208 | -0.003 |
| predicted_BB | 0.717 | 0.317 |
| predicted_H | 1.743 | 0.793 |
| predicted_HBP | 0.106 | - |
| predicted_HR | 0.221 | 0.101 |
| predicted_OBP | 0.277 | -0.006 |
| predicted_R | 0.881 | 0.469 |
| predicted_RBI | 0.655 | 0.275 |
| predicted_SLG | 0.353 | -0.004 |
| predicted_SO | 1.899 | 0.972 |
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.524 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.451 | 0.000 |
| predicted_AVG | 0.194 | -0.014 |
| predicted_BB | 0.705 | -0.012 |
| predicted_H | 1.641 | -0.102 |
| predicted_HBP | 0.106 | 0.000 |
| predicted_HR | 0.206 | -0.014 |
| predicted_OBP | 0.256 | -0.021 |
| predicted_R | 0.794 | -0.087 |
| predicted_RBI | 0.591 | -0.065 |
| predicted_SLG | 0.330 | -0.024 |
| predicted_SO | 1.932 | 0.032 |
AB rounded to 8 (raw=8.45), rates preserved: AVG=0.194 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.267)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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 | 2.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.524 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.451 |
| predicted_AVG | 0.250 | 0.056 |
| predicted_BB | 1.000 | 0.295 |
| predicted_H | 2.000 | 0.359 |
| predicted_HR | 0.000 | -0.206 |
| predicted_OBP | 0.333 | 0.077 |
| predicted_R | 1.000 | 0.206 |
| predicted_RBI | 1.000 | 0.409 |
| predicted_SLG | 0.250 | -0.080 |
| predicted_SO | 2.000 | 0.068 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -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 | 4 | - | 23.000 | 4.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 6.000 | 0.1739 | 0.2083 | 0.2609 | 0.1739 | 0.0000 | 0.0000 | 0.0435 | 0.2609 |
| last_10 | 0.20 | 5 | - | 42.000 | 7.000 | 5.000 | 0.000 | 0.000 | 0.000 | 6.000 | 1.000 | 9.000 | 0.1667 | 0.1860 | 0.2857 | 0.1667 | 0.0000 | 0.0000 | 0.0238 | 0.2143 |
| season | 0.60 | 41 | - | 673.000 | 143.000 | 39.000 | 0.000 | 23.000 | 65.000 | 68.000 | 66.000 | 153.000 | 0.2125 | 0.2895 | 0.3730 | 0.2125 | 0.0342 | 0.0966 | 0.0981 | 0.2273 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8920 |
| predicted_3B | 0.0020 |
| predicted_AB | 13.4930 |
| predicted_AVG | 0.2043 |
| predicted_BB | 1.1230 |
| predicted_H | 2.7570 |
| predicted_HBP | 0.1060 |
| predicted_HR | 0.3500 |
| predicted_OBP | 0.2698 |
| predicted_R | 1.4810 |
| predicted_RBI | 1.0080 |
| predicted_SLG | 0.3486 |
| predicted_SO | 3.1430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2360 | 0.8920 | 0.5238 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.5100 | 13.4930 | 8.4507 | model_form_blend |
| predicted_AVG | 0.2110 | 0.2043 | 0.2081 | model_form_blend |
| predicted_BB | 0.4000 | 1.1230 | 0.7172 | model_form_blend |
| predicted_H | 0.9500 | 2.7570 | 1.7427 | model_form_blend |
| predicted_HBP | - | 0.1060 | 0.1060 | form_only |
| predicted_HR | 0.1200 | 0.3500 | 0.2209 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2698 | 0.2772 | model_form_blend |
| predicted_R | 0.4120 | 1.4810 | 0.8809 | model_form_blend |
| predicted_RBI | 0.3800 | 1.0080 | 0.6555 | model_form_blend |
| predicted_SLG | 0.3570 | 0.3486 | 0.3533 | model_form_blend |
| predicted_SO | 0.9270 | 3.1430 | 1.8991 | 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 | 165 |
| Season rows before report date | 165 |
| Report year | 2026 |
| Profile rows used | 165 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.212 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260602_TOR@ATL |
| game_type | full |
| mlbID | 543807 |
| playerID | 543807 |
| playerName | George Springer |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-02 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.285 |
| sl_xwoba | 0.301 |
| sl_xba | 0.225 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 37.9 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 51.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.114 | 0.000 | 0.000 | Hitting_2B | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.880 | 4.000 | 7.000 | Hitting_AB | 3.716 | 4.000 | 0.284 | 0.000 |
| predicted_AVG | 0.231 | 0.000 | 0.286 | Hitting_AVG | 0.221 | 0.250 | -0.221 | -0.250 |
| predicted_BB | 0.447 | 0.000 | 1.000 | Hitting_BB | 0.445 | 0.000 | -0.445 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.900 | 0.000 | 2.000 | Hitting_H | 0.821 | 1.000 | -0.821 | -1.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_OBP | 0.328 | 0.000 | 0.375 | Hitting_OBP | 0.311 | 0.250 | -0.311 | -0.250 |
| predicted_R | 0.509 | 0.000 | 1.000 | Hitting_R | 0.507 | 0.000 | -0.507 | 0.000 |
| predicted_RBI | 0.680 | 0.000 | 1.000 | Hitting_RBI | 0.585 | 0.000 | -0.585 | 0.000 |
| predicted_SLG | 0.461 | 0.000 | 0.286 | Hitting_SLG | 0.428 | 0.250 | -0.428 | -0.250 |
| predicted_SO | 1.329 | 1.000 | 3.000 | Hitting_SO | 1.323 | 2.000 | -0.323 | -1.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: 3.8800 -> 4.0000 (boost 0.1200, better) |
| Biggest Deboost | predicted_H: 0.9000 -> 0.0000 (deboost -0.9000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 9 | 0 | 8 | 1 | predicted_AB: 3.8800 -> 6.9311 (boost 3.0511, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_RBI: 1.3604 -> 1.2256 (deboost -0.1348, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_H: 1.5297 -> 2.0000 (boost 0.4703, better) | predicted_HR: 0.4460 -> 0.0000 (deboost -0.4460, worse) | AB rounded to 7 (raw=6.93), rates preserved: AVG=0.221 HR/AB=0.064 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8755 -> 1.0000 (boost 0.1245, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3058 -> 0.3750 (boost 0.0692, better) | predicted_SLG: 0.4488 -> 0.2860 (deboost -0.1628, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4488 (boost 0.1628, better) | predicted_OBP: 0.3750 -> 0.3058 (deboost -0.0692, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"position": "3B",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.114,
"predicted_3B": 0.0,
"predicted_AB": 3.88,
"predicted_AVG": 0.231,
"predicted_BB": 0.447,
"predicted_H": 0.9,
"predicted_HR": 0.22,
"predicted_OBP": 0.328,
"predicted_R": 0.509,
"predicted_RBI": 0.68,
"predicted_SLG": 0.461,
"predicted_SO": 1.329
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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.2424,
"predicted_3B": 0.0004,
"predicted_AB": 6.9311,
"predicted_AVG": 0.233,
"predicted_BB": 0.8644,
"predicted_H": 1.6249,
"predicted_HBP": 0.257,
"predicted_HR": 0.4772,
"predicted_OBP": 0.3311,
"predicted_R": 0.9718,
"predicted_RBI": 1.3604,
"predicted_SLG": 0.4765,
"predicted_SO": 2.4907
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.2424,
"delta": 0.1284,
"percent_delta": 1.1263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.88,
"after": 6.9311,
"delta": 3.0511,
"percent_delta": 0.7864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.233,
"delta": 0.002,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.447,
"after": 0.8644,
"delta": 0.4174,
"percent_delta": 0.9338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 1.6249,
"delta": 0.7249,
"percent_delta": 0.8054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4772,
"delta": 0.2572,
"percent_delta": 1.1691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3311,
"delta": 0.0031,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.509,
"after": 0.9718,
"delta": 0.4628,
"percent_delta": 0.9092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 1.3604,
"delta": 0.6804,
"percent_delta": 1.0006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4765,
"delta": 0.0155,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.329,
"after": 2.4907,
"delta": 1.1617,
"percent_delta": 0.8741,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.88,
"after": 6.9311,
"delta": 3.0511,
"percent_delta": 0.7864,
"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": 59
}
},
{
"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.2424,
"predicted_3B": 0.0004,
"predicted_AB": 6.9311,
"predicted_AVG": 0.2207,
"predicted_BB": 0.8496,
"predicted_H": 1.5297,
"predicted_HBP": 0.257,
"predicted_HR": 0.446,
"predicted_OBP": 0.3058,
"predicted_R": 0.8755,
"predicted_RBI": 1.2256,
"predicted_SLG": 0.4488,
"predicted_SO": 2.5333
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2424,
"after": 0.2424,
"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": 6.9311,
"after": 6.9311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2207,
"delta": -0.0123,
"percent_delta": -0.0528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8644,
"after": 0.8496,
"delta": -0.0148,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6249,
"after": 1.5297,
"delta": -0.0952,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.257,
"after": 0.257,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4772,
"after": 0.446,
"delta": -0.0312,
"percent_delta": -0.0654,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3311,
"after": 0.3058,
"delta": -0.0253,
"percent_delta": -0.0764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9718,
"after": 0.8755,
"delta": -0.0963,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3604,
"after": 1.2256,
"delta": -0.1348,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4765,
"after": 0.4488,
"delta": -0.0277,
"percent_delta": -0.0581,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4907,
"after": 2.5333,
"delta": 0.0426,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.3604,
"after": 1.2256,
"delta": -0.1348,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.93), rates preserved: AVG=0.221 HR/AB=0.064",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2424,
"after": 0.0,
"delta": -0.2424,
"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": 6.9311,
"after": 7.0,
"delta": 0.0689,
"percent_delta": 0.0099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8496,
"after": 1.0,
"delta": 0.1504,
"percent_delta": 0.177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5297,
"after": 2.0,
"delta": 0.4703,
"percent_delta": 0.3074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.257,
"after": 0.0,
"delta": -0.257,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2256,
"after": 1.0,
"delta": -0.2256,
"percent_delta": -0.1841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5333,
"after": 3.0,
"delta": 0.4667,
"percent_delta": 0.1842,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.5297,
"after": 2.0,
"delta": 0.4703,
"percent_delta": 0.3074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"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": 7.0,
"predicted_BB": 1.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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 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.8755,
"after": 1.0,
"delta": 0.1245,
"percent_delta": 0.1422,
"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": 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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8755,
"after": 1.0,
"delta": 0.1245,
"percent_delta": 0.1422,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2207,
"after": 0.286,
"delta": 0.0653,
"percent_delta": 0.2959,
"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": 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.3058,
"after": 0.375,
"delta": 0.0692,
"percent_delta": 0.2263,
"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.4488,
"after": 0.286,
"delta": -0.1628,
"percent_delta": -0.3627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3058,
"after": 0.375,
"delta": 0.0692,
"percent_delta": 0.2263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4488,
"after": 0.286,
"delta": -0.1628,
"percent_delta": -0.3627,
"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": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2207,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3058,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4488,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2207,
"delta": -0.0653,
"percent_delta": -0.2283,
"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.375,
"after": 0.3058,
"delta": -0.0692,
"percent_delta": -0.1845,
"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.286,
"after": 0.4488,
"delta": 0.1628,
"percent_delta": 0.5693,
"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.286,
"after": 0.4488,
"delta": 0.1628,
"percent_delta": 0.5693,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3058,
"delta": -0.0692,
"percent_delta": -0.1845,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 4.0,
"delta": 0.12,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2207,
"delta": -0.0103,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.447,
"after": 0.0,
"delta": -0.447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3058,
"delta": -0.0222,
"percent_delta": -0.0677,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.509,
"after": 0.0,
"delta": -0.509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4488,
"delta": -0.0122,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.329,
"after": 1.0,
"delta": -0.329,
"percent_delta": -0.2476,
"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": 3.88,
"after": 4.0,
"delta": 0.12,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.447 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.509 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.461 | - |
| predicted_SO | 1.329 | - |
Final model 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.242 | 0.128 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.931 | 3.051 |
| predicted_AVG | 0.233 | 0.002 |
| predicted_BB | 0.864 | 0.417 |
| predicted_H | 1.625 | 0.725 |
| predicted_HBP | 0.257 | - |
| predicted_HR | 0.477 | 0.257 |
| predicted_OBP | 0.331 | 0.003 |
| predicted_R | 0.972 | 0.463 |
| predicted_RBI | 1.360 | 0.680 |
| predicted_SLG | 0.476 | 0.015 |
| predicted_SO | 2.491 | 1.162 |
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.242 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.931 | 0.000 |
| predicted_AVG | 0.221 | -0.012 |
| predicted_BB | 0.850 | -0.015 |
| predicted_H | 1.530 | -0.095 |
| predicted_HBP | 0.257 | 0.000 |
| predicted_HR | 0.446 | -0.031 |
| predicted_OBP | 0.306 | -0.025 |
| predicted_R | 0.875 | -0.096 |
| predicted_RBI | 1.226 | -0.135 |
| predicted_SLG | 0.449 | -0.028 |
| predicted_SO | 2.533 | 0.043 |
AB rounded to 7 (raw=6.93), rates preserved: AVG=0.221 HR/AB=0.064
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 3.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 | 7.000 | 0.000 |
| BB | 1.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 | 3.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.242 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | 0.069 |
| predicted_AVG | 0.286 | 0.065 |
| predicted_BB | 1.000 | 0.150 |
| predicted_H | 2.000 | 0.470 |
| predicted_HR | 0.000 | -0.446 |
| predicted_OBP | 0.375 | 0.069 |
| predicted_R | 1.000 | 0.125 |
| predicted_RBI | 1.000 | -0.226 |
| predicted_SLG | 0.286 | -0.163 |
| predicted_SO | 3.000 | 0.467 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -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 | - | 17.000 | 5.000 | 1.000 | 0.000 | 2.000 | 6.000 | 3.000 | 3.000 | 7.000 | 0.2941 | 0.4000 | 0.7059 | 0.2941 | 0.1177 | 0.3529 | 0.1765 | 0.4118 |
| last_10 | 0.20 | 7 | - | 31.000 | 6.000 | 1.000 | 0.000 | 3.000 | 7.000 | 4.000 | 3.000 | 12.000 | 0.1935 | 0.3590 | 0.5161 | 0.1935 | 0.0968 | 0.2258 | 0.0968 | 0.3871 |
| season | 0.60 | 59 | - | 851.000 | 188.000 | 26.000 | 0.000 | 50.000 | 134.000 | 116.000 | 102.000 | 303.000 | 0.2209 | 0.3113 | 0.4277 | 0.2209 | 0.0587 | 0.1575 | 0.1199 | 0.3560 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4050 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.7950 |
| predicted_AVG | 0.2355 |
| predicted_BB | 1.3930 |
| predicted_H | 2.5430 |
| predicted_HBP | 0.2570 |
| predicted_HR | 0.8030 |
| predicted_OBP | 0.3351 |
| predicted_R | 1.5580 |
| predicted_RBI | 2.2220 |
| predicted_SLG | 0.4962 |
| predicted_SO | 3.9620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.4050 | 0.2424 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8800 | 10.7950 | 6.9311 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2355 | 0.2330 | model_form_blend |
| predicted_BB | 0.4470 | 1.3930 | 0.8644 | model_form_blend |
| predicted_H | 0.9000 | 2.5430 | 1.6249 | model_form_blend |
| predicted_HBP | - | 0.2570 | 0.2570 | form_only |
| predicted_HR | 0.2200 | 0.8030 | 0.4772 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3351 | 0.3311 | model_form_blend |
| predicted_R | 0.5090 | 1.5580 | 0.9718 | model_form_blend |
| predicted_RBI | 0.6800 | 2.2220 | 1.3604 | model_form_blend |
| predicted_SLG | 0.4610 | 0.4962 | 0.4765 | model_form_blend |
| predicted_SO | 1.3290 | 3.9620 | 2.4907 | 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 | 229 |
| Season rows before report date | 229 |
| Report year | 2026 |
| Profile rows used | 228 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.221 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 672960 |
| playerID | 672960 |
| playerName | Kazuma Okamoto |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-03 |
| sl_k_percent | 32.1 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.328 |
| sl_xwoba | 0.33 |
| sl_xba | 0.22 |
| sl_xslg | 0.443 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 15.1 |
| sl_hard_hit_percent | 53.2 |
| sl_exit_velocity_avg | 92.8 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 33.5 |
| sl_swing_percent | 44.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.336 | 0.000 | 1.000 | Hitting_2B | 0.336 | 0.000 | -0.336 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.380 | 4.000 | 7.000 | Hitting_AB | 4.004 | 4.000 | -0.004 | 0.000 |
| predicted_AVG | 0.256 | 0.000 | 0.286 | Hitting_AVG | 0.304 | 0.250 | -0.304 | -0.250 |
| predicted_BB | 0.137 | 0.000 | 0.000 | Hitting_BB | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.120 | 0.000 | 2.000 | Hitting_H | 1.217 | 1.000 | -1.217 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_OBP | 0.328 | 0.000 | 0.286 | Hitting_OBP | 0.326 | 0.250 | -0.326 | -0.250 |
| predicted_R | 0.425 | 0.000 | 1.000 | Hitting_R | 0.425 | 0.000 | -0.425 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.398 | 0.000 | -0.398 | 0.000 |
| predicted_SLG | 0.422 | 0.000 | 0.429 | Hitting_SLG | 0.461 | 0.250 | -0.461 | -0.250 |
| predicted_SO | 0.336 | 0.000 | 1.000 | Hitting_SO | 0.336 | 1.000 | -0.336 | -1.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_AVG: 0.2560 -> 0.2836 (boost 0.0276, better) |
| Biggest Deboost | predicted_H: 1.1200 -> 0.0000 (deboost -1.1200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.3800 -> 7.4288 (boost 3.0488, 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 | 5 | 0 | 5 | 0 | 5 | - | predicted_H: 2.2383 -> 2.1071 (deboost -0.1312, 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_2B: 0.5829 -> 1.0000 (boost 0.4171, better) | predicted_AB: 7.4288 -> 7.0000 (deboost -0.4288, worse) | AB rounded to 7 (raw=7.43), rates preserved: AVG=0.284 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7250 -> 1.0000 (boost 0.2750, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4154 -> 0.4290 (boost 0.0136, better) | predicted_OBP: 0.3022 -> 0.2860 (deboost -0.0162, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2860 -> 0.3022 (boost 0.0162, better) | predicted_SLG: 0.4290 -> 0.4154 (deboost -0.0136, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676391",
"player_name": "Ernie Clement",
"position": "SS",
"team": "TOR",
"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.336,
"predicted_3B": 0.0,
"predicted_AB": 4.38,
"predicted_AVG": 0.256,
"predicted_BB": 0.137,
"predicted_H": 1.12,
"predicted_HR": 0.1,
"predicted_OBP": 0.328,
"predicted_R": 0.425,
"predicted_RBI": 0.44,
"predicted_SLG": 0.422,
"predicted_SO": 0.336
},
"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.5829,
"predicted_3B": 0.0004,
"predicted_AB": 7.4288,
"predicted_AVG": 0.2859,
"predicted_BB": 0.2014,
"predicted_H": 2.2383,
"predicted_HBP": 0.003,
"predicted_HR": 0.141,
"predicted_OBP": 0.3333,
"predicted_R": 0.8047,
"predicted_RBI": 0.7257,
"predicted_SLG": 0.4364,
"predicted_SO": 0.6755
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.336,
"after": 0.5829,
"delta": 0.2469,
"percent_delta": 0.7348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.38,
"after": 7.4288,
"delta": 3.0488,
"percent_delta": 0.6961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2859,
"delta": 0.0299,
"percent_delta": 0.1168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.137,
"after": 0.2014,
"delta": 0.0644,
"percent_delta": 0.4701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 2.2383,
"delta": 1.1183,
"percent_delta": 0.9985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.141,
"delta": 0.041,
"percent_delta": 0.41,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3333,
"delta": 0.0053,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.425,
"after": 0.8047,
"delta": 0.3797,
"percent_delta": 0.8934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.7257,
"delta": 0.2857,
"percent_delta": 0.6493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4364,
"delta": 0.0144,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.336,
"after": 0.6755,
"delta": 0.3395,
"percent_delta": 1.0104,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.38,
"after": 7.4288,
"delta": 3.0488,
"percent_delta": 0.6961,
"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": 61
}
},
{
"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.5829,
"predicted_3B": 0.0004,
"predicted_AB": 7.4288,
"predicted_AVG": 0.2836,
"predicted_BB": 0.198,
"predicted_H": 2.1071,
"predicted_HBP": 0.003,
"predicted_HR": 0.1318,
"predicted_OBP": 0.3022,
"predicted_R": 0.725,
"predicted_RBI": 0.6538,
"predicted_SLG": 0.4154,
"predicted_SO": 0.6871
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5829,
"after": 0.5829,
"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": 7.4288,
"after": 7.4288,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2859,
"after": 0.2836,
"delta": -0.0023,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2014,
"after": 0.198,
"delta": -0.0034,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2383,
"after": 2.1071,
"delta": -0.1312,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.141,
"after": 0.1318,
"delta": -0.0092,
"percent_delta": -0.0652,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3333,
"after": 0.3022,
"delta": -0.0311,
"percent_delta": -0.0933,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8047,
"after": 0.725,
"delta": -0.0797,
"percent_delta": -0.099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7257,
"after": 0.6538,
"delta": -0.0719,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4364,
"after": 0.4154,
"delta": -0.021,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6755,
"after": 0.6871,
"delta": 0.0116,
"percent_delta": 0.0172,
"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": 2.2383,
"after": 2.1071,
"delta": -0.1312,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.43), rates preserved: AVG=0.284 HR/AB=0.018",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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.5829,
"after": 1.0,
"delta": 0.4171,
"percent_delta": 0.7156,
"direction": "boost",
"projection_effect": "better",
"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": 7.4288,
"after": 7.0,
"delta": -0.4288,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1071,
"after": 2.0,
"delta": -0.1071,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1318,
"after": 0.0,
"delta": -0.1318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6538,
"after": 1.0,
"delta": 0.3462,
"percent_delta": 0.5295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6871,
"after": 1.0,
"delta": 0.3129,
"percent_delta": 0.4554,
"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_2B",
"before": 0.5829,
"after": 1.0,
"delta": 0.4171,
"percent_delta": 0.7156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.4288,
"after": 7.0,
"delta": -0.4288,
"percent_delta": -0.0577,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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": 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": 7.0,
"after": 7.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.725,
"after": 1.0,
"delta": 0.275,
"percent_delta": 0.3793,
"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.725,
"after": 1.0,
"delta": 0.275,
"percent_delta": 0.3793,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.429,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2836,
"after": 0.286,
"delta": 0.0024,
"percent_delta": 0.0085,
"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_OBP",
"before": 0.3022,
"after": 0.286,
"delta": -0.0162,
"percent_delta": -0.0536,
"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.4154,
"after": 0.429,
"delta": 0.0136,
"percent_delta": 0.0327,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4154,
"after": 0.429,
"delta": 0.0136,
"percent_delta": 0.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3022,
"after": 0.286,
"delta": -0.0162,
"percent_delta": -0.0536,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 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": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2836,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3022,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4154,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.286,
"after": 0.2836,
"delta": -0.0024,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3022,
"delta": 0.0162,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4154,
"delta": -0.0136,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3022,
"delta": 0.0162,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4154,
"delta": -0.0136,
"percent_delta": -0.0316,
"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.336,
"after": 0.0,
"delta": -0.336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 4.0,
"delta": -0.38,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2836,
"delta": 0.0276,
"percent_delta": 0.1078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.137,
"after": 0.0,
"delta": -0.137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 0.0,
"delta": -1.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3022,
"delta": -0.0258,
"percent_delta": -0.0787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.425,
"after": 0.0,
"delta": -0.425,
"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.422,
"after": 0.4154,
"delta": -0.0066,
"percent_delta": -0.0156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.336,
"after": 0.0,
"delta": -0.336,
"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_AVG",
"before": 0.256,
"after": 0.2836,
"delta": 0.0276,
"percent_delta": 0.1078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.12,
"after": 0.0,
"delta": -1.12,
"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.336 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.380 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.137 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.425 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.422 | - |
| predicted_SO | 0.336 | - |
Final model 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.583 | 0.247 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.429 | 3.049 |
| predicted_AVG | 0.286 | 0.030 |
| predicted_BB | 0.201 | 0.064 |
| predicted_H | 2.238 | 1.118 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.141 | 0.041 |
| predicted_OBP | 0.333 | 0.005 |
| predicted_R | 0.805 | 0.380 |
| predicted_RBI | 0.726 | 0.286 |
| predicted_SLG | 0.436 | 0.014 |
| predicted_SO | 0.675 | 0.339 |
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.583 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.429 | 0.000 |
| predicted_AVG | 0.284 | -0.002 |
| predicted_BB | 0.198 | -0.003 |
| predicted_H | 2.107 | -0.131 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.132 | -0.009 |
| predicted_OBP | 0.302 | -0.031 |
| predicted_R | 0.725 | -0.080 |
| predicted_RBI | 0.654 | -0.072 |
| predicted_SLG | 0.415 | -0.021 |
| predicted_SO | 0.687 | 0.012 |
AB rounded to 7 (raw=7.43), rates preserved: AVG=0.284 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.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 | 1.000 | 0.417 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.429 |
| predicted_AVG | 0.286 | 0.002 |
| predicted_BB | 0.000 | -0.198 |
| predicted_H | 2.000 | -0.107 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.286 | -0.016 |
| predicted_R | 1.000 | 0.275 |
| predicted_RBI | 1.000 | 0.346 |
| predicted_SLG | 0.429 | 0.014 |
| predicted_SO | 1.000 | 0.313 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 8.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.000 | 2.000 | 0.4000 | 0.4000 | 0.4500 | 0.4000 | 0.0000 | 0.1000 | 0.0000 | 0.1000 |
| last_10 | 0.20 | 7 | - | 39.000 | 12.000 | 5.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.000 | 6.000 | 0.3077 | 0.3077 | 0.4359 | 0.3077 | 0.0000 | 0.0513 | 0.0000 | 0.1538 |
| season | 0.60 | 61 | - | 905.000 | 275.000 | 76.000 | 0.000 | 22.000 | 90.000 | 96.000 | 31.000 | 76.000 | 0.3039 | 0.3255 | 0.4608 | 0.3039 | 0.0243 | 0.0994 | 0.0343 | 0.0840 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8960 |
| predicted_3B | 0.0010 |
| predicted_AB | 11.2940 |
| predicted_AVG | 0.3237 |
| predicted_BB | 0.2830 |
| predicted_H | 3.6560 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1930 |
| predicted_OBP | 0.3400 |
| predicted_R | 1.2860 |
| predicted_RBI | 1.0880 |
| predicted_SLG | 0.4546 |
| predicted_SO | 1.1060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3360 | 0.8960 | 0.5829 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3800 | 11.2940 | 7.4288 | model_form_blend |
| predicted_AVG | 0.2560 | 0.3237 | 0.2859 | model_form_blend |
| predicted_BB | 0.1370 | 0.2830 | 0.2014 | model_form_blend |
| predicted_H | 1.1200 | 3.6560 | 2.2383 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1000 | 0.1930 | 0.1410 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3400 | 0.3333 | model_form_blend |
| predicted_R | 0.4250 | 1.2860 | 0.8047 | model_form_blend |
| predicted_RBI | 0.4400 | 1.0880 | 0.7257 | model_form_blend |
| predicted_SLG | 0.4220 | 0.4546 | 0.4364 | model_form_blend |
| predicted_SO | 0.3360 | 1.1060 | 0.6755 | 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 | 226 |
| Season rows before report date | 226 |
| Report year | 2026 |
| Profile rows used | 226 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.304 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 676391 |
| playerID | 676391 |
| playerName | Ernie Clement |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-03 |
| sl_k_percent | 8.6 |
| sl_bb_percent | 3.3 |
| sl_woba | 0.338 |
| sl_xwoba | 0.28 |
| sl_xba | 0.262 |
| sl_xslg | 0.357 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 25.6 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 15.6 |
| sl_whiff_percent | 14.6 |
| sl_swing_percent | 57.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.152 | 1.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | 0.850 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.980 | 3.000 | 7.000 | Hitting_AB | 3.627 | 3.000 | -0.627 | 0.000 |
| predicted_AVG | 0.261 | 0.333 | 0.286 | Hitting_AVG | 0.293 | 0.000 | 0.040 | 0.333 |
| predicted_BB | 0.565 | 1.000 | 1.000 | Hitting_BB | 0.584 | 1.000 | 0.416 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 1.040 | 1.000 | 2.000 | Hitting_H | 1.064 | 0.000 | -0.064 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_OBP | 0.359 | 0.500 | 0.375 | Hitting_OBP | 0.397 | 0.250 | 0.103 | 0.250 |
| predicted_R | 0.617 | 1.000 | 1.000 | Hitting_R | 0.622 | 0.000 | 0.378 | 1.000 |
| predicted_RBI | 0.420 | 1.000 | 1.000 | Hitting_RBI | 0.425 | 0.000 | 0.575 | 1.000 |
| predicted_SLG | 0.406 | 0.667 | 0.286 | Hitting_SLG | 0.378 | 0.000 | 0.289 | 0.667 |
| predicted_SO | 0.430 | 1.000 | 1.000 | Hitting_SO | 0.425 | 0.000 | 0.575 | 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_2B: 0.1520 -> 1.0000 (boost 0.8480, better) |
| Biggest Deboost | predicted_AB: 3.9800 -> 3.0000 (deboost -0.9800, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.9800 -> 7.0678 (boost 3.0878, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 2.0205 -> 1.9021 (deboost -0.1184, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.6795 -> 1.0000 (boost 0.3205, better) | predicted_2B: 0.4129 -> 0.0000 (deboost -0.4129, worse) | AB rounded to 7 (raw=7.07), rates preserved: AVG=0.269 HR/AB=0.013 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182) |
| 6 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3538 -> 0.3750 (boost 0.0212, better) | predicted_SLG: 0.3653 -> 0.2860 (deboost -0.0793, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3653 (boost 0.0793, better) | predicted_OBP: 0.3750 -> 0.3538 (deboost -0.0212, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"position": "1B",
"team": "TOR",
"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.152,
"predicted_3B": 0.0,
"predicted_AB": 3.98,
"predicted_AVG": 0.261,
"predicted_BB": 0.565,
"predicted_H": 1.04,
"predicted_HR": 0.08,
"predicted_OBP": 0.359,
"predicted_R": 0.617,
"predicted_RBI": 0.42,
"predicted_SLG": 0.406,
"predicted_SO": 0.43
},
"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.4129,
"predicted_3B": 0.0004,
"predicted_AB": 7.0678,
"predicted_AVG": 0.277,
"predicted_BB": 0.942,
"predicted_H": 2.0205,
"predicted_HBP": 0.123,
"predicted_HR": 0.095,
"predicted_OBP": 0.3684,
"predicted_R": 1.0898,
"predicted_RBI": 0.7542,
"predicted_SLG": 0.4017,
"predicted_SO": 0.7218
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.4129,
"delta": 0.2609,
"percent_delta": 1.7164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.98,
"after": 7.0678,
"delta": 3.0878,
"percent_delta": 0.7758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.277,
"delta": 0.016,
"percent_delta": 0.0613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.565,
"after": 0.942,
"delta": 0.377,
"percent_delta": 0.6673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.0205,
"delta": 0.9805,
"percent_delta": 0.9428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.095,
"delta": 0.015,
"percent_delta": 0.1875,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3684,
"delta": 0.0094,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.617,
"after": 1.0898,
"delta": 0.4728,
"percent_delta": 0.7663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.7542,
"delta": 0.3342,
"percent_delta": 0.7957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4017,
"delta": -0.0043,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.43,
"after": 0.7218,
"delta": 0.2918,
"percent_delta": 0.6786,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.98,
"after": 7.0678,
"delta": 3.0878,
"percent_delta": 0.7758,
"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": 59
}
},
{
"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.4129,
"predicted_3B": 0.0004,
"predicted_AB": 7.0678,
"predicted_AVG": 0.2691,
"predicted_BB": 0.9259,
"predicted_H": 1.9021,
"predicted_HBP": 0.123,
"predicted_HR": 0.0888,
"predicted_OBP": 0.3538,
"predicted_R": 0.9818,
"predicted_RBI": 0.6795,
"predicted_SLG": 0.3653,
"predicted_SO": 0.7341
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4129,
"after": 0.4129,
"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": 7.0678,
"after": 7.0678,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2691,
"delta": -0.0079,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.942,
"after": 0.9259,
"delta": -0.0161,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0205,
"after": 1.9021,
"delta": -0.1184,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.123,
"after": 0.123,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.095,
"after": 0.0888,
"delta": -0.0062,
"percent_delta": -0.0653,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3684,
"after": 0.3538,
"delta": -0.0146,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0898,
"after": 0.9818,
"delta": -0.108,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7542,
"after": 0.6795,
"delta": -0.0747,
"percent_delta": -0.099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4017,
"after": 0.3653,
"delta": -0.0364,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7218,
"after": 0.7341,
"delta": 0.0123,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0205,
"after": 1.9021,
"delta": -0.1184,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.07), rates preserved: AVG=0.269 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.4129,
"after": 0.0,
"delta": -0.4129,
"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": 7.0678,
"after": 7.0,
"delta": -0.0678,
"percent_delta": -0.0096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9259,
"after": 1.0,
"delta": 0.0741,
"percent_delta": 0.08,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9021,
"after": 2.0,
"delta": 0.0979,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.6795,
"after": 1.0,
"delta": 0.3205,
"percent_delta": 0.4717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7341,
"after": 1.0,
"delta": 0.2659,
"percent_delta": 0.3622,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6795,
"after": 1.0,
"delta": 0.3205,
"percent_delta": 0.4717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4129,
"after": 0.0,
"delta": -0.4129,
"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=11.0, weight=0.107, BvP AVG=0.182)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.8927,
"bvp": 0.1073
},
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.9818,
"after": 1.0,
"delta": 0.0182,
"percent_delta": 0.0185,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2691,
"after": 0.286,
"delta": 0.0169,
"percent_delta": 0.0628,
"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": 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.3538,
"after": 0.375,
"delta": 0.0212,
"percent_delta": 0.0599,
"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.3653,
"after": 0.286,
"delta": -0.0793,
"percent_delta": -0.2171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3538,
"after": 0.375,
"delta": 0.0212,
"percent_delta": 0.0599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3653,
"after": 0.286,
"delta": -0.0793,
"percent_delta": -0.2171,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 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": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2691,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3538,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3653,
"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": 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.286,
"after": 0.2691,
"delta": -0.0169,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.375,
"after": 0.3538,
"delta": -0.0212,
"percent_delta": -0.0566,
"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.286,
"after": 0.3653,
"delta": 0.0793,
"percent_delta": 0.2774,
"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.286,
"after": 0.3653,
"delta": 0.0793,
"percent_delta": 0.2774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3538,
"delta": -0.0212,
"percent_delta": -0.0566,
"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.152,
"after": 1.0,
"delta": 0.848,
"percent_delta": 5.5789,
"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.98,
"after": 3.0,
"delta": -0.98,
"percent_delta": -0.2462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2691,
"delta": 0.0081,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.565,
"after": 1.0,
"delta": 0.435,
"percent_delta": 0.7699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0,
"delta": -0.04,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3538,
"delta": -0.0052,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.617,
"after": 1.0,
"delta": 0.383,
"percent_delta": 0.6207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.3653,
"delta": -0.0407,
"percent_delta": -0.1002,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.43,
"after": 1.0,
"delta": 0.57,
"percent_delta": 1.3256,
"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_2B",
"before": 0.152,
"after": 1.0,
"delta": 0.848,
"percent_delta": 5.5789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.98,
"after": 3.0,
"delta": -0.98,
"percent_delta": -0.2462,
"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.152 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.980 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.565 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.359 | - |
| predicted_R | 0.617 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 0.430 | - |
Final model 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.413 | 0.261 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.068 | 3.088 |
| predicted_AVG | 0.277 | 0.016 |
| predicted_BB | 0.942 | 0.377 |
| predicted_H | 2.021 | 0.981 |
| predicted_HBP | 0.123 | - |
| predicted_HR | 0.095 | 0.015 |
| predicted_OBP | 0.368 | 0.009 |
| predicted_R | 1.090 | 0.473 |
| predicted_RBI | 0.754 | 0.334 |
| predicted_SLG | 0.402 | -0.004 |
| predicted_SO | 0.722 | 0.292 |
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.413 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.068 | 0.000 |
| predicted_AVG | 0.269 | -0.008 |
| predicted_BB | 0.926 | -0.016 |
| predicted_H | 1.902 | -0.118 |
| predicted_HBP | 0.123 | 0.000 |
| predicted_HR | 0.089 | -0.006 |
| predicted_OBP | 0.354 | -0.015 |
| predicted_R | 0.982 | -0.108 |
| predicted_RBI | 0.679 | -0.075 |
| predicted_SLG | 0.365 | -0.036 |
| predicted_SO | 0.734 | 0.012 |
AB rounded to 7 (raw=7.07), rates preserved: AVG=0.269 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.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=11.0, weight=0.107, BvP AVG=0.182)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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 | 7.000 | 0.000 |
| BB | 1.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.413 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.068 |
| predicted_AVG | 0.286 | 0.017 |
| predicted_BB | 1.000 | 0.074 |
| predicted_H | 2.000 | 0.098 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.375 | 0.021 |
| predicted_R | 1.000 | 0.018 |
| predicted_RBI | 1.000 | 0.321 |
| predicted_SLG | 0.286 | -0.079 |
| predicted_SO | 1.000 | 0.266 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 7.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 1.000 | 0.3333 | 0.3636 | 0.4762 | 0.3333 | 0.0000 | 0.0952 | 0.0476 | 0.0476 |
| last_10 | 0.20 | 7 | - | 36.000 | 9.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 6.000 | 2.000 | 0.2500 | 0.3571 | 0.3333 | 0.2500 | 0.0000 | 0.0556 | 0.1667 | 0.0556 |
| season | 0.60 | 59 | - | 845.000 | 248.000 | 35.000 | 0.000 | 12.000 | 99.000 | 142.000 | 130.000 | 99.000 | 0.2935 | 0.3920 | 0.3775 | 0.2935 | 0.0142 | 0.1172 | 0.1538 | 0.1172 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7430 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.9740 |
| predicted_AVG | 0.2972 |
| predicted_BB | 1.4190 |
| predicted_H | 3.2610 |
| predicted_HBP | 0.1230 |
| predicted_HR | 0.1140 |
| predicted_OBP | 0.3804 |
| predicted_R | 1.6880 |
| predicted_RBI | 1.1770 |
| predicted_SLG | 0.3963 |
| predicted_SO | 1.0910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1520 | 0.7430 | 0.4129 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9800 | 10.9740 | 7.0678 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2972 | 0.2770 | model_form_blend |
| predicted_BB | 0.5650 | 1.4190 | 0.9420 | model_form_blend |
| predicted_H | 1.0400 | 3.2610 | 2.0205 | model_form_blend |
| predicted_HBP | - | 0.1230 | 0.1230 | form_only |
| predicted_HR | 0.0800 | 0.1140 | 0.0950 | model_form_blend |
| predicted_OBP | 0.3590 | 0.3804 | 0.3684 | model_form_blend |
| predicted_R | 0.6170 | 1.6880 | 1.0898 | model_form_blend |
| predicted_RBI | 0.4200 | 1.1770 | 0.7542 | model_form_blend |
| predicted_SLG | 0.4060 | 0.3963 | 0.4017 | model_form_blend |
| predicted_SO | 0.4300 | 1.0910 | 0.7218 | 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 | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 230 |
| 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.293 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 665489 |
| playerID | 665489 |
| playerName | Vladimir Guerrero Jr. |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-03 |
| sl_k_percent | 9.9 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.343 |
| sl_xwoba | 0.363 |
| sl_xba | 0.309 |
| sl_xslg | 0.426 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 44.6 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 9.1 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.779 | 3.000 | 4.000 | Hitting_AB | 2.709 | 3.000 | 0.291 | 0.000 |
| predicted_AVG | 0.224 | 0.000 | 0.250 | Hitting_AVG | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_BB | 0.078 | 0.000 | 0.000 | Hitting_BB | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.500 | 0.000 | 1.000 | Hitting_H | 0.443 | 0.000 | -0.443 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_OBP | 0.247 | 0.000 | 0.250 | Hitting_OBP | 0.218 | 0.250 | -0.218 | -0.250 |
| predicted_R | 0.247 | 0.000 | 0.000 | Hitting_R | 0.241 | 0.000 | -0.241 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_SLG | 0.298 | 0.000 | 0.250 | Hitting_SLG | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_SO | 0.740 | 0.000 | 1.000 | Hitting_SO | 0.722 | 1.000 | -0.722 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.7790 -> 3.0000 (boost 0.2210, better) |
| Biggest Deboost | predicted_SO: 0.7400 -> 0.0000 (deboost -0.7400, 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 | 9 | 7 | 2 | 6 | 3 | predicted_AB: 2.7790 -> 4.3923 (boost 1.6133, better) | predicted_AVG: 0.2240 -> 0.1974 (deboost -0.0266, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_R: 0.5146 -> 0.4636 (deboost -0.0510, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.6920 -> 1.0000 (boost 0.3080, better) | predicted_AB: 4.3923 -> 4.0000 (deboost -0.3923, worse) | AB rounded to 4 (raw=4.39), rates preserved: AVG=0.158 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4636 -> 0.0000 (deboost -0.4636, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1576 -> 0.2500 (boost 0.0924, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2500 -> 0.1576 (deboost -0.0924, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "623168",
"player_name": "Tyler Heineman",
"position": "C",
"team": "TOR",
"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.779,
"predicted_AVG": 0.224,
"predicted_BB": 0.078,
"predicted_H": 0.5,
"predicted_HR": 0.08,
"predicted_OBP": 0.247,
"predicted_R": 0.247,
"predicted_RBI": 0.27,
"predicted_SLG": 0.298,
"predicted_SO": 0.74
},
"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.0158,
"predicted_3B": 0.0012,
"predicted_AB": 4.3923,
"predicted_AVG": 0.1974,
"predicted_BB": 0.2357,
"predicted_H": 0.7351,
"predicted_HBP": 0.291,
"predicted_HR": 0.1312,
"predicted_OBP": 0.2453,
"predicted_R": 0.5146,
"predicted_RBI": 0.3366,
"predicted_SLG": 0.2814,
"predicted_SO": 1.3234
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0158,
"delta": 0.0158,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.779,
"after": 4.3923,
"delta": 1.6133,
"percent_delta": 0.5805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.1974,
"delta": -0.0266,
"percent_delta": -0.1188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.078,
"after": 0.2357,
"delta": 0.1577,
"percent_delta": 2.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.7351,
"delta": 0.2351,
"percent_delta": 0.4702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1312,
"delta": 0.0512,
"percent_delta": 0.64,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.247,
"after": 0.2453,
"delta": -0.0017,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.247,
"after": 0.5146,
"delta": 0.2676,
"percent_delta": 1.0834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.3366,
"delta": 0.0666,
"percent_delta": 0.2467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.298,
"after": 0.2814,
"delta": -0.0166,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 1.3234,
"delta": 0.5834,
"percent_delta": 0.7884,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.779,
"after": 4.3923,
"delta": 1.6133,
"percent_delta": 0.5805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.1974,
"delta": -0.0266,
"percent_delta": -0.1188,
"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": 3,
"last_10": 4,
"season": 28
}
},
{
"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.0158,
"predicted_3B": 0.0012,
"predicted_AB": 4.3923,
"predicted_AVG": 0.1576,
"predicted_BB": 0.2317,
"predicted_H": 0.692,
"predicted_HBP": 0.291,
"predicted_HR": 0.1226,
"predicted_OBP": 0.1998,
"predicted_R": 0.4636,
"predicted_RBI": 0.3032,
"predicted_SLG": 0.2454,
"predicted_SO": 1.346
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0158,
"after": 0.0158,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3923,
"after": 4.3923,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1974,
"after": 0.1576,
"delta": -0.0398,
"percent_delta": -0.2016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2357,
"after": 0.2317,
"delta": -0.004,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7351,
"after": 0.692,
"delta": -0.0431,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.291,
"after": 0.291,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1312,
"after": 0.1226,
"delta": -0.0086,
"percent_delta": -0.0655,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2453,
"after": 0.1998,
"delta": -0.0455,
"percent_delta": -0.1855,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5146,
"after": 0.4636,
"delta": -0.051,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3366,
"after": 0.3032,
"delta": -0.0334,
"percent_delta": -0.0992,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2814,
"after": 0.2454,
"delta": -0.036,
"percent_delta": -0.1279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3234,
"after": 1.346,
"delta": 0.0226,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.5146,
"after": 0.4636,
"delta": -0.051,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.39), rates preserved: AVG=0.158 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0158,
"after": 0.0,
"delta": -0.0158,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3923,
"after": 4.0,
"delta": -0.3923,
"percent_delta": -0.0893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2317,
"after": 0.0,
"delta": -0.2317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.692,
"after": 1.0,
"delta": 0.308,
"percent_delta": 0.4451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.291,
"after": 0.0,
"delta": -0.291,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1226,
"after": 0.0,
"delta": -0.1226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3032,
"after": 0.0,
"delta": -0.3032,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.346,
"after": 1.0,
"delta": -0.346,
"percent_delta": -0.2571,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.692,
"after": 1.0,
"delta": 0.308,
"percent_delta": 0.4451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.3923,
"after": 4.0,
"delta": -0.3923,
"percent_delta": -0.0893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4636,
"after": 0.0,
"delta": -0.4636,
"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.4636,
"after": 0.0,
"delta": -0.4636,
"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": 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.1576,
"after": 0.25,
"delta": 0.0924,
"percent_delta": 0.5863,
"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.1998,
"after": 0.25,
"delta": 0.0502,
"percent_delta": 0.2513,
"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.2454,
"after": 0.25,
"delta": 0.0046,
"percent_delta": 0.0187,
"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_AVG",
"before": 0.1576,
"after": 0.25,
"delta": 0.0924,
"percent_delta": 0.5863,
"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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1576,
"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.1998,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2454,
"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.25,
"after": 0.1576,
"delta": -0.0924,
"percent_delta": -0.3698,
"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.25,
"after": 0.1998,
"delta": -0.0502,
"percent_delta": -0.201,
"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.25,
"after": 0.2454,
"delta": -0.0046,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1576,
"delta": -0.0924,
"percent_delta": -0.3698,
"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.779,
"after": 3.0,
"delta": 0.221,
"percent_delta": 0.0795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.1576,
"delta": -0.0664,
"percent_delta": -0.2964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.247,
"after": 0.1998,
"delta": -0.0472,
"percent_delta": -0.1911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.247,
"after": 0.0,
"delta": -0.247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.298,
"after": 0.2454,
"delta": -0.0526,
"percent_delta": -0.1765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.779,
"after": 3.0,
"delta": 0.221,
"percent_delta": 0.0795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.779 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.078 | - |
| predicted_H | 0.500 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.247 | - |
| predicted_R | 0.247 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.298 | - |
| predicted_SO | 0.740 | - |
Final model 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.016 | 0.016 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.392 | 1.613 |
| predicted_AVG | 0.197 | -0.027 |
| predicted_BB | 0.236 | 0.158 |
| predicted_H | 0.735 | 0.235 |
| predicted_HBP | 0.291 | - |
| predicted_HR | 0.131 | 0.051 |
| predicted_OBP | 0.245 | -0.002 |
| predicted_R | 0.515 | 0.268 |
| predicted_RBI | 0.337 | 0.067 |
| predicted_SLG | 0.281 | -0.017 |
| predicted_SO | 1.323 | 0.583 |
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.016 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.392 | 0.000 |
| predicted_AVG | 0.158 | -0.040 |
| predicted_BB | 0.232 | -0.004 |
| predicted_H | 0.692 | -0.043 |
| predicted_HBP | 0.291 | 0.000 |
| predicted_HR | 0.123 | -0.009 |
| predicted_OBP | 0.200 | -0.045 |
| predicted_R | 0.464 | -0.051 |
| predicted_RBI | 0.303 | -0.033 |
| predicted_SLG | 0.245 | -0.036 |
| predicted_SO | 1.346 | 0.023 |
AB rounded to 4 (raw=4.39), rates preserved: AVG=0.158 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.016 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.392 |
| predicted_AVG | 0.250 | 0.092 |
| predicted_BB | 0.000 | -0.232 |
| predicted_H | 1.000 | 0.308 |
| predicted_HR | 0.000 | -0.123 |
| predicted_OBP | 0.250 | 0.050 |
| predicted_R | 0.000 | -0.464 |
| predicted_RBI | 0.000 | -0.303 |
| predicted_SLG | 0.250 | 0.005 |
| predicted_SO | 1.000 | -0.346 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 3 | - | 12.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 3.000 | 8.000 | 0.0833 | 0.3125 | 0.3333 | 0.0833 | 0.0833 | 0.0833 | 0.2500 | 0.6667 |
| last_10 | 0.20 | 4 | - | 27.000 | 3.000 | 0.000 | 0.000 | 3.000 | 3.000 | 6.000 | 3.000 | 10.000 | 0.1111 | 0.2258 | 0.4444 | 0.1111 | 0.1111 | 0.1111 | 0.1111 | 0.3704 |
| season | 0.60 | 28 | - | 214.000 | 35.000 | 0.000 | 0.000 | 3.000 | 10.000 | 19.000 | 6.000 | 57.000 | 0.1636 | 0.2183 | 0.2056 | 0.1636 | 0.0140 | 0.0467 | 0.0280 | 0.2664 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0380 |
| predicted_3B | 0.0030 |
| predicted_AB | 6.6560 |
| predicted_AVG | 0.1600 |
| predicted_BB | 0.4570 |
| predicted_H | 1.0650 |
| predicted_HBP | 0.2910 |
| predicted_HR | 0.2030 |
| predicted_OBP | 0.2428 |
| predicted_R | 0.8900 |
| predicted_RBI | 0.4300 |
| predicted_SLG | 0.2580 |
| predicted_SO | 2.1420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0380 | 0.0158 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.7790 | 6.6560 | 4.3923 | model_form_blend |
| predicted_AVG | 0.2240 | 0.1600 | 0.1974 | model_form_blend |
| predicted_BB | 0.0780 | 0.4570 | 0.2357 | model_form_blend |
| predicted_H | 0.5000 | 1.0650 | 0.7351 | model_form_blend |
| predicted_HBP | - | 0.2910 | 0.2910 | form_only |
| predicted_HR | 0.0800 | 0.2030 | 0.1312 | model_form_blend |
| predicted_OBP | 0.2470 | 0.2428 | 0.2453 | model_form_blend |
| predicted_R | 0.2470 | 0.8900 | 0.5146 | model_form_blend |
| predicted_RBI | 0.2700 | 0.4300 | 0.3366 | model_form_blend |
| predicted_SLG | 0.2980 | 0.2580 | 0.2814 | model_form_blend |
| predicted_SO | 0.7400 | 2.1420 | 1.3234 | 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 | 79 |
| Season rows before report date | 79 |
| Report year | 2026 |
| Profile rows used | 77 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.164 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| 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 | C |
| gameID | 20260530_TOR@BAL |
| game_type | full |
| mlbID | 623168 |
| playerID | 623168 |
| playerName | Tyler Heineman |
| pos | C |
| started | True |
| startingPosition | C |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-30 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 2.5 |
| sl_woba | 0.181 |
| sl_xwoba | 0.208 |
| sl_xba | 0.172 |
| sl_xslg | 0.223 |
| sl_sweet_spot_percent | 19.3 |
| sl_barrel_batted_rate | 1.8 |
| sl_hard_hit_percent | 15.8 |
| sl_exit_velocity_avg | 82.8 |
| sl_launch_angle_avg | 12.5 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 57.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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 | 4.240 | 3.000 | 4.000 | Hitting_AB | 4.000 | 4.000 | -1.000 | -1.000 |
| predicted_AVG | 0.233 | 0.000 | 0.250 | Hitting_AVG | 0.250 | 0.250 | -0.250 | -0.250 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_OBP | 0.302 | 0.000 | 0.250 | Hitting_OBP | 0.250 | 0.250 | -0.250 | -0.250 |
| predicted_R | 0.500 | 0.000 | 0.000 | Hitting_R | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_RBI | 0.580 | 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.440 | 0.000 | 0.250 | Hitting_SLG | 0.625 | 0.250 | -0.625 | -0.250 |
| predicted_SO | 0.500 | 0.000 | 1.000 | Hitting_SO | 0.500 | 0.000 | -0.500 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | - |
| Biggest Deboost | predicted_AB: 4.2400 -> 3.0000 (deboost -1.2400, 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 | 1 | 2 | predicted_SO: 0.5000 -> 0.5616 (boost 0.0616, worse) | predicted_AB: 4.2400 -> 4.1644 (deboost -0.0756, 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 | 5 | 0 | 5 | 0 | 5 | - | predicted_SLG: 0.4430 -> 0.3625 (deboost -0.0805, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.5712 -> 1.0000 (boost 0.4288, worse) | predicted_RBI: 0.5283 -> 0.0000 (deboost -0.5283, worse) | AB rounded to 4 (raw=4.24), rates preserved: AVG=0.219 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4498 -> 0.0000 (deboost -0.4498, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2230 -> 0.2500 (boost 0.0270, better) | predicted_SLG: 0.3625 -> 0.2500 (deboost -0.1125, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3625 (boost 0.1125, better) | predicted_AVG: 0.2500 -> 0.2230 (deboost -0.0270, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "807727",
"player_name": "Charles McAdoo",
"position": "2B",
"team": "TOR",
"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": 4.24,
"predicted_AVG": 0.233,
"predicted_BB": 0.0,
"predicted_H": 0.99,
"predicted_HR": 0.19,
"predicted_OBP": 0.302,
"predicted_R": 0.5,
"predicted_RBI": 0.58,
"predicted_SLG": 0.44,
"predicted_SO": 0.5
},
"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.0331,
"predicted_3B": 0.0026,
"predicted_AB": 4.1644,
"predicted_AVG": 0.2368,
"predicted_BB": 0.0521,
"predicted_H": 0.9865,
"predicted_HBP": 0.028,
"predicted_HR": 0.1935,
"predicted_OBP": 0.3016,
"predicted_R": 0.4993,
"predicted_RBI": 0.5864,
"predicted_SLG": 0.443,
"predicted_SO": 0.5616
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0331,
"delta": 0.0331,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0026,
"delta": 0.0026,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.24,
"after": 4.1644,
"delta": -0.0756,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2368,
"delta": 0.0038,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0521,
"delta": 0.0521,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9865,
"delta": -0.0035,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1935,
"delta": 0.0035,
"percent_delta": 0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3016,
"delta": -0.0004,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4993,
"delta": -0.0007,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5864,
"delta": 0.0064,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.443,
"delta": 0.003,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5616,
"delta": 0.0616,
"percent_delta": 0.1232,
"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_SO",
"before": 0.5,
"after": 0.5616,
"delta": 0.0616,
"percent_delta": 0.1232,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.24,
"after": 4.1644,
"delta": -0.0756,
"percent_delta": -0.0178,
"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": 2,
"last_10": 2,
"season": 2
}
},
{
"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.0331,
"predicted_3B": 0.0026,
"predicted_AB": 4.1644,
"predicted_AVG": 0.223,
"predicted_BB": 0.0512,
"predicted_H": 0.9287,
"predicted_HBP": 0.028,
"predicted_HR": 0.1808,
"predicted_OBP": 0.2324,
"predicted_R": 0.4498,
"predicted_RBI": 0.5283,
"predicted_SLG": 0.3625,
"predicted_SO": 0.5712
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0331,
"after": 0.0331,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0026,
"after": 0.0026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1644,
"after": 4.1644,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2368,
"after": 0.223,
"delta": -0.0138,
"percent_delta": -0.0583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0521,
"after": 0.0512,
"delta": -0.0009,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9865,
"after": 0.9287,
"delta": -0.0578,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1935,
"after": 0.1808,
"delta": -0.0127,
"percent_delta": -0.0656,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3016,
"after": 0.2324,
"delta": -0.0692,
"percent_delta": -0.2294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4993,
"after": 0.4498,
"delta": -0.0495,
"percent_delta": -0.0991,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5864,
"after": 0.5283,
"delta": -0.0581,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.3625,
"delta": -0.0805,
"percent_delta": -0.1817,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5616,
"after": 0.5712,
"delta": 0.0096,
"percent_delta": 0.0171,
"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_SLG",
"before": 0.443,
"after": 0.3625,
"delta": -0.0805,
"percent_delta": -0.1817,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.24), rates preserved: AVG=0.219 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0331,
"after": 0.0,
"delta": -0.0331,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0026,
"after": 0.0,
"delta": -0.0026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1644,
"after": 4.0,
"delta": -0.1644,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0512,
"after": 0.0,
"delta": -0.0512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9287,
"after": 1.0,
"delta": 0.0713,
"percent_delta": 0.0768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1808,
"after": 0.0,
"delta": -0.1808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5283,
"after": 0.0,
"delta": -0.5283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5712,
"after": 1.0,
"delta": 0.4288,
"percent_delta": 0.7507,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5712,
"after": 1.0,
"delta": 0.4288,
"percent_delta": 0.7507,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5283,
"after": 0.0,
"delta": -0.5283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4498,
"after": 0.0,
"delta": -0.4498,
"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.4498,
"after": 0.0,
"delta": -0.4498,
"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": 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.223,
"after": 0.25,
"delta": 0.027,
"percent_delta": 0.1211,
"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.2324,
"after": 0.25,
"delta": 0.0176,
"percent_delta": 0.0757,
"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.3625,
"after": 0.25,
"delta": -0.1125,
"percent_delta": -0.3103,
"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.223,
"after": 0.25,
"delta": 0.027,
"percent_delta": 0.1211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3625,
"after": 0.25,
"delta": -0.1125,
"percent_delta": -0.3103,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.223,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2324,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3625,
"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.25,
"after": 0.223,
"delta": -0.027,
"percent_delta": -0.108,
"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.25,
"after": 0.2324,
"delta": -0.0176,
"percent_delta": -0.0702,
"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.25,
"after": 0.3625,
"delta": 0.1125,
"percent_delta": 0.4499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3625,
"delta": 0.1125,
"percent_delta": 0.4499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.223,
"delta": -0.027,
"percent_delta": -0.108,
"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": 4.24,
"after": 3.0,
"delta": -1.24,
"percent_delta": -0.2925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.223,
"delta": -0.01,
"percent_delta": -0.0429,
"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.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2324,
"delta": -0.0696,
"percent_delta": -0.2305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.3625,
"delta": -0.0775,
"percent_delta": -0.1761,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 0,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.24,
"after": 3.0,
"delta": -1.24,
"percent_delta": -0.2925,
"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 | 4.240 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 0.500 | - |
Final model 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.033 | 0.033 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 4.164 | -0.076 |
| predicted_AVG | 0.237 | 0.004 |
| predicted_BB | 0.052 | 0.052 |
| predicted_H | 0.987 | -0.003 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.194 | 0.004 |
| predicted_OBP | 0.302 | -0.000 |
| predicted_R | 0.499 | -0.001 |
| predicted_RBI | 0.586 | 0.006 |
| predicted_SLG | 0.443 | 0.003 |
| predicted_SO | 0.562 | 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.033 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 4.164 | 0.000 |
| predicted_AVG | 0.223 | -0.014 |
| predicted_BB | 0.051 | -0.001 |
| predicted_H | 0.929 | -0.058 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.181 | -0.013 |
| predicted_OBP | 0.232 | -0.069 |
| predicted_R | 0.450 | -0.050 |
| predicted_RBI | 0.528 | -0.058 |
| predicted_SLG | 0.362 | -0.081 |
| predicted_SO | 0.571 | 0.010 |
AB rounded to 4 (raw=4.24), rates preserved: AVG=0.219 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.033 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 4.000 | -0.164 |
| predicted_AVG | 0.250 | 0.027 |
| predicted_BB | 0.000 | -0.051 |
| predicted_H | 1.000 | 0.071 |
| predicted_HR | 0.000 | -0.181 |
| predicted_OBP | 0.250 | 0.018 |
| predicted_R | 0.000 | -0.450 |
| predicted_RBI | 0.000 | -0.528 |
| predicted_SLG | 0.250 | -0.112 |
| predicted_SO | 1.000 | 0.429 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 2 | - | 8.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 1.000 | 0.2500 | 0.2500 | 0.6250 | 0.2500 | 0.1250 | 0.2500 | 0.0000 | 0.1250 |
| last_10 | 0.20 | 2 | - | 8.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 1.000 | 0.2500 | 0.2500 | 0.6250 | 0.2500 | 0.1250 | 0.2500 | 0.0000 | 0.1250 |
| season | 0.60 | 2 | - | 8.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 1.000 | 0.2500 | 0.2500 | 0.6250 | 0.2500 | 0.1250 | 0.2500 | 0.0000 | 0.1250 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.8950 |
| predicted_AVG | 0.2502 |
| predicted_BB | 0.2380 |
| predicted_H | 0.9740 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.2060 |
| predicted_OBP | 0.3002 |
| predicted_R | 0.4970 |
| predicted_RBI | 0.6090 |
| predicted_SLG | 0.4539 |
| predicted_SO | 0.7810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1510 | 0.0331 | model_form_blend |
| predicted_3B | 0.0000 | 0.0120 | 0.0026 | model_form_blend |
| predicted_AB | 4.2400 | 3.8950 | 4.1644 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2502 | 0.2368 | model_form_blend |
| predicted_BB | 0.0000 | 0.2380 | 0.0521 | model_form_blend |
| predicted_H | 0.9900 | 0.9740 | 0.9865 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.1900 | 0.2060 | 0.1935 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3002 | 0.3016 | model_form_blend |
| predicted_R | 0.5000 | 0.4970 | 0.4993 | model_form_blend |
| predicted_RBI | 0.5800 | 0.6090 | 0.5864 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4539 | 0.4430 | model_form_blend |
| predicted_SO | 0.5000 | 0.7810 | 0.5616 | 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 | 2 |
| Season rows before report date | 2 |
| Report year | 2026 |
| Profile rows used | 2 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| 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 | 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 | 1B |
| gameID | 20260531_TOR@BAL |
| game_type | full |
| mlbID | 807727 |
| playerID | 807727 |
| playerName | Charles McAdoo |
| pos | 2B |
| started | True |
| startingPosition | 1B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-31 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.372 |
| sl_xwoba | 0.401 |
| sl_xba | 0.322 |
| sl_xslg | 0.622 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 57.1 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 21.3 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 56.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.284 | 1.000 | 0.000 | Hitting_2B | 0.280 | 0.000 | 0.720 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.432 | 3.000 | 5.000 | Hitting_AB | 3.387 | 5.000 | -0.387 | -2.000 |
| predicted_AVG | 0.289 | 0.333 | 0.200 | Hitting_AVG | 0.327 | 0.400 | 0.007 | -0.067 |
| predicted_BB | 0.081 | 0.000 | 0.000 | Hitting_BB | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 1.107 | 2.000 | -0.107 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.013 | 1.000 | -0.013 | -1.000 |
| predicted_OBP | 0.361 | 0.333 | 0.200 | Hitting_OBP | 0.369 | 0.400 | -0.035 | -0.067 |
| predicted_R | 0.338 | 0.000 | 1.000 | Hitting_R | 0.347 | 2.000 | -0.347 | -2.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.467 | 1.000 | -0.467 | -1.000 |
| predicted_SLG | 0.451 | 0.667 | 0.200 | Hitting_SLG | 0.421 | 1.000 | 0.245 | -0.333 |
| predicted_SO | 0.541 | 0.000 | 1.000 | Hitting_SO | 0.533 | 0.000 | -0.533 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_2B: 0.2840 -> 1.0000 (boost 0.7160, better) |
| Biggest Deboost | predicted_SO: 0.5410 -> 0.0000 (deboost -0.5410, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.4320 -> 5.0824 (boost 1.6504, 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 | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 1.5628 -> 1.4712 (deboost -0.0916, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 0 | 8 | predicted_SO: 0.7893 -> 1.0000 (boost 0.2107, worse) | predicted_RBI: 0.5031 -> 0.0000 (deboost -0.5031, worse) | AB rounded to 5 (raw=5.08), rates preserved: AVG=0.289 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5996 -> 1.0000 (boost 0.4004, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4267 -> 0.2000 (deboost -0.2267, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4267 (boost 0.2267, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664770",
"player_name": "Nathan Lukes",
"position": "LF",
"team": "TOR",
"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.284,
"predicted_3B": 0.0,
"predicted_AB": 3.432,
"predicted_AVG": 0.289,
"predicted_BB": 0.081,
"predicted_H": 0.87,
"predicted_HR": 0.09,
"predicted_OBP": 0.361,
"predicted_R": 0.338,
"predicted_RBI": 0.36,
"predicted_SLG": 0.451,
"predicted_SO": 0.541
},
"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.3847,
"predicted_3B": 0.0013,
"predicted_AB": 5.0824,
"predicted_AVG": 0.3114,
"predicted_BB": 0.1968,
"predicted_H": 1.5628,
"predicted_HBP": 0.22,
"predicted_HR": 0.1106,
"predicted_OBP": 0.3725,
"predicted_R": 0.6656,
"predicted_RBI": 0.5584,
"predicted_SLG": 0.4593,
"predicted_SO": 0.776
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.284,
"after": 0.3847,
"delta": 0.1007,
"percent_delta": 0.3546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.432,
"after": 5.0824,
"delta": 1.6504,
"percent_delta": 0.4809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.3114,
"delta": 0.0224,
"percent_delta": 0.0775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.081,
"after": 0.1968,
"delta": 0.1158,
"percent_delta": 1.4296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.5628,
"delta": 0.6928,
"percent_delta": 0.7963,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1106,
"delta": 0.0206,
"percent_delta": 0.2289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3725,
"delta": 0.0115,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.338,
"after": 0.6656,
"delta": 0.3276,
"percent_delta": 0.9692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.5584,
"delta": 0.1984,
"percent_delta": 0.5511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4593,
"delta": 0.0083,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.541,
"after": 0.776,
"delta": 0.235,
"percent_delta": 0.4344,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.432,
"after": 5.0824,
"delta": 1.6504,
"percent_delta": 0.4809,
"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": 27
}
},
{
"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.3847,
"predicted_3B": 0.0013,
"predicted_AB": 5.0824,
"predicted_AVG": 0.2895,
"predicted_BB": 0.1934,
"predicted_H": 1.4712,
"predicted_HBP": 0.22,
"predicted_HR": 0.1034,
"predicted_OBP": 0.3155,
"predicted_R": 0.5996,
"predicted_RBI": 0.5031,
"predicted_SLG": 0.4267,
"predicted_SO": 0.7893
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3847,
"after": 0.3847,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0824,
"after": 5.0824,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3114,
"after": 0.2895,
"delta": -0.0219,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1968,
"after": 0.1934,
"delta": -0.0034,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5628,
"after": 1.4712,
"delta": -0.0916,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.22,
"after": 0.22,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1106,
"after": 0.1034,
"delta": -0.0072,
"percent_delta": -0.0651,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3725,
"after": 0.3155,
"delta": -0.057,
"percent_delta": -0.153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6656,
"after": 0.5996,
"delta": -0.066,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5584,
"after": 0.5031,
"delta": -0.0553,
"percent_delta": -0.099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4593,
"after": 0.4267,
"delta": -0.0326,
"percent_delta": -0.071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.776,
"after": 0.7893,
"delta": 0.0133,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.5628,
"after": 1.4712,
"delta": -0.0916,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.08), rates preserved: AVG=0.289 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3847,
"after": 0.0,
"delta": -0.3847,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0824,
"after": 5.0,
"delta": -0.0824,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1934,
"after": 0.0,
"delta": -0.1934,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4712,
"after": 1.0,
"delta": -0.4712,
"percent_delta": -0.3203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1034,
"after": 0.0,
"delta": -0.1034,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5031,
"after": 0.0,
"delta": -0.5031,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7893,
"after": 1.0,
"delta": 0.2107,
"percent_delta": 0.2669,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7893,
"after": 1.0,
"delta": 0.2107,
"percent_delta": 0.2669,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5031,
"after": 0.0,
"delta": -0.5031,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5996,
"after": 1.0,
"delta": 0.4004,
"percent_delta": 0.6678,
"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.5996,
"after": 1.0,
"delta": 0.4004,
"percent_delta": 0.6678,
"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": 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": 0.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.2895,
"after": 0.2,
"delta": -0.0895,
"percent_delta": -0.3092,
"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.3155,
"after": 0.2,
"delta": -0.1155,
"percent_delta": -0.3661,
"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.4267,
"after": 0.2,
"delta": -0.2267,
"percent_delta": -0.5313,
"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.4267,
"after": 0.2,
"delta": -0.2267,
"percent_delta": -0.5313,
"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": 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": 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": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"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_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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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": 3.0,
"predicted_AVG": 0.2895,
"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.3155,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4267,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2895,
"delta": 0.0895,
"percent_delta": 0.4474,
"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.2,
"after": 0.3155,
"delta": 0.1155,
"percent_delta": 0.5776,
"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.2,
"after": 0.4267,
"delta": 0.2267,
"percent_delta": 1.1335,
"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.2,
"after": 0.4267,
"delta": 0.2267,
"percent_delta": 1.1335,
"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.284,
"after": 1.0,
"delta": 0.716,
"percent_delta": 2.5211,
"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.432,
"after": 3.0,
"delta": -0.432,
"percent_delta": -0.1259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2895,
"delta": 0.0005,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3155,
"delta": -0.0455,
"percent_delta": -0.126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4267,
"delta": -0.0243,
"percent_delta": -0.0539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.541,
"after": 0.0,
"delta": -0.541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.284,
"after": 1.0,
"delta": 0.716,
"percent_delta": 2.5211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.541,
"after": 0.0,
"delta": -0.541,
"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.284 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.432 | - |
| predicted_AVG | 0.289 | - |
| predicted_BB | 0.081 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.361 | - |
| predicted_R | 0.338 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.451 | - |
| predicted_SO | 0.541 | - |
Final model 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.385 | 0.101 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.082 | 1.650 |
| predicted_AVG | 0.311 | 0.022 |
| predicted_BB | 0.197 | 0.116 |
| predicted_H | 1.563 | 0.693 |
| predicted_HBP | 0.220 | - |
| predicted_HR | 0.111 | 0.021 |
| predicted_OBP | 0.372 | 0.012 |
| predicted_R | 0.666 | 0.328 |
| predicted_RBI | 0.558 | 0.198 |
| predicted_SLG | 0.459 | 0.008 |
| predicted_SO | 0.776 | 0.235 |
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.385 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.082 | 0.000 |
| predicted_AVG | 0.289 | -0.022 |
| predicted_BB | 0.193 | -0.003 |
| predicted_H | 1.471 | -0.092 |
| predicted_HBP | 0.220 | 0.000 |
| predicted_HR | 0.103 | -0.007 |
| predicted_OBP | 0.316 | -0.057 |
| predicted_R | 0.600 | -0.066 |
| predicted_RBI | 0.503 | -0.055 |
| predicted_SLG | 0.427 | -0.033 |
| predicted_SO | 0.789 | 0.013 |
AB rounded to 5 (raw=5.08), rates preserved: AVG=0.289 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.385 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.082 |
| predicted_AVG | 0.200 | -0.089 |
| predicted_BB | 0.000 | -0.193 |
| predicted_H | 1.000 | -0.471 |
| predicted_HR | 0.000 | -0.103 |
| predicted_OBP | 0.200 | -0.115 |
| predicted_R | 1.000 | 0.400 |
| predicted_RBI | 0.000 | -0.503 |
| predicted_SLG | 0.200 | -0.227 |
| predicted_SO | 1.000 | 0.211 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -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 | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 8.000 | 1.000 | 0.000 | 1.000 | 1.000 | 6.000 | 2.000 | 2.000 | 0.4211 | 0.4762 | 0.6316 | 0.4210 | 0.0526 | 0.0526 | 0.1053 | 0.1053 |
| last_10 | 0.20 | 7 | - | 35.000 | 13.000 | 2.000 | 0.000 | 1.000 | 2.000 | 6.000 | 2.000 | 4.000 | 0.3714 | 0.4054 | 0.5143 | 0.3714 | 0.0286 | 0.0571 | 0.0571 | 0.1143 |
| season | 0.60 | 27 | - | 254.000 | 83.000 | 21.000 | 0.000 | 1.000 | 35.000 | 25.000 | 6.000 | 40.000 | 0.3268 | 0.3686 | 0.4213 | 0.3268 | 0.0039 | 0.1378 | 0.0236 | 0.1575 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5230 |
| predicted_3B | 0.0030 |
| predicted_AB | 7.3510 |
| predicted_AVG | 0.3422 |
| predicted_BB | 0.3560 |
| predicted_H | 2.5150 |
| predicted_HBP | 0.2200 |
| predicted_HR | 0.1390 |
| predicted_OBP | 0.3882 |
| predicted_R | 1.1160 |
| predicted_RBI | 0.8310 |
| predicted_SLG | 0.4707 |
| predicted_SO | 1.0990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2840 | 0.5230 | 0.3847 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.4320 | 7.3510 | 5.0824 | model_form_blend |
| predicted_AVG | 0.2890 | 0.3422 | 0.3114 | model_form_blend |
| predicted_BB | 0.0810 | 0.3560 | 0.1968 | model_form_blend |
| predicted_H | 0.8700 | 2.5150 | 1.5628 | model_form_blend |
| predicted_HBP | - | 0.2200 | 0.2200 | form_only |
| predicted_HR | 0.0900 | 0.1390 | 0.1106 | model_form_blend |
| predicted_OBP | 0.3610 | 0.3882 | 0.3725 | model_form_blend |
| predicted_R | 0.3380 | 1.1160 | 0.6656 | model_form_blend |
| predicted_RBI | 0.3600 | 0.8310 | 0.5584 | model_form_blend |
| predicted_SLG | 0.4510 | 0.4707 | 0.4593 | model_form_blend |
| predicted_SO | 0.5410 | 1.0990 | 0.7760 | 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 | 75 |
| Season rows before report date | 75 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.327 |
| 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-RF |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 664770 |
| playerID | 664770 |
| playerName | Nathan Lukes |
| pos | RF |
| started | True |
| startingPosition | LF |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-03 |
| sl_k_percent | 13.3 |
| sl_bb_percent | 3.3 |
| sl_woba | 0.349 |
| sl_xwoba | 0.331 |
| sl_xba | 0.309 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 1.4 |
| sl_hard_hit_percent | 36.1 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 16.4 |
| 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.093 | 0.000 | 0.000 | Hitting_2B | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.546 | 3.000 | 3.000 | Hitting_AB | 2.330 | 2.000 | 0.670 | 1.000 |
| predicted_AVG | 0.261 | 0.000 | 0.333 | Hitting_AVG | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_BB | 0.309 | 0.000 | 0.000 | Hitting_BB | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 0.180 | 0.000 | 1.000 | Hitting_H | 0.575 | 0.000 | -0.575 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.066 | 0.000 | -0.066 | 0.000 |
| predicted_OBP | 0.261 | 0.000 | 0.333 | Hitting_OBP | 0.329 | 0.000 | -0.329 | 0.000 |
| predicted_R | 0.495 | 0.000 | 0.000 | Hitting_R | 0.472 | 0.000 | -0.472 | 0.000 |
| predicted_RBI | 0.100 | 0.000 | 0.000 | Hitting_RBI | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_SLG | 0.316 | 0.000 | 0.333 | Hitting_SLG | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_SO | 0.423 | 1.000 | 1.000 | Hitting_SO | 0.387 | 2.000 | 0.613 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.4230 -> 1.0000 (boost 0.5770, worse) |
| Biggest Deboost | predicted_R: 0.4950 -> 0.0000 (deboost -0.4950, 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 | 4 | 2 | 3 | 3 | predicted_AB: 2.5460 -> 3.2710 (boost 0.7250, better) | predicted_AVG: 0.2610 -> 0.2367 (deboost -0.0243, 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 | 0 | 4 | 0 | 4 | - | predicted_AVG: 0.2367 -> 0.1352 (deboost -0.1015, 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.6310 -> 1.0000 (boost 0.3690, worse) | predicted_H: 0.4423 -> 0.0000 (deboost -0.4423, worse) | AB rounded to 3 (raw=3.27), rates preserved: AVG=0.135 HR/AB=0.015 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4634 -> 0.0000 (deboost -0.4634, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1352 -> 0.3330 (boost 0.1978, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1352 (deboost -0.1978, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664702",
"player_name": "Myles Straw",
"position": "CF",
"team": "TOR",
"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.093,
"predicted_3B": 0.0,
"predicted_AB": 2.546,
"predicted_AVG": 0.261,
"predicted_BB": 0.309,
"predicted_H": 0.18,
"predicted_HR": 0.03,
"predicted_OBP": 0.261,
"predicted_R": 0.495,
"predicted_RBI": 0.1,
"predicted_SLG": 0.316,
"predicted_SO": 0.423
},
"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.101,
"predicted_3B": 0.0008,
"predicted_AB": 3.271,
"predicted_AVG": 0.2367,
"predicted_BB": 0.3208,
"predicted_H": 0.4698,
"predicted_HBP": 0.004,
"predicted_HR": 0.0532,
"predicted_OBP": 0.2583,
"predicted_R": 0.5144,
"predicted_RBI": 0.1536,
"predicted_SLG": 0.3051,
"predicted_SO": 0.6204
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.101,
"delta": 0.008,
"percent_delta": 0.086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.546,
"after": 3.271,
"delta": 0.725,
"percent_delta": 0.2848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2367,
"delta": -0.0243,
"percent_delta": -0.0931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.309,
"after": 0.3208,
"delta": 0.0118,
"percent_delta": 0.0382,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 0.4698,
"delta": 0.2898,
"percent_delta": 1.61,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0532,
"delta": 0.0232,
"percent_delta": 0.7733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2583,
"delta": -0.0027,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 0.5144,
"delta": 0.0194,
"percent_delta": 0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 0.1536,
"delta": 0.0536,
"percent_delta": 0.536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.3051,
"delta": -0.0109,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.423,
"after": 0.6204,
"delta": 0.1974,
"percent_delta": 0.4667,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.546,
"after": 3.271,
"delta": 0.725,
"percent_delta": 0.2848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2367,
"delta": -0.0243,
"percent_delta": -0.0931,
"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": 8,
"season": 44
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.101,
"predicted_3B": 0.0008,
"predicted_AB": 3.271,
"predicted_AVG": 0.1352,
"predicted_BB": 0.3153,
"predicted_H": 0.4423,
"predicted_HBP": 0.004,
"predicted_HR": 0.0497,
"predicted_OBP": 0.2112,
"predicted_R": 0.4634,
"predicted_RBI": 0.1384,
"predicted_SLG": 0.2122,
"predicted_SO": 0.631
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.101,
"after": 0.101,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.271,
"after": 3.271,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2367,
"after": 0.1352,
"delta": -0.1015,
"percent_delta": -0.4288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3208,
"after": 0.3153,
"delta": -0.0055,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4698,
"after": 0.4423,
"delta": -0.0275,
"percent_delta": -0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0532,
"after": 0.0497,
"delta": -0.0035,
"percent_delta": -0.0658,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2583,
"after": 0.2112,
"delta": -0.0471,
"percent_delta": -0.1823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5144,
"after": 0.4634,
"delta": -0.051,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1536,
"after": 0.1384,
"delta": -0.0152,
"percent_delta": -0.099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3051,
"after": 0.2122,
"delta": -0.0929,
"percent_delta": -0.3045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6204,
"after": 0.631,
"delta": 0.0106,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2367,
"after": 0.1352,
"delta": -0.1015,
"percent_delta": -0.4288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.27), rates preserved: AVG=0.135 HR/AB=0.015",
"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.101,
"after": 0.0,
"delta": -0.101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.271,
"after": 3.0,
"delta": -0.271,
"percent_delta": -0.0828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3153,
"after": 0.0,
"delta": -0.3153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4423,
"after": 0.0,
"delta": -0.4423,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0497,
"after": 0.0,
"delta": -0.0497,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1384,
"after": 0.0,
"delta": -0.1384,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.631,
"after": 1.0,
"delta": 0.369,
"percent_delta": 0.5848,
"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.631,
"after": 1.0,
"delta": 0.369,
"percent_delta": 0.5848,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4423,
"after": 0.0,
"delta": -0.4423,
"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.4634,
"after": 0.0,
"delta": -0.4634,
"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.4634,
"after": 0.0,
"delta": -0.4634,
"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.1352,
"after": 0.333,
"delta": 0.1978,
"percent_delta": 1.463,
"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.2112,
"after": 0.333,
"delta": 0.1218,
"percent_delta": 0.5767,
"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.2122,
"after": 0.333,
"delta": 0.1208,
"percent_delta": 0.5693,
"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.1352,
"after": 0.333,
"delta": 0.1978,
"percent_delta": 1.463,
"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": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1352,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2112,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2122,
"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.1352,
"delta": -0.1978,
"percent_delta": -0.594,
"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.2112,
"delta": -0.1218,
"percent_delta": -0.3656,
"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.2122,
"delta": -0.1208,
"percent_delta": -0.3628,
"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.1352,
"delta": -0.1978,
"percent_delta": -0.594,
"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.093,
"after": 0.0,
"delta": -0.093,
"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.546,
"after": 3.0,
"delta": 0.454,
"percent_delta": 0.1783,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.1352,
"delta": -0.1258,
"percent_delta": -0.482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.309,
"after": 0.0,
"delta": -0.309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2112,
"delta": -0.0498,
"percent_delta": -0.1908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 0.0,
"delta": -0.495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.2122,
"delta": -0.1038,
"percent_delta": -0.3285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.423,
"after": 1.0,
"delta": 0.577,
"percent_delta": 1.3641,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.423,
"after": 1.0,
"delta": 0.577,
"percent_delta": 1.3641,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.495,
"after": 0.0,
"delta": -0.495,
"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.093 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.546 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.309 | - |
| predicted_H | 0.180 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.495 | - |
| predicted_RBI | 0.100 | - |
| predicted_SLG | 0.316 | - |
| predicted_SO | 0.423 | - |
Final model 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.101 | 0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.271 | 0.725 |
| predicted_AVG | 0.237 | -0.024 |
| predicted_BB | 0.321 | 0.012 |
| predicted_H | 0.470 | 0.290 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.053 | 0.023 |
| predicted_OBP | 0.258 | -0.003 |
| predicted_R | 0.514 | 0.019 |
| predicted_RBI | 0.154 | 0.054 |
| predicted_SLG | 0.305 | -0.011 |
| predicted_SO | 0.620 | 0.197 |
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.101 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.271 | 0.000 |
| predicted_AVG | 0.135 | -0.102 |
| predicted_BB | 0.315 | -0.005 |
| predicted_H | 0.442 | -0.027 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.050 | -0.003 |
| predicted_OBP | 0.211 | -0.047 |
| predicted_R | 0.463 | -0.051 |
| predicted_RBI | 0.138 | -0.015 |
| predicted_SLG | 0.212 | -0.093 |
| predicted_SO | 0.631 | 0.011 |
AB rounded to 3 (raw=3.27), rates preserved: AVG=0.135 HR/AB=0.015
| 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.101 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.271 |
| predicted_AVG | 0.333 | 0.198 |
| predicted_BB | 0.000 | -0.315 |
| predicted_H | 1.000 | 0.558 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.333 | 0.122 |
| predicted_R | 0.000 | -0.463 |
| predicted_RBI | 0.000 | -0.138 |
| predicted_SLG | 0.333 | 0.121 |
| predicted_SO | 1.000 | 0.369 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 7.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.1429 | 0.1429 | 0.1429 | 0.1429 | 0.0000 | 0.0000 | 0.0000 | 0.2857 |
| last_10 | 0.20 | 8 | - | 21.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.0476 | 0.0476 | 0.0476 | 0.0476 | 0.0000 | 0.0000 | 0.0000 | 0.2857 |
| season | 0.60 | 44 | - | 247.000 | 61.000 | 9.000 | 0.000 | 7.000 | 17.000 | 48.000 | 30.000 | 41.000 | 0.2470 | 0.3238 | 0.3684 | 0.2470 | 0.0283 | 0.0688 | 0.1215 | 0.1660 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1120 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.2650 |
| predicted_AVG | 0.2034 |
| predicted_BB | 0.3370 |
| predicted_H | 0.8670 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0850 |
| predicted_OBP | 0.2547 |
| predicted_R | 0.5410 |
| predicted_RBI | 0.2270 |
| predicted_SLG | 0.2901 |
| predicted_SO | 0.8910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0930 | 0.1120 | 0.1010 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5460 | 4.2650 | 3.2710 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2034 | 0.2367 | model_form_blend |
| predicted_BB | 0.3090 | 0.3370 | 0.3208 | model_form_blend |
| predicted_H | 0.1800 | 0.8670 | 0.4698 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0300 | 0.0850 | 0.0532 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2547 | 0.2583 | model_form_blend |
| predicted_R | 0.4950 | 0.5410 | 0.5144 | model_form_blend |
| predicted_RBI | 0.1000 | 0.2270 | 0.1536 | model_form_blend |
| predicted_SLG | 0.3160 | 0.2901 | 0.3051 | model_form_blend |
| predicted_SO | 0.4230 | 0.8910 | 0.6204 | 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 | 106 |
| Season rows before report date | 106 |
| Report year | 2026 |
| Profile rows used | 97 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.247 |
| 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 | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-LF |
| gameID | 20260603_TOR@ATL |
| game_type | ph |
| mlbID | 664702 |
| note | Struck out for Piñango in the 7th. |
| playerID | 664702 |
| playerName | Myles Straw |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-03 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.293 |
| sl_xwoba | 0.319 |
| sl_xba | 0.268 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 28.4 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 16.0 |
| sl_whiff_percent | 14.4 |
| sl_swing_percent | 37.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.179 | 1.000 | 0.000 | Hitting_2B | 0.176 | 0.000 | 0.824 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.440 | 3.000 | 5.000 | Hitting_AB | 3.400 | 3.000 | -0.400 | 0.000 |
| predicted_AVG | 0.276 | 0.333 | 0.200 | Hitting_AVG | 0.308 | 0.333 | 0.025 | 0.000 |
| predicted_BB | 0.155 | 0.000 | 0.000 | Hitting_BB | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 1.000 | 1.000 | Hitting_H | 1.047 | 1.000 | -0.047 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_OBP | 0.317 | 0.333 | 0.200 | Hitting_OBP | 0.340 | 0.333 | -0.007 | 0.000 |
| predicted_R | 0.286 | 0.000 | 0.000 | Hitting_R | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.565 | 0.000 | -0.565 | 0.000 |
| predicted_SLG | 0.435 | 0.667 | 0.200 | Hitting_SLG | 0.453 | 0.333 | 0.213 | 0.333 |
| predicted_SO | 0.679 | 0.000 | 1.000 | Hitting_SO | 0.671 | 1.000 | -0.671 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_2B: 0.1790 -> 1.0000 (boost 0.8210, better) |
| Biggest Deboost | predicted_SO: 0.6790 -> 0.0000 (deboost -0.6790, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.4400 -> 5.1796 (boost 1.7396, 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 | 5 | 0 | 5 | 0 | 5 | - | predicted_H: 1.3872 -> 1.3059 (deboost -0.0813, 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_RBI: 0.7059 -> 1.0000 (boost 0.2941, better) | predicted_H: 1.3059 -> 1.0000 (deboost -0.3059, worse) | AB rounded to 5 (raw=5.18), rates preserved: AVG=0.252 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4336 -> 0.0000 (deboost -0.4336, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4029 -> 0.2000 (deboost -0.2029, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4029 (boost 0.2029, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682818",
"player_name": "Yohendrick Pinango",
"position": "RF",
"team": "TOR",
"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": 3.44,
"predicted_AVG": 0.276,
"predicted_BB": 0.155,
"predicted_H": 0.74,
"predicted_HR": 0.11,
"predicted_OBP": 0.317,
"predicted_R": 0.286,
"predicted_RBI": 0.44,
"predicted_SLG": 0.435,
"predicted_SO": 0.679
},
"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.2252,
"predicted_3B": 0.0013,
"predicted_AB": 5.1796,
"predicted_AVG": 0.2864,
"predicted_BB": 0.205,
"predicted_H": 1.3872,
"predicted_HBP": 0.006,
"predicted_HR": 0.1973,
"predicted_OBP": 0.3206,
"predicted_R": 0.4813,
"predicted_RBI": 0.7835,
"predicted_SLG": 0.4478,
"predicted_SO": 1.2326
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.2252,
"delta": 0.0462,
"percent_delta": 0.2581,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0013,
"delta": 0.0013,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.44,
"after": 5.1796,
"delta": 1.7396,
"percent_delta": 0.5057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2864,
"delta": 0.0104,
"percent_delta": 0.0377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.155,
"after": 0.205,
"delta": 0.05,
"percent_delta": 0.3226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.3872,
"delta": 0.6472,
"percent_delta": 0.8746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1973,
"delta": 0.0873,
"percent_delta": 0.7936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3206,
"delta": 0.0036,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.4813,
"delta": 0.1953,
"percent_delta": 0.6829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.7835,
"delta": 0.3435,
"percent_delta": 0.7807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4478,
"delta": 0.0128,
"percent_delta": 0.0294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.679,
"after": 1.2326,
"delta": 0.5536,
"percent_delta": 0.8153,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.44,
"after": 5.1796,
"delta": 1.7396,
"percent_delta": 0.5057,
"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": 6,
"season": 30
}
},
{
"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.2252,
"predicted_3B": 0.0013,
"predicted_AB": 5.1796,
"predicted_AVG": 0.2521,
"predicted_BB": 0.2015,
"predicted_H": 1.3059,
"predicted_HBP": 0.006,
"predicted_HR": 0.1844,
"predicted_OBP": 0.2801,
"predicted_R": 0.4336,
"predicted_RBI": 0.7059,
"predicted_SLG": 0.4029,
"predicted_SO": 1.2537
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2252,
"after": 0.2252,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.1796,
"after": 5.1796,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2864,
"after": 0.2521,
"delta": -0.0343,
"percent_delta": -0.1198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 0.2015,
"delta": -0.0035,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3872,
"after": 1.3059,
"delta": -0.0813,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.006,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1973,
"after": 0.1844,
"delta": -0.0129,
"percent_delta": -0.0654,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3206,
"after": 0.2801,
"delta": -0.0405,
"percent_delta": -0.1263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4813,
"after": 0.4336,
"delta": -0.0477,
"percent_delta": -0.0991,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7835,
"after": 0.7059,
"delta": -0.0776,
"percent_delta": -0.099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4478,
"after": 0.4029,
"delta": -0.0449,
"percent_delta": -0.1003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2326,
"after": 1.2537,
"delta": 0.0211,
"percent_delta": 0.0171,
"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": 1.3872,
"after": 1.3059,
"delta": -0.0813,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.18), rates preserved: AVG=0.252 HR/AB=0.036",
"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.2252,
"after": 0.0,
"delta": -0.2252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.1796,
"after": 5.0,
"delta": -0.1796,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2015,
"after": 0.0,
"delta": -0.2015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3059,
"after": 1.0,
"delta": -0.3059,
"percent_delta": -0.2342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1844,
"after": 0.0,
"delta": -0.1844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7059,
"after": 1.0,
"delta": 0.2941,
"percent_delta": 0.4166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2537,
"after": 1.0,
"delta": -0.2537,
"percent_delta": -0.2024,
"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_RBI",
"before": 0.7059,
"after": 1.0,
"delta": 0.2941,
"percent_delta": 0.4166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3059,
"after": 1.0,
"delta": -0.3059,
"percent_delta": -0.2342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 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.4336,
"after": 0.0,
"delta": -0.4336,
"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.4336,
"after": 0.0,
"delta": -0.4336,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.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.2521,
"after": 0.2,
"delta": -0.0521,
"percent_delta": -0.2067,
"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.2801,
"after": 0.2,
"delta": -0.0801,
"percent_delta": -0.286,
"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.4029,
"after": 0.2,
"delta": -0.2029,
"percent_delta": -0.5036,
"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.4029,
"after": 0.2,
"delta": -0.2029,
"percent_delta": -0.5036,
"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": 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": 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": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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": 3.0,
"predicted_AVG": 0.2521,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2801,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4029,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2521,
"delta": 0.0521,
"percent_delta": 0.2606,
"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.2,
"after": 0.2801,
"delta": 0.0801,
"percent_delta": 0.4006,
"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.2,
"after": 0.4029,
"delta": 0.2029,
"percent_delta": 1.0145,
"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.2,
"after": 0.4029,
"delta": 0.2029,
"percent_delta": 1.0145,
"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.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": 3.44,
"after": 3.0,
"delta": -0.44,
"percent_delta": -0.1279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2521,
"delta": -0.0239,
"percent_delta": -0.0866,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"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.317,
"after": 0.2801,
"delta": -0.0369,
"percent_delta": -0.1164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"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.435,
"after": 0.4029,
"delta": -0.0321,
"percent_delta": -0.0738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.679,
"after": 0.0,
"delta": -0.679,
"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_2B",
"before": 0.179,
"after": 1.0,
"delta": 0.821,
"percent_delta": 4.5866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.679,
"after": 0.0,
"delta": -0.679,
"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.179 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.440 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.155 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.286 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.435 | - |
| predicted_SO | 0.679 | - |
Final model 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.225 | 0.046 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.180 | 1.740 |
| predicted_AVG | 0.286 | 0.010 |
| predicted_BB | 0.205 | 0.050 |
| predicted_H | 1.387 | 0.647 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.197 | 0.087 |
| predicted_OBP | 0.321 | 0.004 |
| predicted_R | 0.481 | 0.195 |
| predicted_RBI | 0.783 | 0.343 |
| predicted_SLG | 0.448 | 0.013 |
| predicted_SO | 1.233 | 0.554 |
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.225 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.180 | 0.000 |
| predicted_AVG | 0.252 | -0.034 |
| predicted_BB | 0.202 | -0.003 |
| predicted_H | 1.306 | -0.081 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.184 | -0.013 |
| predicted_OBP | 0.280 | -0.040 |
| predicted_R | 0.434 | -0.048 |
| predicted_RBI | 0.706 | -0.078 |
| predicted_SLG | 0.403 | -0.045 |
| predicted_SO | 1.254 | 0.021 |
AB rounded to 5 (raw=5.18), rates preserved: AVG=0.252 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.225 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.180 |
| predicted_AVG | 0.200 | -0.052 |
| predicted_BB | 0.000 | -0.202 |
| predicted_H | 1.000 | -0.306 |
| predicted_HR | 0.000 | -0.184 |
| predicted_OBP | 0.200 | -0.080 |
| predicted_R | 0.000 | -0.434 |
| predicted_RBI | 1.000 | 0.294 |
| predicted_SLG | 0.200 | -0.203 |
| predicted_SO | 1.000 | -0.254 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -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 | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 7.000 | 0.3125 | 0.3125 | 0.5000 | 0.3125 | 0.0625 | 0.1875 | 0.0000 | 0.4375 |
| last_10 | 0.20 | 6 | - | 34.000 | 8.000 | 0.000 | 0.000 | 4.000 | 6.000 | 5.000 | 0.000 | 16.000 | 0.2353 | 0.2353 | 0.5882 | 0.2353 | 0.1177 | 0.1765 | 0.0000 | 0.4706 |
| season | 0.60 | 30 | - | 289.000 | 89.000 | 15.000 | 0.000 | 9.000 | 47.000 | 24.000 | 13.000 | 57.000 | 0.3080 | 0.3377 | 0.4533 | 0.3080 | 0.0311 | 0.1626 | 0.0450 | 0.1972 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2880 |
| predicted_3B | 0.0030 |
| predicted_AB | 7.5470 |
| predicted_AVG | 0.3006 |
| predicted_BB | 0.2730 |
| predicted_H | 2.2680 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.3160 |
| predicted_OBP | 0.3256 |
| predicted_R | 0.7470 |
| predicted_RBI | 1.2510 |
| predicted_SLG | 0.4652 |
| predicted_SO | 1.9860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.2880 | 0.2252 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.4400 | 7.5470 | 5.1796 | model_form_blend |
| predicted_AVG | 0.2760 | 0.3006 | 0.2864 | model_form_blend |
| predicted_BB | 0.1550 | 0.2730 | 0.2050 | model_form_blend |
| predicted_H | 0.7400 | 2.2680 | 1.3872 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1100 | 0.3160 | 0.1973 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3256 | 0.3206 | model_form_blend |
| predicted_R | 0.2860 | 0.7470 | 0.4813 | model_form_blend |
| predicted_RBI | 0.4400 | 1.2510 | 0.7835 | model_form_blend |
| predicted_SLG | 0.4350 | 0.4652 | 0.4478 | model_form_blend |
| predicted_SO | 0.6790 | 1.9860 | 1.2326 | 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 | 85 |
| Season rows before report date | 85 |
| Report year | 2026 |
| Profile rows used | 84 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.308 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | RF |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 682818 |
| playerID | 682818 |
| playerName | Yohendrick Pinango |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-03 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.347 |
| sl_xwoba | 0.329 |
| sl_xba | 0.295 |
| sl_xslg | 0.422 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 42.3 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 7.9 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 50.7 |
| 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 | 0.281 | 0.000 | 2.719 | 3.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.312 | 0.000 | 2.688 | 3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 0.688 | 1.000 | 4.312 | 4.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 0.497 | 0.200 | 3.703 | 4.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 0.938 | 0.000 | 3.062 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "689254",
"player_name": "Mason Fluharty",
"position": "Starter",
"team": "TOR",
"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": 0.0,
"predicted_IP": 4.6667,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 3.0,
"predicted_SO": 4.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 0.000 | 2.000 | 0.000 | 5.000 | 0.000 | 0.0000 | 0.5000 | 0.0000 | 0.5000 | 0.0000 | 1.2500 | 0.0000 |
| last_10 | 0.35 | 10 | 7.200 | 1.000 | 8.000 | 2.000 | 11.000 | 0.000 | 1.1739 | 1.3043 | 0.1304 | 1.0435 | 0.2609 | 1.4348 | 0.0000 |
| season | 0.20 | 31 | 22.200 | 8.000 | 20.000 | 9.000 | 30.000 | 1.000 | 3.1765 | 1.2794 | 0.3529 | 0.8823 | 0.3971 | 1.3235 | 0.0441 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7620 |
| predicted_ER | 0.8600 |
| predicted_ERA | 2.7860 |
| predicted_H | 2.4070 |
| predicted_HR | 0.2130 |
| predicted_IP | 2.2000 |
| predicted_SO | 3.1230 |
| predicted_WHIP | 1.1408 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 0.7620 | 2.0444 | model_form_blend |
| predicted_ER | 3.0000 | 0.8600 | 2.0862 | model_form_blend |
| predicted_ERA | - | 2.7860 | 2.7860 | form_only |
| predicted_H | 5.0000 | 2.4070 | 3.8928 | model_form_blend |
| predicted_HR | 0.0000 | 0.2130 | 0.0910 | model_form_blend |
| predicted_IP | 4.2000 | 2.2000 | 3.2000 | model_form_blend |
| predicted_SO | 4.0000 | 3.1230 | 3.6255 | model_form_blend |
| predicted_WHIP | - | 1.1408 | 1.1408 | 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 | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 3 |
| SO | 4 |
| HR | 0 |
| BF | 22 |
| Pitches | 86 |
| 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.97 |
| 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 | 0.2 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260602_TOR@ATL |
| game_type | full |
| mlbID | 689254 |
| playerID | 689254 |
| playerName | Mason Fluharty |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-02 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.292 |
| sl_xwoba | 0.227 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 29.3 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 48.5 |
| sl_avg_best_speed | 74.667086207 |
| sl_avg_hyper_speed | 91.918670877 |
| 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.321 | 0.000 | -0.321 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.821 | 0.000 | -0.821 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.007 | 1.000 | 0.093 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.500 | 1.000 | -1.500 | -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: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "686973",
"player_name": "Louis Varland",
"position": "Middle Reliever",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 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.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.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 | 6.100 | 0.000 | 4.000 | 0.000 | 7.000 | 0.000 | 0.0000 | 0.6316 | 0.0000 | 0.6316 | 0.0000 | 1.1053 | 0.0000 |
| last_10 | 0.35 | 10 | 12.100 | 0.000 | 9.000 | 2.000 | 13.000 | 0.000 | 0.0000 | 0.8919 | 0.0000 | 0.7297 | 0.1622 | 1.0540 | 0.0000 |
| season | 0.20 | 28 | 31.000 | 1.000 | 23.000 | 9.000 | 42.000 | 0.000 | 0.2903 | 1.0323 | 0.0323 | 0.7419 | 0.2903 | 1.3548 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2960 |
| predicted_ER | 0.2860 |
| predicted_ERA | 1.9848 |
| predicted_H | 1.0480 |
| predicted_HR | 0.0800 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3600 |
| predicted_WHIP | 1.0366 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2960 | 0.1362 | model_form_blend |
| predicted_ER | 0.0000 | 0.2860 | 0.1316 | model_form_blend |
| predicted_ERA | - | 1.9848 | 1.9848 | form_only |
| predicted_H | 0.0000 | 1.0480 | 0.4821 | model_form_blend |
| predicted_HR | 0.0000 | 0.0800 | 0.0368 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.3600 | 0.6256 | model_form_blend |
| predicted_WHIP | - | 1.0366 | 1.0366 | 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 | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 5 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.29 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260530_TOR@BAL |
| game_type | full |
| mlbID | 686973 |
| playerID | 686973 |
| playerName | Louis Varland |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-30 |
| sl_k_percent | 35.0 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.23 |
| sl_xwoba | 0.214 |
| sl_sweet_spot_percent | 20.3 |
| sl_barrel_batted_rate | 1.4 |
| sl_hard_hit_percent | 34.8 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 50.9 |
| sl_avg_best_speed | 75.203807143 |
| sl_avg_hyper_speed | 93.212556957 |
| 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.387 | 0.000 | -0.387 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.290 | 0.000 | -0.290 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.613 | 0.000 | 0.387 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.935 | 1.000 | 0.065 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.097 | 1.000 | -0.097 | 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": "680755",
"player_name": "Braydon Fisher",
"position": "Middle Reliever",
"team": "TOR",
"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": 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": 0.0,
"predicted_H": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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 | 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 | 0.000 | 1.000 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.2000 | 0.0000 | 0.2000 | 0.0000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 1.000 | 3.000 | 3.000 | 14.000 | 1.000 | 0.8182 | 0.5455 | 0.0909 | 0.2727 | 0.2727 | 1.2727 | 0.0909 |
| season | 0.20 | 31 | 33.200 | 9.000 | 19.000 | 12.000 | 34.000 | 2.000 | 2.4059 | 0.9208 | 0.2673 | 0.5644 | 0.3564 | 1.0099 | 0.0594 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2530 |
| predicted_ER | 0.2560 |
| predicted_ERA | 2.3027 |
| predicted_H | 0.5810 |
| predicted_HR | 0.0840 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9790 |
| predicted_WHIP | 0.8334 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2530 | 0.1186 | model_form_blend |
| predicted_ER | 0.0000 | 0.2560 | 0.1200 | model_form_blend |
| predicted_ERA | - | 2.3027 | 2.3027 | form_only |
| predicted_H | 1.0000 | 0.5810 | 0.8037 | model_form_blend |
| predicted_HR | 0.0000 | 0.0840 | 0.0394 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9790 | 0.9902 | model_form_blend |
| predicted_WHIP | - | 0.8334 | 0.8334 | 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 | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.41 |
| 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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260602_TOR@ATL |
| game_type | full |
| mlbID | 680755 |
| playerID | 680755 |
| playerName | Braydon Fisher |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-02 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.247 |
| sl_xwoba | 0.293 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 38.5 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 45.1 |
| sl_avg_best_speed | 76.747016154 |
| sl_avg_hyper_speed | 93.493578205 |
| 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.321 | 0.000 | -0.321 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.750 | 0.000 | 1.250 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.861 | 1.000 | 0.139 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.571 | 0.000 | -0.571 | 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": "643511",
"player_name": "Tyler Rogers",
"position": "Middle Reliever",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.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.100 | 3.000 | 4.000 | 2.000 | 1.000 | 0.000 | 6.2308 | 1.3846 | 0.6923 | 0.9231 | 0.4615 | 0.2308 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 6.000 | 5.000 | 6.000 | 0.000 | 3.0000 | 1.2222 | 0.3333 | 0.6667 | 0.5556 | 0.6667 | 0.0000 |
| season | 0.20 | 28 | 26.200 | 7.000 | 21.000 | 9.000 | 16.000 | 0.000 | 2.3625 | 1.1250 | 0.2625 | 0.7875 | 0.3375 | 0.6000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4200 |
| predicted_ER | 0.4820 |
| predicted_ERA | 4.3343 |
| predicted_H | 0.8790 |
| predicted_HR | 0.0670 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6930 |
| predicted_WHIP | 1.2987 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4200 | 0.1865 | model_form_blend |
| predicted_ER | 0.0000 | 0.4820 | 0.2141 | model_form_blend |
| predicted_ERA | - | 4.3343 | 4.3343 | form_only |
| predicted_H | 2.0000 | 0.8790 | 1.5021 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0298 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6930 | 0.3078 | model_form_blend |
| predicted_WHIP | - | 1.2987 | 1.2987 | 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 | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.36 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260530_TOR@BAL |
| game_type | full |
| mlbID | 643511 |
| playerID | 643511 |
| playerName | Tyler Rogers |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-30 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.23 |
| sl_xwoba | 0.242 |
| sl_sweet_spot_percent | 23.8 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 21.4 |
| sl_whiff_percent | 14.8 |
| sl_swing_percent | 48.5 |
| sl_avg_best_speed | 70.879532927 |
| sl_avg_hyper_speed | 91.737947561 |
| Field | Value |
|---|---|
| Pitcher | Chris Sale |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4861 |
| ESPN Rank | 12 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1155 |
| Avg Velo | 87.6380 |
| Avg Spin | 2281.8376 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 2.0149 |
| Season WHIP | 0.9403 |
| Role Avg IP | 6.0910 |
| Recent Avg IP | 6.4000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 68,
"wins": 47,
"losses": 21,
"win_pct": 0.6912,
"runs_scored": 355.0,
"runs_allowed": 228.0,
"run_differential": 127.0,
"run_differential_per_game": 1.8676,
"avg_runs_scored": 5.2206,
"avg_runs_allowed": 3.3529,
"offense_index": 1.1697,
"defense_index": 1.3311,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.4277
},
"opponent": {
"team": "TOR",
"games": 68,
"wins": 32,
"losses": 36,
"win_pct": 0.4706,
"runs_scored": 282.0,
"runs_allowed": 275.0,
"run_differential": 7.0,
"run_differential_per_game": 0.1029,
"avg_runs_scored": 4.1471,
"avg_runs_allowed": 4.0441,
"offense_index": 0.9292,
"defense_index": 1.1036,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.6,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0473
},
"edges": {
"quality_edge": 0.475,
"offense_edge": 0.1697,
"opponent_offense_edge": -0.0708,
"defense_strength": 0.3311,
"opponent_defense_weakness": -0.1036,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0318,
"run_prevention": 0.9318,
"strikeout": 1.0199
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "519242",
"profile": {
"available": true,
"pitcher_id": "519242",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 30.2,
"bb_percent": 6.4,
"woba": 0.255,
"xwoba": 0.284,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 29.6,
"avg_best_speed": 75.9264,
"avg_hyper_speed": 92.8803,
"whiff_percent": 30.0,
"swing_percent": 50.4
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7768,
"command_and_miss": 0.845,
"regression_edge": -0.8286,
"xwoba_edge": 0.8857,
"barrel_edge": 0.0889,
"hard_hit_edge": 1.2571,
"whiff_edge": 0.6,
"bb_edge": 0.7,
"pitch_design_score": -0.1155
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "519242",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 101,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 101,
"pitch_usage": 0.0,
"release_speed": 87.63799198092443,
"release_spin_rate": 2281.8376344581097,
"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": 101,
"pitch_usage": 0.0,
"release_speed": 87.63799198092443,
"release_spin_rate": 2281.8376344581097,
"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.638,
"release_spin_rate": 2281.8376,
"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.1155,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8249,
"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.4861,
"sample_weight": 0.864,
"run_prevention_factor": 0.9587,
"strikeout_factor": 1.0588,
"walk_factor": 0.9516,
"homer_factor": 0.9275,
"woba_minus_xwoba": -0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "519242",
"espn_id": 30948,
"player_name": "Chris Sale",
"team": "ATL",
"role": "pitcher",
"espn_rank": 12,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 12,
"gp_value": 11.0,
"gp_rank": 322,
"gs_value": 11.0,
"gs_rank": 70,
"qs_value": 9.0,
"qs_rank": 2,
"era_value": 2.0149,
"era_rank": 4.0,
"w_value": 8.0,
"w_rank": 3,
"l_value": 3.0,
"l_rank": 78,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 67.0,
"ip_rank": 37,
"h_value": 46.0,
"h_rank": 110,
"er_value": 15.0,
"er_rank": 169,
"hr_value": 6.0,
"hr_rank": 90,
"bb_value": 17.0,
"bb_rank": 116,
"k_value": 80.0,
"k_rank": 12,
"k_per_9_value": 10.746268,
"k_per_9_rank": 8,
"whip_value": 0.9402,
"whip_rank": 4.0,
"war_value": 2.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9643,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 0.9643,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9582,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9374,
"adjusted": 0
},
"predicted_SO": {
"original": 8.0,
"factor": 1.0508,
"adjusted": 8
}
}
}
}{
"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": 61.0,
"ER": 15,
"H": 43,
"BB": 14,
"SO": 74,
"HR": 6,
"ERA": 2.2131147540983607,
"WHIP": 0.9344262295081968,
"K9": 10.918032786885245,
"HR9": 0.8852459016393442,
"games_pitched": 10,
"quality_starts": 8,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-28T00:00:00"
}{
"available": true,
"pitcher_id": "519242",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 101,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 101,
"pitch_usage": 0.0,
"release_speed": 87.63799198092443,
"release_spin_rate": 2281.8376344581097,
"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": 101,
"pitch_usage": 0.0,
"release_speed": 87.63799198092443,
"release_spin_rate": 2281.8376344581097,
"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.638,
"release_spin_rate": 2281.8376,
"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.1155,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8249,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"role": "pitcher",
"player_id": "519242",
"report_date": "20260604_T",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 6.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.0,
"ER": 6.0,
"R": 8.0,
"H": 23.0,
"BB": 8.0,
"SO": 42.0,
"HR": 1.0,
"BF": 128.0,
"Pitches": 496.0
},
"per_game": {
"IP": 6.1,
"ER": 1.2,
"R": 1.6,
"H": 4.6,
"BB": 1.6,
"SO": 8.4,
"HR": 0.2,
"BF": 25.6,
"Pitches": 99.2
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.9688,
"ER_per_IP": 0.1875,
"H_per_IP": 0.71875,
"BB_per_IP": 0.25,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.03125
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 61.0,
"ER": 15.0,
"R": 17.0,
"H": 43.0,
"BB": 14.0,
"SO": 74.0,
"HR": 6.0,
"BF": 242.0,
"Pitches": 950.0
},
"per_game": {
"IP": 6.0,
"ER": 1.5,
"R": 1.7,
"H": 4.3,
"BB": 1.4,
"SO": 7.4,
"HR": 0.6,
"BF": 24.2,
"Pitches": 95.0
},
"rates": {
"ERA": 2.2131,
"WHIP": 0.9344,
"ER_per_IP": 0.2459,
"H_per_IP": 0.70492,
"BB_per_IP": 0.22951,
"SO_per_IP": 1.21311,
"HR_per_IP": 0.09836
}
},
"season": {
"games": 11,
"totals": {
"IP": 67.0,
"ER": 15.0,
"R": 17.0,
"H": 46.0,
"BB": 17.0,
"SO": 80.0,
"HR": 6.0,
"BF": 265.0,
"Pitches": 1038.0
},
"per_game": {
"IP": 6.0,
"ER": 1.3636,
"R": 1.5455,
"H": 4.1818,
"BB": 1.5455,
"SO": 7.2727,
"HR": 0.5455,
"BF": 24.0909,
"Pitches": 94.3636
},
"rates": {
"ERA": 2.0149,
"WHIP": 0.9403,
"ER_per_IP": 0.22388,
"H_per_IP": 0.68657,
"BB_per_IP": 0.25373,
"SO_per_IP": 1.19403,
"HR_per_IP": 0.08955
}
}
},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 1.886,
"predicted_H": 4.955,
"predicted_BB": 1.78,
"predicted_SO": 7.297,
"predicted_HR": 0.559,
"predicted_ERA": 2.6887,
"predicted_WHIP": 1.0672
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.482,
"form_weight": 0.518,
"form_reliability": 0.6875,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"applied_metrics": {
"predicted_IP": {
"model": 6.2,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.886,
"final": 0.9769,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 4.955,
"final": 3.0486,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.78,
"final": 0.922,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 7.297,
"final": 4.7437,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.559,
"final": 0.2895,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6887,
"final": 2.6887,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0672,
"final": 1.0672,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Raisel Iglesias |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5611 |
| ESPN Rank | 84 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1386 |
| Avg Velo | 92.1747 |
| Avg Spin | 2190.7643 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 0.9643 |
| Season WHIP | 0.9107 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 68,
"wins": 47,
"losses": 21,
"win_pct": 0.6912,
"runs_scored": 355.0,
"runs_allowed": 228.0,
"run_differential": 127.0,
"run_differential_per_game": 1.8676,
"avg_runs_scored": 5.2206,
"avg_runs_allowed": 3.3529,
"offense_index": 1.1697,
"defense_index": 1.3311,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.4277
},
"opponent": {
"team": "TOR",
"games": 68,
"wins": 32,
"losses": 36,
"win_pct": 0.4706,
"runs_scored": 282.0,
"runs_allowed": 275.0,
"run_differential": 7.0,
"run_differential_per_game": 0.1029,
"avg_runs_scored": 4.1471,
"avg_runs_allowed": 4.0441,
"offense_index": 0.9292,
"defense_index": 1.1036,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.6,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0473
},
"edges": {
"quality_edge": 0.475,
"offense_edge": 0.1697,
"opponent_offense_edge": -0.0708,
"defense_strength": 0.3311,
"opponent_defense_weakness": -0.1036,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0318,
"run_prevention": 0.9318,
"strikeout": 1.0199
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "628452",
"profile": {
"available": true,
"pitcher_id": "628452",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 63.0,
"k_percent": 31.0,
"bb_percent": 4.2,
"woba": 0.222,
"xwoba": 0.227,
"sweet_spot_percent": 28.3,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 30.4,
"avg_best_speed": 79.201,
"avg_hyper_speed": 92.6126,
"whiff_percent": 34.7,
"swing_percent": 56.8
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.6559,
"command_and_miss": 1.2414,
"regression_edge": -0.1429,
"xwoba_edge": 2.5,
"barrel_edge": 0.6222,
"hard_hit_edge": 1.1429,
"whiff_edge": 1.2714,
"bb_edge": 1.25,
"pitch_design_score": 0.1386
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "628452",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 92.17465607579985,
"release_spin_rate": 2190.764271378776,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 92.17465607579985,
"release_spin_rate": 2190.764271378776,
"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.1747,
"release_spin_rate": 2190.7643,
"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.1386,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9897,
"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.5611,
"sample_weight": 0.45,
"run_prevention_factor": 0.9523,
"strikeout_factor": 1.0447,
"walk_factor": 0.955,
"homer_factor": 0.9233,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "628452",
"espn_id": 33618,
"player_name": "Raisel Iglesias",
"team": "ATL",
"role": "pitcher",
"espn_rank": 84,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 84,
"gp_value": 18.0,
"gp_rank": 164,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 0.9642,
"era_rank": null,
"w_value": 0.0,
"w_rank": 374,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 11.0,
"sv_rank": 9,
"hld_value": 0.0,
"hld_rank": 241,
"ip_value": 18.2,
"ip_rank": 357,
"h_value": 14.0,
"h_rank": 380,
"er_value": 2.0,
"er_rank": 551,
"hr_value": 0.0,
"hr_rank": 536,
"bb_value": 3.0,
"bb_rank": 505,
"k_value": 22.0,
"k_rank": 287,
"k_per_9_value": 10.607143,
"k_per_9_rank": 21,
"whip_value": 0.9107,
"whip_rank": null,
"war_value": 0.94,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9785,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9785,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9798,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9655,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0201,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 9,
"BB": 2,
"SO": 11,
"HR": 0,
"ERA": 1.8,
"WHIP": 1.1,
"K9": 9.9,
"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-06-02T00:00:00"
}{
"available": true,
"pitcher_id": "628452",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 92.17465607579985,
"release_spin_rate": 2190.764271378776,
"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": 17,
"pitch_usage": 0.0,
"release_speed": 92.17465607579985,
"release_spin_rate": 2190.764271378776,
"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.1747,
"release_spin_rate": 2190.7643,
"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.1386,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9897,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.684,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4242,
"prior_weight": 0.5758
},
"role": "pitcher",
"player_id": "628452",
"report_date": "20260604_T",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 0.0,
"SO": 5.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.4,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.4,
"Pitches": 15.6
},
"rates": {
"ERA": 3.6,
"WHIP": 1.4,
"ER_per_IP": 0.4,
"H_per_IP": 1.4,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 9.0,
"BB": 2.0,
"SO": 11.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 144.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.2,
"SO": 1.1,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.4
},
"rates": {
"ERA": 1.8,
"WHIP": 1.1,
"ER_per_IP": 0.2,
"H_per_IP": 0.9,
"BB_per_IP": 0.2,
"SO_per_IP": 1.1,
"HR_per_IP": 0.0
}
},
"season": {
"games": 18,
"totals": {
"IP": 18.2,
"ER": 2.0,
"R": 2.0,
"H": 14.0,
"BB": 3.0,
"SO": 22.0,
"HR": 0.0,
"BF": 71.0,
"Pitches": 264.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1111,
"R": 0.1111,
"H": 0.7778,
"BB": 0.1667,
"SO": 1.2222,
"HR": 0.0,
"BF": 3.9444,
"Pitches": 14.6667
},
"rates": {
"ERA": 0.9643,
"WHIP": 0.9107,
"ER_per_IP": 0.10714,
"H_per_IP": 0.75,
"BB_per_IP": 0.16071,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.393,
"predicted_H": 1.015,
"predicted_BB": 0.255,
"predicted_SO": 0.996,
"predicted_HR": 0.079,
"predicted_ERA": 3.5367,
"predicted_WHIP": 1.2695
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5933,
"form_weight": 0.4067,
"form_reliability": 0.4242,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.684,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4242,
"prior_weight": 0.5758
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.393,
"final": 0.1598,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.015,
"final": 0.4128,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.255,
"final": 0.697,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.996,
"final": 0.4051,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.079,
"final": 0.0321,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5367,
"final": 3.5367,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2695,
"final": 1.2695,
"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 | Robert Suarez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3329 |
| ESPN Rank | 50 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.6826 |
| Avg Spin | 2231.8570 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 0.6506 |
| Season WHIP | 0.8675 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 68,
"wins": 47,
"losses": 21,
"win_pct": 0.6912,
"runs_scored": 355.0,
"runs_allowed": 228.0,
"run_differential": 127.0,
"run_differential_per_game": 1.8676,
"avg_runs_scored": 5.2206,
"avg_runs_allowed": 3.3529,
"offense_index": 1.1697,
"defense_index": 1.3311,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.4277
},
"opponent": {
"team": "TOR",
"games": 68,
"wins": 32,
"losses": 36,
"win_pct": 0.4706,
"runs_scored": 282.0,
"runs_allowed": 275.0,
"run_differential": 7.0,
"run_differential_per_game": 0.1029,
"avg_runs_scored": 4.1471,
"avg_runs_allowed": 4.0441,
"offense_index": 0.9292,
"defense_index": 1.1036,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.6,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0473
},
"edges": {
"quality_edge": 0.475,
"offense_edge": 0.1697,
"opponent_offense_edge": -0.0708,
"defense_strength": 0.3311,
"opponent_defense_weakness": -0.1036,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0318,
"run_prevention": 0.9318,
"strikeout": 1.0199
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663158",
"profile": {
"available": true,
"pitcher_id": "663158",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 88.0,
"k_percent": 23.8,
"bb_percent": 4.8,
"woba": 0.213,
"xwoba": 0.268,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 29.7,
"avg_best_speed": 71.2053,
"avg_hyper_speed": 92.6001,
"whiff_percent": 26.1,
"swing_percent": 53.6
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.4138,
"command_and_miss": 0.3186,
"regression_edge": -1.5714,
"xwoba_edge": 1.3429,
"barrel_edge": 1.0,
"hard_hit_edge": 1.2429,
"whiff_edge": 0.0429,
"bb_edge": 1.1,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663158",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 95.68258064967145,
"release_spin_rate": 2231.857040735621,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 95.68258064967145,
"release_spin_rate": 2231.857040735621,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.6826,
"release_spin_rate": 2231.857,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.3329,
"sample_weight": 0.45,
"run_prevention_factor": 0.9717,
"strikeout_factor": 1.0041,
"walk_factor": 0.9604,
"homer_factor": 0.9235,
"woba_minus_xwoba": -0.055,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663158",
"espn_id": 4148749,
"player_name": "Robert Suarez",
"team": "ATL",
"role": "pitcher",
"espn_rank": 50,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 50,
"gp_value": 27.0,
"gp_rank": 33,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 0.6506,
"era_rank": null,
"w_value": 4.0,
"w_rank": 46,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 4.0,
"sv_rank": 27,
"hld_value": 9.0,
"hld_rank": 21,
"ip_value": 27.2,
"ip_rank": 207,
"h_value": 19.0,
"h_rank": 291,
"er_value": 2.0,
"er_rank": 551,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 5.0,
"bb_rank": 433,
"k_value": 25.0,
"k_rank": 248,
"k_per_9_value": 8.13253,
"k_per_9_rank": 32,
"whip_value": 0.8674,
"whip_rank": null,
"war_value": 1.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9873,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9873,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9822,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9656,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0018,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 1,
"H": 7,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 0.84375,
"WHIP": 0.84375,
"K9": 7.59375,
"HR9": 0.84375,
"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-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "663158",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 95.68258064967145,
"release_spin_rate": 2231.857040735621,
"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": 14,
"pitch_usage": 0.0,
"release_speed": 95.68258064967145,
"release_spin_rate": 2231.857040735621,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.6826,
"release_spin_rate": 2231.857,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.461,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.522,
"prior_weight": 0.478
},
"role": "pitcher",
"player_id": "663158",
"report_date": "20260604_T",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 0.0,
"SO": 5.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 61.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 0.0,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 151.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.7,
"BB": 0.2,
"SO": 0.9,
"HR": 0.1,
"BF": 4.0,
"Pitches": 15.1
},
"rates": {
"ERA": 0.8438,
"WHIP": 0.8438,
"ER_per_IP": 0.09375,
"H_per_IP": 0.65625,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.84375,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 27,
"totals": {
"IP": 27.2,
"ER": 2.0,
"R": 2.0,
"H": 19.0,
"BB": 5.0,
"SO": 25.0,
"HR": 1.0,
"BF": 105.0,
"Pitches": 407.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0741,
"R": 0.0741,
"H": 0.7037,
"BB": 0.1852,
"SO": 0.9259,
"HR": 0.037,
"BF": 3.8889,
"Pitches": 15.0741
},
"rates": {
"ERA": 0.6506,
"WHIP": 0.8675,
"ER_per_IP": 0.07229,
"H_per_IP": 0.68675,
"BB_per_IP": 0.18072,
"SO_per_IP": 0.90361,
"HR_per_IP": 0.03614
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.255,
"predicted_H": 0.825,
"predicted_BB": 0.228,
"predicted_SO": 0.918,
"predicted_HR": 0.086,
"predicted_ERA": 2.2979,
"predicted_WHIP": 1.0532
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.552,
"form_weight": 0.448,
"form_reliability": 0.522,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.461,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.522,
"prior_weight": 0.478
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.255,
"final": 0.1143,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.825,
"final": 0.3696,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.228,
"final": 0.1022,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.918,
"final": 0.9633,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.086,
"final": 0.0385,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2979,
"final": 2.2979,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0532,
"final": 1.0532,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Dylan Lee |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5897 |
| ESPN Rank | 62 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1859 |
| Avg Velo | 86.3800 |
| Avg Spin | 2137.8084 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.2558 |
| Season WHIP | 0.6279 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 68,
"wins": 47,
"losses": 21,
"win_pct": 0.6912,
"runs_scored": 355.0,
"runs_allowed": 228.0,
"run_differential": 127.0,
"run_differential_per_game": 1.8676,
"avg_runs_scored": 5.2206,
"avg_runs_allowed": 3.3529,
"offense_index": 1.1697,
"defense_index": 1.3311,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.4277
},
"opponent": {
"team": "TOR",
"games": 68,
"wins": 32,
"losses": 36,
"win_pct": 0.4706,
"runs_scored": 282.0,
"runs_allowed": 275.0,
"run_differential": 7.0,
"run_differential_per_game": 0.1029,
"avg_runs_scored": 4.1471,
"avg_runs_allowed": 4.0441,
"offense_index": 0.9292,
"defense_index": 1.1036,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.6,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0473
},
"edges": {
"quality_edge": 0.475,
"offense_edge": 0.1697,
"opponent_offense_edge": -0.0708,
"defense_strength": 0.3311,
"opponent_defense_weakness": -0.1036,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0318,
"run_prevention": 0.9318,
"strikeout": 1.0199
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669276",
"profile": {
"available": true,
"pitcher_id": "669276",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 93.0,
"k_percent": 33.7,
"bb_percent": 3.8,
"woba": 0.187,
"xwoba": 0.209,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 30.8,
"avg_best_speed": 75.8118,
"avg_hyper_speed": 92.6816,
"whiff_percent": 38.1,
"swing_percent": 53.7
},
"league_medians": {
"pa": 75.0,
"k_percent": 22.5,
"bb_percent": 9.2,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.9055,
"avg_hyper_speed": 94.028,
"whiff_percent": 25.8,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.7338,
"command_and_miss": 1.605,
"regression_edge": -0.6286,
"xwoba_edge": 2.5,
"barrel_edge": 0.5778,
"hard_hit_edge": 1.0857,
"whiff_edge": 1.7571,
"bb_edge": 1.35,
"pitch_design_score": -0.1859
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669276",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 86.38001777175815,
"release_spin_rate": 2137.808413061298,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 86.38001777175815,
"release_spin_rate": 2137.808413061298,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.38,
"release_spin_rate": 2137.8084,
"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.1859,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3281,
"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.5897,
"sample_weight": 0.45,
"run_prevention_factor": 0.9499,
"strikeout_factor": 1.0604,
"walk_factor": 0.9514,
"homer_factor": 0.9259,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669276",
"espn_id": 41455,
"player_name": "Dylan Lee",
"team": "ATL",
"role": "pitcher",
"espn_rank": 62,
"espn_total_ranked": 668,
"metrics": {
"espn_rank": 62,
"gp_value": 29.0,
"gp_rank": 8,
"gs_value": 0.0,
"gs_rank": 273,
"qs_value": 0.0,
"qs_rank": 171,
"era_value": 1.2558,
"era_rank": null,
"w_value": 2.0,
"w_rank": 149,
"l_value": 0.0,
"l_rank": 400,
"sv_value": 0.0,
"sv_rank": 157,
"hld_value": 11.0,
"hld_rank": 5,
"ip_value": 28.2,
"ip_rank": 191,
"h_value": 14.0,
"h_rank": 380,
"er_value": 4.0,
"er_rank": 487,
"hr_value": 1.0,
"hr_rank": 383,
"bb_value": 4.0,
"bb_rank": 462,
"k_value": 35.0,
"k_rank": 147,
"k_per_9_value": 10.988372,
"k_per_9_rank": 20,
"whip_value": 0.6279,
"whip_rank": null,
"war_value": 1.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9775,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9775,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9781,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9667,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0272,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 7,
"BB": 2,
"SO": 12,
"HR": 1,
"ERA": 1.8,
"WHIP": 0.9,
"K9": 10.8,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-03T00:00:00"
}{
"available": true,
"pitcher_id": "669276",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 86.38001777175815,
"release_spin_rate": 2137.808413061298,
"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": 16,
"pitch_usage": 0.0,
"release_speed": 86.38001777175815,
"release_spin_rate": 2137.808413061298,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.38,
"release_spin_rate": 2137.8084,
"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.1859,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3281,
"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."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"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": 5.658,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5309,
"prior_weight": 0.4691
},
"role": "pitcher",
"player_id": "669276",
"report_date": "20260604_T",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 3.0,
"H": 3.0,
"BB": 2.0,
"SO": 6.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 89.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.6,
"BB": 0.4,
"SO": 1.2,
"HR": 0.2,
"BF": 4.2,
"Pitches": 17.8
},
"rates": {
"ERA": 3.375,
"WHIP": 0.9375,
"ER_per_IP": 0.375,
"H_per_IP": 0.5625,
"BB_per_IP": 0.375,
"SO_per_IP": 1.125,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 3.0,
"H": 7.0,
"BB": 2.0,
"SO": 12.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 153.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.7,
"BB": 0.2,
"SO": 1.2,
"HR": 0.1,
"BF": 3.9,
"Pitches": 15.3
},
"rates": {
"ERA": 1.8,
"WHIP": 0.9,
"ER_per_IP": 0.2,
"H_per_IP": 0.7,
"BB_per_IP": 0.2,
"SO_per_IP": 1.2,
"HR_per_IP": 0.1
}
},
"season": {
"games": 29,
"totals": {
"IP": 28.2,
"ER": 4.0,
"R": 5.0,
"H": 14.0,
"BB": 4.0,
"SO": 35.0,
"HR": 1.0,
"BF": 104.0,
"Pitches": 421.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1379,
"R": 0.1724,
"H": 0.4828,
"BB": 0.1379,
"SO": 1.2069,
"HR": 0.0345,
"BF": 3.5862,
"Pitches": 14.5172
},
"rates": {
"ERA": 1.2558,
"WHIP": 0.6279,
"ER_per_IP": 0.13953,
"H_per_IP": 0.48837,
"BB_per_IP": 0.13953,
"SO_per_IP": 1.22093,
"HR_per_IP": 0.03488
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.253,
"predicted_H": 0.526,
"predicted_BB": 0.216,
"predicted_SO": 0.73,
"predicted_HR": 0.09,
"predicted_ERA": 3.3112,
"predicted_WHIP": 1.0784
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5482,
"form_weight": 0.4518,
"form_reliability": 0.5309,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.658,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5309,
"prior_weight": 0.4691
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.253,
"final": 0.6625,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.526,
"final": 1.334,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.216,
"final": 0.0976,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.73,
"final": 0.3298,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.09,
"final": 0.0407,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3112,
"final": 3.3112,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0784,
"final": 1.0784,
"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.242 | 0.000 | 0.000 | Hitting_2B | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_3B | 0.041 | 0.000 | 0.000 | Hitting_3B | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_AB | 4.170 | 4.000 | 7.000 | Hitting_AB | 3.836 | 4.000 | 0.164 | 0.000 |
| predicted_AVG | 0.222 | 0.500 | 0.286 | Hitting_AVG | 0.252 | 0.250 | 0.248 | 0.250 |
| predicted_BB | 0.265 | 0.000 | 1.000 | Hitting_BB | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.920 | 2.000 | 2.000 | Hitting_H | 0.968 | 1.000 | 1.032 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.059 | 1.000 | -0.059 | -1.000 |
| predicted_OBP | 0.289 | 0.500 | 0.375 | Hitting_OBP | 0.307 | 0.250 | 0.193 | 0.250 |
| predicted_R | 0.416 | 0.000 | 1.000 | Hitting_R | 0.416 | 1.000 | -0.416 | -1.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.562 | 3.000 | -0.562 | -3.000 |
| predicted_SLG | 0.369 | 0.500 | 0.286 | Hitting_SLG | 0.383 | 1.000 | 0.117 | -0.500 |
| predicted_SO | 0.639 | 2.000 | 1.000 | Hitting_SO | 0.639 | 0.000 | 1.361 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.6390 -> 2.0000 (boost 1.3610, worse) |
| Biggest Deboost | predicted_RBI: 0.5400 -> 0.0000 (deboost -0.5400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 4.1700 -> 7.2596 (boost 3.0896, better) | predicted_SLG: 0.3690 -> 0.3637 (deboost -0.0053, 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_RBI: 1.0515 -> 1.1174 (boost 0.0659, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 2 | 7 | 3 | 6 | predicted_BB: 0.5603 -> 1.0000 (boost 0.4397, better) | predicted_2B: 0.3579 -> 0.0000 (deboost -0.3579, worse) | AB rounded to 7 (raw=7.26), rates preserved: AVG=0.224 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7422 -> 1.0000 (boost 0.2578, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2796 -> 0.3750 (boost 0.0954, better) | predicted_SLG: 0.3761 -> 0.2860 (deboost -0.0901, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3761 (boost 0.0901, better) | predicted_OBP: 0.3750 -> 0.2796 (deboost -0.0954, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"position": "SS",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.242,
"predicted_3B": 0.041,
"predicted_AB": 4.17,
"predicted_AVG": 0.222,
"predicted_BB": 0.265,
"predicted_H": 0.92,
"predicted_HR": 0.12,
"predicted_OBP": 0.289,
"predicted_R": 0.416,
"predicted_RBI": 0.54,
"predicted_SLG": 0.369,
"predicted_SO": 0.639
},
"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.3579,
"predicted_3B": 0.0599,
"predicted_AB": 7.2596,
"predicted_AVG": 0.2188,
"predicted_BB": 0.5488,
"predicted_H": 1.573,
"predicted_HBP": 0.077,
"predicted_HR": 0.202,
"predicted_OBP": 0.2845,
"predicted_R": 0.6984,
"predicted_RBI": 1.0515,
"predicted_SLG": 0.3637,
"predicted_SO": 1.1131
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.242,
"after": 0.3579,
"delta": 0.1159,
"percent_delta": 0.4789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.041,
"after": 0.0599,
"delta": 0.0189,
"percent_delta": 0.461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.17,
"after": 7.2596,
"delta": 3.0896,
"percent_delta": 0.7409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2188,
"delta": -0.0032,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.265,
"after": 0.5488,
"delta": 0.2838,
"percent_delta": 1.0709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 1.573,
"delta": 0.653,
"percent_delta": 0.7098,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.202,
"delta": 0.082,
"percent_delta": 0.6833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2845,
"delta": -0.0045,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.416,
"after": 0.6984,
"delta": 0.2824,
"percent_delta": 0.6788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 1.0515,
"delta": 0.5115,
"percent_delta": 0.9472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3637,
"delta": -0.0053,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 1.1131,
"delta": 0.4741,
"percent_delta": 0.7419,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.17,
"after": 7.2596,
"delta": 3.0896,
"percent_delta": 0.7409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3637,
"delta": -0.0053,
"percent_delta": -0.0144,
"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": 58
}
},
{
"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.3579,
"predicted_3B": 0.0599,
"predicted_AB": 7.2596,
"predicted_AVG": 0.224,
"predicted_BB": 0.5603,
"predicted_H": 1.626,
"predicted_HBP": 0.077,
"predicted_HR": 0.2088,
"predicted_OBP": 0.2796,
"predicted_R": 0.7422,
"predicted_RBI": 1.1174,
"predicted_SLG": 0.3761,
"predicted_SO": 1.0897
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3579,
"after": 0.3579,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0599,
"after": 0.0599,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.2596,
"after": 7.2596,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2188,
"after": 0.224,
"delta": 0.0052,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5488,
"after": 0.5603,
"delta": 0.0115,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.573,
"after": 1.626,
"delta": 0.053,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.202,
"after": 0.2088,
"delta": 0.0068,
"percent_delta": 0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2845,
"after": 0.2796,
"delta": -0.0049,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6984,
"after": 0.7422,
"delta": 0.0438,
"percent_delta": 0.0627,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0515,
"after": 1.1174,
"delta": 0.0659,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3637,
"after": 0.3761,
"delta": 0.0124,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1131,
"after": 1.0897,
"delta": -0.0234,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0515,
"after": 1.1174,
"delta": 0.0659,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.26), rates preserved: AVG=0.224 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.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.3579,
"after": 0.0,
"delta": -0.3579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0599,
"after": 0.0,
"delta": -0.0599,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.2596,
"after": 7.0,
"delta": -0.2596,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5603,
"after": 1.0,
"delta": 0.4397,
"percent_delta": 0.7848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.626,
"after": 2.0,
"delta": 0.374,
"percent_delta": 0.23,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2088,
"after": 0.0,
"delta": -0.2088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1174,
"after": 1.0,
"delta": -0.1174,
"percent_delta": -0.1051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0897,
"after": 1.0,
"delta": -0.0897,
"percent_delta": -0.0823,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5603,
"after": 1.0,
"delta": 0.4397,
"percent_delta": 0.7848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3579,
"after": 0.0,
"delta": -0.3579,
"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": 7.0,
"predicted_BB": 1.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": 7.0,
"after": 7.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": 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.7422,
"after": 1.0,
"delta": 0.2578,
"percent_delta": 0.3473,
"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.7422,
"after": 1.0,
"delta": 0.2578,
"percent_delta": 0.3473,
"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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.286,
"delta": 0.062,
"percent_delta": 0.2768,
"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": 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.2796,
"after": 0.375,
"delta": 0.0954,
"percent_delta": 0.3412,
"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.3761,
"after": 0.286,
"delta": -0.0901,
"percent_delta": -0.2396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2796,
"after": 0.375,
"delta": 0.0954,
"percent_delta": 0.3412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3761,
"after": 0.286,
"delta": -0.0901,
"percent_delta": -0.2396,
"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": 2.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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.224,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2796,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3761,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.224,
"delta": -0.062,
"percent_delta": -0.2169,
"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.375,
"after": 0.2796,
"delta": -0.0954,
"percent_delta": -0.2544,
"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.286,
"after": 0.3761,
"delta": 0.0901,
"percent_delta": 0.315,
"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.286,
"after": 0.3761,
"delta": 0.0901,
"percent_delta": 0.315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2796,
"delta": -0.0954,
"percent_delta": -0.2544,
"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.242,
"after": 0.0,
"delta": -0.242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.17,
"after": 4.0,
"delta": -0.17,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.224,
"delta": 0.002,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.265,
"after": 0.0,
"delta": -0.265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 2.0,
"delta": 1.08,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2796,
"delta": -0.0094,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3761,
"delta": 0.0071,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 2.0,
"delta": 1.361,
"percent_delta": 2.1299,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.639,
"after": 2.0,
"delta": 1.361,
"percent_delta": 2.1299,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.242 | - |
| predicted_3B | 0.041 | - |
| predicted_AB | 4.170 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.265 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.416 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 0.639 | - |
Final model 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.358 | 0.116 |
| predicted_3B | 0.060 | 0.019 |
| predicted_AB | 7.260 | 3.090 |
| predicted_AVG | 0.219 | -0.003 |
| predicted_BB | 0.549 | 0.284 |
| predicted_H | 1.573 | 0.653 |
| predicted_HBP | 0.077 | - |
| predicted_HR | 0.202 | 0.082 |
| predicted_OBP | 0.284 | -0.005 |
| predicted_R | 0.698 | 0.282 |
| predicted_RBI | 1.052 | 0.512 |
| predicted_SLG | 0.364 | -0.005 |
| predicted_SO | 1.113 | 0.474 |
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.358 | 0.000 |
| predicted_3B | 0.060 | 0.000 |
| predicted_AB | 7.260 | 0.000 |
| predicted_AVG | 0.224 | 0.005 |
| predicted_BB | 0.560 | 0.012 |
| predicted_H | 1.626 | 0.053 |
| predicted_HBP | 0.077 | 0.000 |
| predicted_HR | 0.209 | 0.007 |
| predicted_OBP | 0.280 | -0.005 |
| predicted_R | 0.742 | 0.044 |
| predicted_RBI | 1.117 | 0.066 |
| predicted_SLG | 0.376 | 0.012 |
| predicted_SO | 1.090 | -0.023 |
AB rounded to 7 (raw=7.26), rates preserved: AVG=0.224 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.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.358 |
| predicted_3B | 0.000 | -0.060 |
| predicted_AB | 7.000 | -0.260 |
| predicted_AVG | 0.286 | 0.062 |
| predicted_BB | 1.000 | 0.440 |
| predicted_H | 2.000 | 0.374 |
| predicted_HR | 0.000 | -0.209 |
| predicted_OBP | 0.375 | 0.095 |
| predicted_R | 1.000 | 0.258 |
| predicted_RBI | 1.000 | -0.117 |
| predicted_SLG | 0.286 | -0.090 |
| predicted_SO | 1.000 | -0.090 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 2.000 | 0.1250 | 0.2222 | 0.3125 | 0.1250 | 0.0625 | 0.1875 | 0.1250 | 0.1250 |
| last_10 | 0.20 | 6 | - | 40.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 2.000 | 0.0750 | 0.1190 | 0.1500 | 0.0750 | 0.0250 | 0.0750 | 0.0500 | 0.0500 |
| season | 0.60 | 58 | - | 840.000 | 212.000 | 53.000 | 9.000 | 13.000 | 123.000 | 91.000 | 58.000 | 140.000 | 0.2524 | 0.3068 | 0.3833 | 0.2524 | 0.0155 | 0.1464 | 0.0691 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5050 |
| predicted_3B | 0.0840 |
| predicted_AB | 11.1820 |
| predicted_AVG | 0.2148 |
| predicted_BB | 0.9090 |
| predicted_H | 2.4020 |
| predicted_HBP | 0.0770 |
| predicted_HR | 0.3060 |
| predicted_OBP | 0.2789 |
| predicted_R | 1.0570 |
| predicted_RBI | 1.7010 |
| predicted_SLG | 0.3570 |
| predicted_SO | 1.7150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2420 | 0.5050 | 0.3579 | model_form_blend |
| predicted_3B | 0.0410 | 0.0840 | 0.0599 | model_form_blend |
| predicted_AB | 4.1700 | 11.1820 | 7.2596 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2148 | 0.2188 | model_form_blend |
| predicted_BB | 0.2650 | 0.9090 | 0.5488 | model_form_blend |
| predicted_H | 0.9200 | 2.4020 | 1.5730 | model_form_blend |
| predicted_HBP | - | 0.0770 | 0.0770 | form_only |
| predicted_HR | 0.1200 | 0.3060 | 0.2020 | model_form_blend |
| predicted_OBP | 0.2890 | 0.2789 | 0.2845 | model_form_blend |
| predicted_R | 0.4160 | 1.0570 | 0.6984 | model_form_blend |
| predicted_RBI | 0.5400 | 1.7010 | 1.0515 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3570 | 0.3637 | model_form_blend |
| predicted_SO | 0.6390 | 1.7150 | 1.1131 | 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 | 219 |
| Season rows before report date | 219 |
| Report year | 2026 |
| Profile rows used | 219 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.252 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 643289 |
| playerID | 643289 |
| playerName | Mauricio Dubón |
| pos | SS |
| started | True |
| startingPosition | LF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 15.7 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.305 |
| sl_xwoba | 0.302 |
| sl_xba | 0.254 |
| sl_xslg | 0.374 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 28.8 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 18.2 |
| sl_swing_percent | 51.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.341 | 0.000 | 1.000 | Hitting_2B | 0.341 | 0.000 | -0.341 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.310 | 3.000 | 8.000 | Hitting_AB | 3.913 | 4.000 | -0.913 | -1.000 |
| predicted_AVG | 0.249 | 0.333 | 0.250 | Hitting_AVG | 0.273 | 0.750 | 0.061 | -0.417 |
| predicted_BB | 0.504 | 1.000 | 1.000 | Hitting_BB | 0.504 | 0.000 | 0.496 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.070 | 1.000 | 2.000 | Hitting_H | 1.067 | 3.000 | -0.067 | -2.000 |
| predicted_HR | 0.250 | 0.000 | 1.000 | Hitting_HR | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_OBP | 0.343 | 0.500 | 0.333 | Hitting_OBP | 0.356 | 0.750 | 0.144 | -0.250 |
| predicted_R | 0.762 | 1.000 | 2.000 | Hitting_R | 0.762 | 2.000 | 0.238 | -1.000 |
| predicted_RBI | 0.600 | 1.000 | 1.000 | Hitting_RBI | 0.798 | 0.000 | 0.202 | 1.000 |
| predicted_SLG | 0.518 | 0.333 | 0.750 | Hitting_SLG | 0.573 | 0.750 | -0.240 | -0.417 |
| predicted_SO | 0.992 | 1.000 | 2.000 | Hitting_SO | 0.992 | 0.000 | 0.008 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_BB: 0.5040 -> 1.0000 (boost 0.4960, better) |
| Biggest Deboost | predicted_AB: 4.3100 -> 3.0000 (deboost -1.3100, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.3100 -> 7.9312 (boost 3.6212, 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 | 6 | 6 | 0 | 6 | 0 | predicted_R: 1.5809 -> 1.6800 (boost 0.0991, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 5 | 2 | 4 | 3 | predicted_HR: 0.5690 -> 1.0000 (boost 0.4310, better) | predicted_RBI: 1.3504 -> 1.0000 (deboost -0.3504, worse) | AB rounded to 8 (raw=7.93), rates preserved: AVG=0.296 HR/AB=0.072 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.6800 -> 2.0000 (boost 0.3200, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5904 -> 0.7500 (boost 0.1596, better) | predicted_AVG: 0.2959 -> 0.2500 (deboost -0.0459, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2500 -> 0.2959 (boost 0.0459, better) | predicted_SLG: 0.7500 -> 0.5904 (deboost -0.1596, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621566",
"player_name": "Matt Olson",
"position": "1B",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.341,
"predicted_3B": 0.0,
"predicted_AB": 4.31,
"predicted_AVG": 0.249,
"predicted_BB": 0.504,
"predicted_H": 1.07,
"predicted_HR": 0.25,
"predicted_OBP": 0.343,
"predicted_R": 0.762,
"predicted_RBI": 0.6,
"predicted_SLG": 0.518,
"predicted_SO": 0.992
},
"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.6272,
"predicted_3B": 0.0004,
"predicted_AB": 7.9312,
"predicted_AVG": 0.2728,
"predicted_BB": 0.854,
"predicted_H": 2.2707,
"predicted_HBP": 0.047,
"predicted_HR": 0.5504,
"predicted_OBP": 0.3546,
"predicted_R": 1.5809,
"predicted_RBI": 1.2707,
"predicted_SLG": 0.5566,
"predicted_SO": 1.7879
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.341,
"after": 0.6272,
"delta": 0.2862,
"percent_delta": 0.8393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.31,
"after": 7.9312,
"delta": 3.6212,
"percent_delta": 0.8402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2728,
"delta": 0.0238,
"percent_delta": 0.0956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.504,
"after": 0.854,
"delta": 0.35,
"percent_delta": 0.6944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 2.2707,
"delta": 1.2007,
"percent_delta": 1.1221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.5504,
"delta": 0.3004,
"percent_delta": 1.2016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3546,
"delta": 0.0116,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.762,
"after": 1.5809,
"delta": 0.8189,
"percent_delta": 1.0747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 1.2707,
"delta": 0.6707,
"percent_delta": 1.1178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.518,
"after": 0.5566,
"delta": 0.0386,
"percent_delta": 0.0745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.992,
"after": 1.7879,
"delta": 0.7959,
"percent_delta": 0.8023,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.31,
"after": 7.9312,
"delta": 3.6212,
"percent_delta": 0.8402,
"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": 6,
"season": 62
}
},
{
"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.6272,
"predicted_3B": 0.0004,
"predicted_AB": 7.9312,
"predicted_AVG": 0.2959,
"predicted_BB": 0.8719,
"predicted_H": 2.3472,
"predicted_HBP": 0.047,
"predicted_HR": 0.569,
"predicted_OBP": 0.3657,
"predicted_R": 1.68,
"predicted_RBI": 1.3504,
"predicted_SLG": 0.5904,
"predicted_SO": 1.7504
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6272,
"after": 0.6272,
"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": 7.9312,
"after": 7.9312,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2728,
"after": 0.2959,
"delta": 0.0231,
"percent_delta": 0.0847,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.854,
"after": 0.8719,
"delta": 0.0179,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2707,
"after": 2.3472,
"delta": 0.0765,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.5504,
"after": 0.569,
"delta": 0.0186,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3546,
"after": 0.3657,
"delta": 0.0111,
"percent_delta": 0.0313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.5809,
"after": 1.68,
"delta": 0.0991,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2707,
"after": 1.3504,
"delta": 0.0797,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5566,
"after": 0.5904,
"delta": 0.0338,
"percent_delta": 0.0607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7879,
"after": 1.7504,
"delta": -0.0375,
"percent_delta": -0.021,
"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": 1.5809,
"after": 1.68,
"delta": 0.0991,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.93), rates preserved: AVG=0.296 HR/AB=0.072",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6272,
"after": 1.0,
"delta": 0.3728,
"percent_delta": 0.5944,
"direction": "boost",
"projection_effect": "better",
"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": 7.9312,
"after": 8.0,
"delta": 0.0688,
"percent_delta": 0.0087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8719,
"after": 1.0,
"delta": 0.1281,
"percent_delta": 0.1469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3472,
"after": 2.0,
"delta": -0.3472,
"percent_delta": -0.1479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.569,
"after": 1.0,
"delta": 0.431,
"percent_delta": 0.7575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3504,
"after": 1.0,
"delta": -0.3504,
"percent_delta": -0.2595,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7504,
"after": 2.0,
"delta": 0.2496,
"percent_delta": 0.1426,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.569,
"after": 1.0,
"delta": 0.431,
"percent_delta": 0.7575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.3504,
"after": 1.0,
"delta": -0.3504,
"percent_delta": -0.2595,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.68,
"after": 2.0,
"delta": 0.32,
"percent_delta": 0.1905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.68,
"after": 2.0,
"delta": 0.32,
"percent_delta": 0.1905,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.333,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.75,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2959,
"after": 0.25,
"delta": -0.0459,
"percent_delta": -0.1551,
"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": 2.0,
"after": 2.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_OBP",
"before": 0.3657,
"after": 0.333,
"delta": -0.0327,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"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": 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.5904,
"after": 0.75,
"delta": 0.1596,
"percent_delta": 0.2703,
"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.5904,
"after": 0.75,
"delta": 0.1596,
"percent_delta": 0.2703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2959,
"after": 0.25,
"delta": -0.0459,
"percent_delta": -0.1551,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"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.2959,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3657,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5904,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2959,
"delta": 0.0459,
"percent_delta": 0.1838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3657,
"delta": 0.0327,
"percent_delta": 0.0981,
"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.75,
"after": 0.5904,
"delta": -0.1596,
"percent_delta": -0.2129,
"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.25,
"after": 0.2959,
"delta": 0.0459,
"percent_delta": 0.1838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.75,
"after": 0.5904,
"delta": -0.1596,
"percent_delta": -0.2129,
"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.341,
"after": 0.0,
"delta": -0.341,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.31,
"after": 3.0,
"delta": -1.31,
"percent_delta": -0.3039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2959,
"delta": 0.0469,
"percent_delta": 0.1884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.504,
"after": 1.0,
"delta": 0.496,
"percent_delta": 0.9841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0,
"delta": -0.07,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3657,
"delta": 0.0227,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.762,
"after": 1.0,
"delta": 0.238,
"percent_delta": 0.3123,
"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.518,
"after": 0.5904,
"delta": 0.0724,
"percent_delta": 0.1398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.992,
"after": 1.0,
"delta": 0.008,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.504,
"after": 1.0,
"delta": 0.496,
"percent_delta": 0.9841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.31,
"after": 3.0,
"delta": -1.31,
"percent_delta": -0.3039,
"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.341 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.310 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.504 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.762 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.518 | - |
| predicted_SO | 0.992 | - |
Final model 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.627 | 0.286 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.931 | 3.621 |
| predicted_AVG | 0.273 | 0.024 |
| predicted_BB | 0.854 | 0.350 |
| predicted_H | 2.271 | 1.201 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.550 | 0.300 |
| predicted_OBP | 0.355 | 0.012 |
| predicted_R | 1.581 | 0.819 |
| predicted_RBI | 1.271 | 0.671 |
| predicted_SLG | 0.557 | 0.039 |
| predicted_SO | 1.788 | 0.796 |
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.627 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.931 | 0.000 |
| predicted_AVG | 0.296 | 0.023 |
| predicted_BB | 0.872 | 0.018 |
| predicted_H | 2.347 | 0.076 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.569 | 0.019 |
| predicted_OBP | 0.366 | 0.011 |
| predicted_R | 1.680 | 0.099 |
| predicted_RBI | 1.350 | 0.080 |
| predicted_SLG | 0.590 | 0.034 |
| predicted_SO | 1.750 | -0.038 |
AB rounded to 8 (raw=7.93), rates preserved: AVG=0.296 HR/AB=0.072
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| R | 2.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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 | 1.000 | 0.373 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.069 |
| predicted_AVG | 0.250 | -0.046 |
| predicted_BB | 1.000 | 0.128 |
| predicted_H | 2.000 | -0.347 |
| predicted_HR | 1.000 | 0.431 |
| predicted_OBP | 0.333 | -0.033 |
| predicted_R | 2.000 | 0.320 |
| predicted_RBI | 1.000 | -0.350 |
| predicted_SLG | 0.750 | 0.160 |
| predicted_SO | 2.000 | 0.250 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -5.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 1.000 | -1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 8.000 | 1.000 | 0.000 | 2.000 | 2.000 | 5.000 | 1.000 | 3.000 | 0.3810 | 0.4091 | 0.7143 | 0.3810 | 0.0952 | 0.0952 | 0.0476 | 0.1429 |
| last_10 | 0.20 | 6 | - | 46.000 | 18.000 | 6.000 | 0.000 | 2.000 | 2.000 | 15.000 | 1.000 | 8.000 | 0.3913 | 0.4043 | 0.6522 | 0.3913 | 0.0435 | 0.0435 | 0.0217 | 0.1739 |
| season | 0.60 | 62 | - | 986.000 | 269.000 | 86.000 | 0.000 | 70.000 | 201.000 | 192.000 | 127.000 | 250.000 | 0.2728 | 0.3558 | 0.5730 | 0.2728 | 0.0710 | 0.2039 | 0.1288 | 0.2535 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9880 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.4950 |
| predicted_AVG | 0.3028 |
| predicted_BB | 1.2950 |
| predicted_H | 3.7840 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.9290 |
| predicted_OBP | 0.3693 |
| predicted_R | 2.6130 |
| predicted_RBI | 2.1160 |
| predicted_SLG | 0.6052 |
| predicted_SO | 2.7910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3410 | 0.9880 | 0.6272 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3100 | 12.4950 | 7.9312 | model_form_blend |
| predicted_AVG | 0.2490 | 0.3028 | 0.2728 | model_form_blend |
| predicted_BB | 0.5040 | 1.2950 | 0.8540 | model_form_blend |
| predicted_H | 1.0700 | 3.7840 | 2.2707 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.2500 | 0.9290 | 0.5504 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3693 | 0.3546 | model_form_blend |
| predicted_R | 0.7620 | 2.6130 | 1.5809 | model_form_blend |
| predicted_RBI | 0.6000 | 2.1160 | 1.2707 | model_form_blend |
| predicted_SLG | 0.5180 | 0.6052 | 0.5566 | model_form_blend |
| predicted_SO | 0.9920 | 2.7910 | 1.7879 | 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 | 252 |
| Season rows before report date | 252 |
| Report year | 2026 |
| Profile rows used | 252 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| 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 | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 621566 |
| playerID | 621566 |
| playerName | Matt Olson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 22.3 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.389 |
| sl_xwoba | 0.38 |
| sl_xba | 0.267 |
| sl_xslg | 0.549 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 14.8 |
| sl_hard_hit_percent | 52.5 |
| sl_exit_velocity_avg | 93.7 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 45.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.221 | 0.000 | 0.000 | Hitting_2B | 0.221 | 1.000 | -0.221 | -1.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 4.260 | 3.000 | 8.000 | Hitting_AB | 3.800 | 4.000 | -0.800 | -1.000 |
| predicted_AVG | 0.238 | 0.000 | 0.250 | Hitting_AVG | 0.236 | 0.250 | -0.236 | -0.250 |
| predicted_BB | 0.708 | 1.000 | 2.000 | Hitting_BB | 0.708 | 0.000 | 0.292 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_H | 1.010 | 0.000 | 2.000 | Hitting_H | 0.897 | 1.000 | -0.897 | -1.000 |
| predicted_HR | 0.280 | 0.000 | 1.000 | Hitting_HR | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_OBP | 0.373 | 0.250 | 0.400 | Hitting_OBP | 0.360 | 0.250 | -0.110 | 0.000 |
| predicted_R | 0.549 | 0.000 | 1.000 | Hitting_R | 0.549 | 0.000 | -0.549 | 0.000 |
| predicted_RBI | 0.660 | 0.000 | 1.000 | Hitting_RBI | 0.410 | 0.000 | -0.410 | 0.000 |
| predicted_SLG | 0.522 | 0.000 | 0.625 | Hitting_SLG | 0.382 | 0.500 | -0.382 | -0.500 |
| predicted_SO | 1.000 | 1.000 | 2.000 | Hitting_SO | 1.000 | 1.000 | 0.000 | 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 | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.7080 -> 1.0000 (boost 0.2920, better) |
| Biggest Deboost | predicted_AB: 4.2600 -> 3.0000 (deboost -1.2600, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.2600 -> 7.5928 (boost 3.3328, 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 | 6 | 6 | 0 | 6 | 0 | predicted_RBI: 1.3208 -> 1.4036 (boost 0.0828, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 7.5928 -> 8.0000 (boost 0.4072, better) | predicted_2B: 0.4188 -> 0.0000 (deboost -0.4188, worse) | AB rounded to 8 (raw=7.59), rates preserved: AVG=0.267 HR/AB=0.082 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3569 -> 1.0000 (deboost -0.3569, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.5779 -> 0.6250 (boost 0.0471, better) | predicted_AVG: 0.2674 -> 0.2500 (deboost -0.0174, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 0 | 7 | 1 | 6 | - | predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2500 -> 0.2674 (boost 0.0174, better) | predicted_SLG: 0.6250 -> 0.5779 (deboost -0.0471, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660670",
"player_name": "Ronald Acuña Jr.",
"position": "RF",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.221,
"predicted_3B": 0.021,
"predicted_AB": 4.26,
"predicted_AVG": 0.238,
"predicted_BB": 0.708,
"predicted_H": 1.01,
"predicted_HR": 0.28,
"predicted_OBP": 0.373,
"predicted_R": 0.549,
"predicted_RBI": 0.66,
"predicted_SLG": 0.522,
"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": "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.4188,
"predicted_3B": 0.032,
"predicted_AB": 7.5928,
"predicted_AVG": 0.2514,
"predicted_BB": 1.6235,
"predicted_H": 1.9638,
"predicted_HBP": 0.125,
"predicted_HR": 0.6047,
"predicted_OBP": 0.3871,
"predicted_R": 1.2768,
"predicted_RBI": 1.3208,
"predicted_SLG": 0.5523,
"predicted_SO": 1.9723
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.4188,
"delta": 0.1978,
"percent_delta": 0.895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.032,
"delta": 0.011,
"percent_delta": 0.5238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.26,
"after": 7.5928,
"delta": 3.3328,
"percent_delta": 0.7823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2514,
"delta": 0.0134,
"percent_delta": 0.0563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.708,
"after": 1.6235,
"delta": 0.9155,
"percent_delta": 1.2931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.9638,
"delta": 0.9538,
"percent_delta": 0.9444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.6047,
"delta": 0.3247,
"percent_delta": 1.1596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.3871,
"delta": 0.0141,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.549,
"after": 1.2768,
"delta": 0.7278,
"percent_delta": 1.3257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.3208,
"delta": 0.6608,
"percent_delta": 1.0012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.522,
"after": 0.5523,
"delta": 0.0303,
"percent_delta": 0.058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.9723,
"delta": 0.9723,
"percent_delta": 0.9723,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 7.5928,
"delta": 3.3328,
"percent_delta": 0.7823,
"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": 6,
"season": 48
}
},
{
"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.4188,
"predicted_3B": 0.032,
"predicted_AB": 7.5928,
"predicted_AVG": 0.2674,
"predicted_BB": 1.6576,
"predicted_H": 2.03,
"predicted_HBP": 0.125,
"predicted_HR": 0.6251,
"predicted_OBP": 0.3986,
"predicted_R": 1.3569,
"predicted_RBI": 1.4036,
"predicted_SLG": 0.5779,
"predicted_SO": 1.9309
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4188,
"after": 0.4188,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.5928,
"after": 7.5928,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2514,
"after": 0.2674,
"delta": 0.016,
"percent_delta": 0.0636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.6235,
"after": 1.6576,
"delta": 0.0341,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9638,
"after": 2.03,
"delta": 0.0662,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.125,
"after": 0.125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.6047,
"after": 0.6251,
"delta": 0.0204,
"percent_delta": 0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3871,
"after": 0.3986,
"delta": 0.0115,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2768,
"after": 1.3569,
"delta": 0.0801,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3208,
"after": 1.4036,
"delta": 0.0828,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5523,
"after": 0.5779,
"delta": 0.0256,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9723,
"after": 1.9309,
"delta": -0.0414,
"percent_delta": -0.021,
"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_RBI",
"before": 1.3208,
"after": 1.4036,
"delta": 0.0828,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.59), rates preserved: AVG=0.267 HR/AB=0.082",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4188,
"after": 0.0,
"delta": -0.4188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.5928,
"after": 8.0,
"delta": 0.4072,
"percent_delta": 0.0536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.6576,
"after": 2.0,
"delta": 0.3424,
"percent_delta": 0.2066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.03,
"after": 2.0,
"delta": -0.03,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.6251,
"after": 1.0,
"delta": 0.3749,
"percent_delta": 0.5997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4036,
"after": 1.0,
"delta": -0.4036,
"percent_delta": -0.2875,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9309,
"after": 2.0,
"delta": 0.0691,
"percent_delta": 0.0358,
"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": 7.5928,
"after": 8.0,
"delta": 0.4072,
"percent_delta": 0.0536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4188,
"after": 0.0,
"delta": -0.4188,
"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": 8.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3569,
"after": 1.0,
"delta": -0.3569,
"percent_delta": -0.263,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.3569,
"after": 1.0,
"delta": -0.3569,
"percent_delta": -0.263,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.625,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2674,
"after": 0.25,
"delta": -0.0174,
"percent_delta": -0.0651,
"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_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": 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.3986,
"after": 0.4,
"delta": 0.0014,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5779,
"after": 0.625,
"delta": 0.0471,
"percent_delta": 0.0815,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.5779,
"after": 0.625,
"delta": 0.0471,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2674,
"after": 0.25,
"delta": -0.0174,
"percent_delta": -0.0651,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"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.2674,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3986,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5779,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2674,
"delta": 0.0174,
"percent_delta": 0.0694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3986,
"delta": -0.0014,
"percent_delta": -0.0034,
"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.625,
"after": 0.5779,
"delta": -0.0471,
"percent_delta": -0.0753,
"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.25,
"after": 0.2674,
"delta": 0.0174,
"percent_delta": 0.0694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.5779,
"delta": -0.0471,
"percent_delta": -0.0753,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.0,
"delta": -0.221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.26,
"after": 3.0,
"delta": -1.26,
"percent_delta": -0.2958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2674,
"delta": 0.0294,
"percent_delta": 0.1235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.708,
"after": 1.0,
"delta": 0.292,
"percent_delta": 0.4124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.3986,
"delta": 0.0256,
"percent_delta": 0.0686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.549,
"after": 0.0,
"delta": -0.549,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.522,
"after": 0.5779,
"delta": 0.0559,
"percent_delta": 0.1071,
"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": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.708,
"after": 1.0,
"delta": 0.292,
"percent_delta": 0.4124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 3.0,
"delta": -1.26,
"percent_delta": -0.2958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.708 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.280 | - |
| predicted_OBP | 0.373 | - |
| predicted_R | 0.549 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.522 | - |
| predicted_SO | 1.000 | - |
Final model 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.419 | 0.198 |
| predicted_3B | 0.032 | 0.011 |
| predicted_AB | 7.593 | 3.333 |
| predicted_AVG | 0.251 | 0.013 |
| predicted_BB | 1.623 | 0.915 |
| predicted_H | 1.964 | 0.954 |
| predicted_HBP | 0.125 | - |
| predicted_HR | 0.605 | 0.325 |
| predicted_OBP | 0.387 | 0.014 |
| predicted_R | 1.277 | 0.728 |
| predicted_RBI | 1.321 | 0.661 |
| predicted_SLG | 0.552 | 0.030 |
| predicted_SO | 1.972 | 0.972 |
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.419 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 7.593 | 0.000 |
| predicted_AVG | 0.267 | 0.016 |
| predicted_BB | 1.658 | 0.034 |
| predicted_H | 2.030 | 0.066 |
| predicted_HBP | 0.125 | 0.000 |
| predicted_HR | 0.625 | 0.020 |
| predicted_OBP | 0.399 | 0.012 |
| predicted_R | 1.357 | 0.080 |
| predicted_RBI | 1.404 | 0.083 |
| predicted_SLG | 0.578 | 0.026 |
| predicted_SO | 1.931 | -0.041 |
AB rounded to 8 (raw=7.59), rates preserved: AVG=0.267 HR/AB=0.082
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 2.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 2.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.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.419 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 8.000 | 0.407 |
| predicted_AVG | 0.250 | -0.017 |
| predicted_BB | 2.000 | 0.342 |
| predicted_H | 2.000 | -0.030 |
| predicted_HR | 1.000 | 0.375 |
| predicted_OBP | 0.400 | 0.001 |
| predicted_R | 1.000 | -0.357 |
| predicted_RBI | 1.000 | -0.404 |
| predicted_SLG | 0.625 | 0.047 |
| predicted_SO | 2.000 | 0.069 |
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 | -5.000 |
| BB | 1.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 6.000 | 1.000 | 0.000 | 4.000 | 5.000 | 5.000 | 6.000 | 5.000 | 0.3529 | 0.5217 | 1.1176 | 0.3529 | 0.2353 | 0.2941 | 0.3529 | 0.2941 |
| last_10 | 0.20 | 6 | - | 32.000 | 11.000 | 1.000 | 0.000 | 9.000 | 25.000 | 10.000 | 16.000 | 10.000 | 0.3438 | 0.5625 | 1.2188 | 0.3438 | 0.2812 | 0.7812 | 0.5000 | 0.3125 |
| season | 0.60 | 48 | - | 741.000 | 175.000 | 43.000 | 4.000 | 19.000 | 80.000 | 107.000 | 138.000 | 195.000 | 0.2362 | 0.3600 | 0.3819 | 0.2362 | 0.0256 | 0.1080 | 0.1862 | 0.2632 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6700 |
| predicted_3B | 0.0460 |
| predicted_AB | 11.8250 |
| predicted_AVG | 0.2685 |
| predicted_BB | 2.7860 |
| predicted_H | 3.1750 |
| predicted_HBP | 0.1250 |
| predicted_HR | 1.0170 |
| predicted_OBP | 0.4051 |
| predicted_R | 2.2010 |
| predicted_RBI | 2.1600 |
| predicted_SLG | 0.5908 |
| predicted_SO | 3.2070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2210 | 0.6700 | 0.4188 | model_form_blend |
| predicted_3B | 0.0210 | 0.0460 | 0.0320 | model_form_blend |
| predicted_AB | 4.2600 | 11.8250 | 7.5928 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2685 | 0.2514 | model_form_blend |
| predicted_BB | 0.7080 | 2.7860 | 1.6235 | model_form_blend |
| predicted_H | 1.0100 | 3.1750 | 1.9638 | model_form_blend |
| predicted_HBP | - | 0.1250 | 0.1250 | form_only |
| predicted_HR | 0.2800 | 1.0170 | 0.6047 | model_form_blend |
| predicted_OBP | 0.3730 | 0.4051 | 0.3871 | model_form_blend |
| predicted_R | 0.5490 | 2.2010 | 1.2768 | model_form_blend |
| predicted_RBI | 0.6600 | 2.1600 | 1.3208 | model_form_blend |
| predicted_SLG | 0.5220 | 0.5908 | 0.5523 | model_form_blend |
| predicted_SO | 1.0000 | 3.2070 | 1.9723 | 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 | 195 |
| Season rows before report date | 195 |
| Report year | 2026 |
| Profile rows used | 195 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 660670 |
| playerID | 660670 |
| playerName | Ronald Acuña Jr. |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 15.7 |
| sl_woba | 0.359 |
| sl_xwoba | 0.391 |
| sl_xba | 0.259 |
| sl_xslg | 0.514 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 14.4 |
| sl_hard_hit_percent | 44.7 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 45.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.177 | 0.000 | 0.000 | Hitting_2B | 0.177 | 1.000 | -0.177 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.190 | 4.000 | 8.000 | Hitting_AB | 3.919 | 4.000 | 0.081 | 0.000 |
| predicted_AVG | 0.253 | 0.250 | 0.250 | Hitting_AVG | 0.280 | 0.500 | -0.030 | -0.250 |
| predicted_BB | 0.335 | 0.000 | 1.000 | Hitting_BB | 0.335 | 0.000 | -0.335 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_H | 1.060 | 1.000 | 2.000 | Hitting_H | 1.097 | 2.000 | -0.097 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.161 | 1.000 | -0.161 | -1.000 |
| predicted_OBP | 0.336 | 0.250 | 0.333 | Hitting_OBP | 0.338 | 0.500 | -0.088 | -0.250 |
| predicted_R | 0.661 | 1.000 | 1.000 | Hitting_R | 0.661 | 2.000 | 0.339 | -1.000 |
| predicted_RBI | 0.610 | 1.000 | 1.000 | Hitting_RBI | 0.544 | 3.000 | 0.456 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.451 | 0.250 | 0.250 | Hitting_SLG | 0.449 | 1.500 | -0.199 | -1.250 |
| predicted_SO | 0.540 | 0.000 | 1.000 | Hitting_SO | 0.540 | 0.000 | -0.540 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.6100 -> 1.0000 (boost 0.3900, better) |
| Biggest Deboost | predicted_SO: 0.5400 -> 0.0000 (deboost -0.5400, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.1900 -> 7.7414 (boost 3.5514, 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 | 6 | 6 | 0 | 6 | 0 | predicted_RBI: 1.2958 -> 1.3770 (boost 0.0812, better) | - | 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_BB: 0.6030 -> 1.0000 (boost 0.3970, better) | predicted_2B: 0.4476 -> 0.0000 (deboost -0.4476, worse) | AB rounded to 8 (raw=7.74), rates preserved: AVG=0.302 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3739 -> 1.0000 (deboost -0.3739, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4979 -> 0.2500 (deboost -0.2479, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4979 (boost 0.2479, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "645277",
"player_name": "Ozzie Albies",
"position": "2B",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.177,
"predicted_3B": 0.0,
"predicted_AB": 4.19,
"predicted_AVG": 0.253,
"predicted_BB": 0.335,
"predicted_H": 1.06,
"predicted_HR": 0.15,
"predicted_OBP": 0.336,
"predicted_R": 0.661,
"predicted_RBI": 0.61,
"predicted_SLG": 0.451,
"predicted_SO": 0.54
},
"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.4476,
"predicted_3B": 0.0004,
"predicted_AB": 7.7414,
"predicted_AVG": 0.2781,
"predicted_BB": 0.5906,
"predicted_H": 2.2653,
"predicted_HBP": 0.117,
"predicted_HR": 0.3432,
"predicted_OBP": 0.3443,
"predicted_R": 1.2928,
"predicted_RBI": 1.2958,
"predicted_SLG": 0.4809,
"predicted_SO": 0.9512
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.177,
"after": 0.4476,
"delta": 0.2706,
"percent_delta": 1.5288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.19,
"after": 7.7414,
"delta": 3.5514,
"percent_delta": 0.8476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2781,
"delta": 0.0251,
"percent_delta": 0.0992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.335,
"after": 0.5906,
"delta": 0.2556,
"percent_delta": 0.763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.2653,
"delta": 1.2053,
"percent_delta": 1.1371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.3432,
"delta": 0.1932,
"percent_delta": 1.288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3443,
"delta": 0.0083,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.661,
"after": 1.2928,
"delta": 0.6318,
"percent_delta": 0.9558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 1.2958,
"delta": 0.6858,
"percent_delta": 1.1243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4809,
"delta": 0.0299,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.54,
"after": 0.9512,
"delta": 0.4112,
"percent_delta": 0.7615,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.19,
"after": 7.7414,
"delta": 3.5514,
"percent_delta": 0.8476,
"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": 6,
"season": 62
}
},
{
"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.4476,
"predicted_3B": 0.0004,
"predicted_AB": 7.7414,
"predicted_AVG": 0.3025,
"predicted_BB": 0.603,
"predicted_H": 2.3416,
"predicted_HBP": 0.117,
"predicted_HR": 0.3548,
"predicted_OBP": 0.3529,
"predicted_R": 1.3739,
"predicted_RBI": 1.377,
"predicted_SLG": 0.4979,
"predicted_SO": 0.9312
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4476,
"after": 0.4476,
"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": 7.7414,
"after": 7.7414,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2781,
"after": 0.3025,
"delta": 0.0244,
"percent_delta": 0.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5906,
"after": 0.603,
"delta": 0.0124,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2653,
"after": 2.3416,
"delta": 0.0763,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.117,
"after": 0.117,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3432,
"after": 0.3548,
"delta": 0.0116,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3443,
"after": 0.3529,
"delta": 0.0086,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2928,
"after": 1.3739,
"delta": 0.0811,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2958,
"after": 1.377,
"delta": 0.0812,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4809,
"after": 0.4979,
"delta": 0.017,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9512,
"after": 0.9312,
"delta": -0.02,
"percent_delta": -0.021,
"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_RBI",
"before": 1.2958,
"after": 1.377,
"delta": 0.0812,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.74), rates preserved: AVG=0.302 HR/AB=0.046",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.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.4476,
"after": 0.0,
"delta": -0.4476,
"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": 7.7414,
"after": 8.0,
"delta": 0.2586,
"percent_delta": 0.0334,
"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": 2.3416,
"after": 2.0,
"delta": -0.3416,
"percent_delta": -0.1459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.117,
"after": 0.0,
"delta": -0.117,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3548,
"after": 0.0,
"delta": -0.3548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.377,
"after": 1.0,
"delta": -0.377,
"percent_delta": -0.2738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9312,
"after": 1.0,
"delta": 0.0688,
"percent_delta": 0.0739,
"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_BB",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4476,
"after": 0.0,
"delta": -0.4476,
"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": 8.0,
"predicted_BB": 1.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": 8.0,
"after": 8.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": 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": 1.3739,
"after": 1.0,
"delta": -0.3739,
"percent_delta": -0.2721,
"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": 1.3739,
"after": 1.0,
"delta": -0.3739,
"percent_delta": -0.2721,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3025,
"after": 0.25,
"delta": -0.0525,
"percent_delta": -0.1736,
"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": 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.3529,
"after": 0.333,
"delta": -0.0199,
"percent_delta": -0.0564,
"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.4979,
"after": 0.25,
"delta": -0.2479,
"percent_delta": -0.4979,
"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.4979,
"after": 0.25,
"delta": -0.2479,
"percent_delta": -0.4979,
"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": 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": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"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": 4.0,
"predicted_AVG": 0.3025,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3529,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4979,
"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.25,
"after": 0.3025,
"delta": 0.0525,
"percent_delta": 0.2099,
"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.333,
"after": 0.3529,
"delta": 0.0199,
"percent_delta": 0.0597,
"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.4979,
"delta": 0.2479,
"percent_delta": 0.9916,
"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.4979,
"delta": 0.2479,
"percent_delta": 0.9916,
"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.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": 4.19,
"after": 4.0,
"delta": -0.19,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.3025,
"delta": 0.0495,
"percent_delta": 0.1957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.335,
"after": 0.0,
"delta": -0.335,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3529,
"delta": 0.0169,
"percent_delta": 0.0503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.661,
"after": 1.0,
"delta": 0.339,
"percent_delta": 0.5129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 1.0,
"delta": 0.39,
"percent_delta": 0.6393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4979,
"delta": 0.0469,
"percent_delta": 0.104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"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_RBI",
"before": 0.61,
"after": 1.0,
"delta": 0.39,
"percent_delta": 0.6393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"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.177 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.190 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.335 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.661 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.451 | - |
| predicted_SO | 0.540 | - |
Final model 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.448 | 0.271 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.741 | 3.551 |
| predicted_AVG | 0.278 | 0.025 |
| predicted_BB | 0.591 | 0.256 |
| predicted_H | 2.265 | 1.205 |
| predicted_HBP | 0.117 | - |
| predicted_HR | 0.343 | 0.193 |
| predicted_OBP | 0.344 | 0.008 |
| predicted_R | 1.293 | 0.632 |
| predicted_RBI | 1.296 | 0.686 |
| predicted_SLG | 0.481 | 0.030 |
| predicted_SO | 0.951 | 0.411 |
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.448 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.741 | 0.000 |
| predicted_AVG | 0.302 | 0.024 |
| predicted_BB | 0.603 | 0.012 |
| predicted_H | 2.342 | 0.076 |
| predicted_HBP | 0.117 | 0.000 |
| predicted_HR | 0.355 | 0.012 |
| predicted_OBP | 0.353 | 0.009 |
| predicted_R | 1.374 | 0.081 |
| predicted_RBI | 1.377 | 0.081 |
| predicted_SLG | 0.498 | 0.017 |
| predicted_SO | 0.931 | -0.020 |
AB rounded to 8 (raw=7.74), rates preserved: AVG=0.302 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.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.448 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.259 |
| predicted_AVG | 0.250 | -0.052 |
| predicted_BB | 1.000 | 0.397 |
| predicted_H | 2.000 | -0.342 |
| predicted_HR | 0.000 | -0.355 |
| predicted_OBP | 0.333 | -0.020 |
| predicted_R | 1.000 | -0.374 |
| predicted_RBI | 1.000 | -0.377 |
| predicted_SLG | 0.250 | -0.248 |
| predicted_SO | 1.000 | 0.069 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | - | 19.000 | 7.000 | 2.000 | 0.000 | 1.000 | 5.000 | 3.000 | 1.000 | 1.000 | 0.3684 | 0.3810 | 0.6316 | 0.3684 | 0.0526 | 0.2632 | 0.0526 | 0.0526 |
| last_10 | 0.20 | 6 | - | 44.000 | 22.000 | 7.000 | 0.000 | 6.000 | 15.000 | 13.000 | 1.000 | 6.000 | 0.5000 | 0.5000 | 1.0682 | 0.5000 | 0.1364 | 0.3409 | 0.0227 | 0.1364 |
| season | 0.60 | 62 | - | 972.000 | 272.000 | 44.000 | 0.000 | 40.000 | 135.000 | 164.000 | 83.000 | 134.000 | 0.2798 | 0.3379 | 0.4486 | 0.2798 | 0.0411 | 0.1389 | 0.0854 | 0.1379 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7890 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.2220 |
| predicted_AVG | 0.3097 |
| predicted_BB | 0.9130 |
| predicted_H | 3.7860 |
| predicted_HBP | 0.1170 |
| predicted_HR | 0.5870 |
| predicted_OBP | 0.3547 |
| predicted_R | 2.0900 |
| predicted_RBI | 2.1610 |
| predicted_SLG | 0.5186 |
| predicted_SO | 1.4700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1770 | 0.7890 | 0.4476 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1900 | 12.2220 | 7.7414 | model_form_blend |
| predicted_AVG | 0.2530 | 0.3097 | 0.2781 | model_form_blend |
| predicted_BB | 0.3350 | 0.9130 | 0.5906 | model_form_blend |
| predicted_H | 1.0600 | 3.7860 | 2.2653 | model_form_blend |
| predicted_HBP | - | 0.1170 | 0.1170 | form_only |
| predicted_HR | 0.1500 | 0.5870 | 0.3432 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3547 | 0.3443 | model_form_blend |
| predicted_R | 0.6610 | 2.0900 | 1.2928 | model_form_blend |
| predicted_RBI | 0.6100 | 2.1610 | 1.2958 | model_form_blend |
| predicted_SLG | 0.4510 | 0.5186 | 0.4809 | model_form_blend |
| predicted_SO | 0.5400 | 1.4700 | 0.9512 | 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 | 248 |
| Season rows before report date | 248 |
| Report year | 2026 |
| Profile rows used | 248 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| 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 | 2B |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 645277 |
| playerID | 645277 |
| playerName | Ozzie Albies |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 11.6 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.346 |
| sl_xwoba | 0.306 |
| sl_xba | 0.253 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 26.6 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 55.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.123 | 0.000 | 0.000 | Hitting_2B | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.916 | 4.000 | 7.000 | Hitting_AB | 3.897 | 4.000 | 0.103 | 0.000 |
| predicted_AVG | 0.259 | 0.000 | 0.286 | Hitting_AVG | 0.298 | 0.000 | -0.298 | 0.000 |
| predicted_BB | 0.128 | 0.000 | 0.000 | Hitting_BB | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_H | 0.990 | 0.000 | 2.000 | Hitting_H | 1.162 | 0.000 | -1.162 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_OBP | 0.336 | 0.000 | 0.286 | Hitting_OBP | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_R | 0.552 | 0.000 | 1.000 | Hitting_R | 0.549 | 0.000 | -0.549 | 0.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.672 | 0.000 | -0.672 | 0.000 |
| predicted_SLG | 0.461 | 0.000 | 0.286 | Hitting_SLG | 0.530 | 0.000 | -0.530 | 0.000 |
| predicted_SO | 0.754 | 0.000 | 1.000 | Hitting_SO | 0.750 | 0.000 | -0.750 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.9160 -> 4.0000 (boost 0.0840, better) |
| Biggest Deboost | predicted_H: 0.9900 -> 0.0000 (deboost -0.9900, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.9160 -> 6.9646 (boost 3.0486, 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 | 6 | 5 | 1 | 5 | 1 | predicted_RBI: 1.1992 -> 1.2744 (boost 0.0752, better) | predicted_OBP: 0.3381 -> 0.3308 (deboost -0.0073, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_BB: 0.3790 -> 0.0000 (deboost -0.3790, worse) | AB rounded to 7 (raw=6.96), rates preserved: AVG=0.294 HR/AB=0.050 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4799 -> 0.2860 (deboost -0.1939, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2860 -> 0.4799 (boost 0.1939, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671739",
"player_name": "Michael Harris II",
"position": "CF",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.123,
"predicted_3B": 0.0,
"predicted_AB": 3.916,
"predicted_AVG": 0.259,
"predicted_BB": 0.128,
"predicted_H": 0.99,
"predicted_HR": 0.16,
"predicted_OBP": 0.336,
"predicted_R": 0.552,
"predicted_RBI": 0.62,
"predicted_SLG": 0.461,
"predicted_SO": 0.754
},
"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.24,
"predicted_3B": 0.0004,
"predicted_AB": 6.9646,
"predicted_AVG": 0.2768,
"predicted_BB": 0.3712,
"predicted_H": 1.9835,
"predicted_HBP": 0.041,
"predicted_HR": 0.339,
"predicted_OBP": 0.3381,
"predicted_R": 0.9619,
"predicted_RBI": 1.1992,
"predicted_SLG": 0.4748,
"predicted_SO": 1.2114
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.24,
"delta": 0.117,
"percent_delta": 0.9512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.916,
"after": 6.9646,
"delta": 3.0486,
"percent_delta": 0.7785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2768,
"delta": 0.0178,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.128,
"after": 0.3712,
"delta": 0.2432,
"percent_delta": 1.9,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.9835,
"delta": 0.9935,
"percent_delta": 1.0035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.339,
"delta": 0.179,
"percent_delta": 1.1188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3381,
"delta": 0.0021,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 0.9619,
"delta": 0.4099,
"percent_delta": 0.7426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.1992,
"delta": 0.5792,
"percent_delta": 0.9342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4748,
"delta": 0.0138,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.754,
"after": 1.2114,
"delta": 0.4574,
"percent_delta": 0.6066,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.916,
"after": 6.9646,
"delta": 3.0486,
"percent_delta": 0.7785,
"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": 6,
"season": 58
}
},
{
"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.24,
"predicted_3B": 0.0004,
"predicted_AB": 6.9646,
"predicted_AVG": 0.2944,
"predicted_BB": 0.379,
"predicted_H": 2.0503,
"predicted_HBP": 0.041,
"predicted_HR": 0.3505,
"predicted_OBP": 0.3308,
"predicted_R": 1.0222,
"predicted_RBI": 1.2744,
"predicted_SLG": 0.4799,
"predicted_SO": 1.186
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.24,
"after": 0.24,
"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": 6.9646,
"after": 6.9646,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2768,
"after": 0.2944,
"delta": 0.0176,
"percent_delta": 0.0636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3712,
"after": 0.379,
"delta": 0.0078,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9835,
"after": 2.0503,
"delta": 0.0668,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.339,
"after": 0.3505,
"delta": 0.0115,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3381,
"after": 0.3308,
"delta": -0.0073,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9619,
"after": 1.0222,
"delta": 0.0603,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1992,
"after": 1.2744,
"delta": 0.0752,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4748,
"after": 0.4799,
"delta": 0.0051,
"percent_delta": 0.0107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2114,
"after": 1.186,
"delta": -0.0254,
"percent_delta": -0.021,
"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_RBI",
"before": 1.1992,
"after": 1.2744,
"delta": 0.0752,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3381,
"after": 0.3308,
"delta": -0.0073,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.96), rates preserved: AVG=0.294 HR/AB=0.050",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.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.24,
"after": 0.0,
"delta": -0.24,
"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": 6.9646,
"after": 7.0,
"delta": 0.0354,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0503,
"after": 2.0,
"delta": -0.0503,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3505,
"after": 0.0,
"delta": -0.3505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2744,
"after": 1.0,
"delta": -0.2744,
"percent_delta": -0.2153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.186,
"after": 1.0,
"delta": -0.186,
"percent_delta": -0.1568,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"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": 7.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": 7.0,
"after": 7.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": 1.0222,
"after": 1.0,
"delta": -0.0222,
"percent_delta": -0.0217,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2944,
"after": 0.286,
"delta": -0.0084,
"percent_delta": -0.0285,
"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": 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.3308,
"after": 0.286,
"delta": -0.0448,
"percent_delta": -0.1354,
"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.4799,
"after": 0.286,
"delta": -0.1939,
"percent_delta": -0.404,
"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.4799,
"after": 0.286,
"delta": -0.1939,
"percent_delta": -0.404,
"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": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 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": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.2944,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3308,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4799,
"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.286,
"after": 0.2944,
"delta": 0.0084,
"percent_delta": 0.0294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3308,
"delta": 0.0448,
"percent_delta": 0.1567,
"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.286,
"after": 0.4799,
"delta": 0.1939,
"percent_delta": 0.6781,
"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.286,
"after": 0.4799,
"delta": 0.1939,
"percent_delta": 0.6781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.916,
"after": 4.0,
"delta": 0.084,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2944,
"delta": 0.0354,
"percent_delta": 0.1367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3308,
"delta": -0.0052,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 0.0,
"delta": -0.552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4799,
"delta": 0.0189,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.754,
"after": 0.0,
"delta": -0.754,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.916,
"after": 4.0,
"delta": 0.084,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.916 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.128 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.552 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.461 | - |
| predicted_SO | 0.754 | - |
Final model 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.240 | 0.117 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.965 | 3.049 |
| predicted_AVG | 0.277 | 0.018 |
| predicted_BB | 0.371 | 0.243 |
| predicted_H | 1.984 | 0.994 |
| predicted_HBP | 0.041 | - |
| predicted_HR | 0.339 | 0.179 |
| predicted_OBP | 0.338 | 0.002 |
| predicted_R | 0.962 | 0.410 |
| predicted_RBI | 1.199 | 0.579 |
| predicted_SLG | 0.475 | 0.014 |
| predicted_SO | 1.211 | 0.457 |
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.240 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.965 | 0.000 |
| predicted_AVG | 0.294 | 0.018 |
| predicted_BB | 0.379 | 0.008 |
| predicted_H | 2.050 | 0.067 |
| predicted_HBP | 0.041 | 0.000 |
| predicted_HR | 0.350 | 0.011 |
| predicted_OBP | 0.331 | -0.007 |
| predicted_R | 1.022 | 0.060 |
| predicted_RBI | 1.274 | 0.075 |
| predicted_SLG | 0.480 | 0.005 |
| predicted_SO | 1.186 | -0.025 |
AB rounded to 7 (raw=6.96), rates preserved: AVG=0.294 HR/AB=0.050
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.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.240 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | 0.035 |
| predicted_AVG | 0.286 | -0.008 |
| predicted_BB | 0.000 | -0.379 |
| predicted_H | 2.000 | -0.050 |
| predicted_HR | 0.000 | -0.350 |
| predicted_OBP | 0.286 | -0.045 |
| predicted_R | 1.000 | -0.022 |
| predicted_RBI | 1.000 | -0.274 |
| predicted_SLG | 0.286 | -0.194 |
| predicted_SO | 1.000 | -0.186 |
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 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 1.000 | 0.000 | 0.000 | 4.000 | 2.000 | 3.000 | 2.000 | 0.3000 | 0.3913 | 0.3500 | 0.3000 | 0.0000 | 0.2000 | 0.1500 | 0.1000 |
| last_10 | 0.20 | 6 | - | 45.000 | 16.000 | 1.000 | 0.000 | 5.000 | 9.000 | 12.000 | 3.000 | 2.000 | 0.3556 | 0.3958 | 0.7111 | 0.3556 | 0.1111 | 0.2000 | 0.0667 | 0.0444 |
| season | 0.60 | 58 | - | 795.000 | 237.000 | 25.000 | 0.000 | 53.000 | 137.000 | 112.000 | 26.000 | 153.000 | 0.2981 | 0.3217 | 0.5296 | 0.2981 | 0.0667 | 0.1723 | 0.0327 | 0.1925 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3890 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.8480 |
| predicted_AVG | 0.2995 |
| predicted_BB | 0.6810 |
| predicted_H | 3.2490 |
| predicted_HBP | 0.0410 |
| predicted_HR | 0.5670 |
| predicted_OBP | 0.3408 |
| predicted_R | 1.4840 |
| predicted_RBI | 1.9370 |
| predicted_SLG | 0.4924 |
| predicted_SO | 1.7940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1230 | 0.3890 | 0.2400 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9160 | 10.8480 | 6.9646 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2995 | 0.2768 | model_form_blend |
| predicted_BB | 0.1280 | 0.6810 | 0.3712 | model_form_blend |
| predicted_H | 0.9900 | 3.2490 | 1.9835 | model_form_blend |
| predicted_HBP | - | 0.0410 | 0.0410 | form_only |
| predicted_HR | 0.1600 | 0.5670 | 0.3390 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3408 | 0.3381 | model_form_blend |
| predicted_R | 0.5520 | 1.4840 | 0.9619 | model_form_blend |
| predicted_RBI | 0.6200 | 1.9370 | 1.1992 | model_form_blend |
| predicted_SLG | 0.4610 | 0.4924 | 0.4748 | model_form_blend |
| predicted_SO | 0.7540 | 1.7940 | 1.2114 | 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 | 204 |
| Season rows before report date | 204 |
| Report year | 2026 |
| Profile rows used | 203 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.298 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 671739 |
| playerID | 671739 |
| playerName | Michael Harris II |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 4.4 |
| sl_woba | 0.369 |
| sl_xwoba | 0.386 |
| sl_xba | 0.304 |
| sl_xslg | 0.559 |
| sl_sweet_spot_percent | 28.3 |
| sl_barrel_batted_rate | 15.1 |
| sl_hard_hit_percent | 53.2 |
| sl_exit_velocity_avg | 92.9 |
| sl_launch_angle_avg | 12.5 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 55.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.132 | 1.000 | 0.000 | Hitting_2B | 0.128 | 0.000 | 0.872 | 1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.364 | 4.000 | 5.000 | Hitting_AB | 3.256 | 0.000 | 0.744 | 4.000 |
| predicted_AVG | 0.278 | 0.250 | 0.200 | Hitting_AVG | 0.339 | - | -0.089 | - |
| predicted_BB | 0.132 | 0.000 | 0.000 | Hitting_BB | 0.152 | 1.000 | -0.152 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 1.000 | 1.000 | Hitting_H | 1.104 | 0.000 | -0.104 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_OBP | 0.316 | 0.250 | 0.200 | Hitting_OBP | 0.372 | 1.000 | -0.122 | -0.750 |
| predicted_R | 0.554 | 0.000 | 1.000 | Hitting_R | 0.552 | 1.000 | -0.552 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.656 | 0.000 | -0.656 | 0.000 |
| predicted_SLG | 0.420 | 0.500 | 0.200 | Hitting_SLG | 0.501 | - | -0.001 | - |
| predicted_SO | 0.488 | 1.000 | 1.000 | Hitting_SO | 0.472 | 0.000 | 0.528 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.1320 -> 1.0000 (boost 0.8680, better) |
| Biggest Deboost | predicted_R: 0.5540 -> 0.0000 (deboost -0.5540, 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 | 9 | 0 | 8 | 1 | predicted_AB: 3.3640 -> 5.1700 (boost 1.8060, 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 | 5 | 2 | 3 | 2 | 3 | predicted_R: 0.8855 -> 0.9410 (boost 0.0555, better) | predicted_SLG: 0.4247 -> 0.4109 (deboost -0.0138, 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.7035 -> 1.0000 (boost 0.2965, worse) | predicted_H: 1.4863 -> 1.0000 (deboost -0.4863, worse) | AB rounded to 5 (raw=5.17), rates preserved: AVG=0.287 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9410 -> 1.0000 (boost 0.0590, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4109 -> 0.2000 (deboost -0.2109, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.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.2000 -> 0.4109 (boost 0.2109, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642086",
"player_name": "Dominic Smith",
"position": "DH",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.132,
"predicted_3B": 0.008,
"predicted_AB": 3.364,
"predicted_AVG": 0.278,
"predicted_BB": 0.132,
"predicted_H": 0.74,
"predicted_HR": 0.09,
"predicted_OBP": 0.316,
"predicted_R": 0.554,
"predicted_RBI": 0.44,
"predicted_SLG": 0.42,
"predicted_SO": 0.488
},
"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.1708,
"predicted_3B": 0.0106,
"predicted_AB": 5.17,
"predicted_AVG": 0.2928,
"predicted_BB": 0.279,
"predicted_H": 1.4378,
"predicted_HBP": 0.066,
"predicted_HR": 0.1439,
"predicted_OBP": 0.3335,
"predicted_R": 0.8855,
"predicted_RBI": 0.8219,
"predicted_SLG": 0.4247,
"predicted_SO": 0.7186
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.1708,
"delta": 0.0388,
"percent_delta": 0.2939,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0106,
"delta": 0.0026,
"percent_delta": 0.325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.364,
"after": 5.17,
"delta": 1.806,
"percent_delta": 0.5369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2928,
"delta": 0.0148,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.132,
"after": 0.279,
"delta": 0.147,
"percent_delta": 1.1136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.4378,
"delta": 0.6978,
"percent_delta": 0.943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1439,
"delta": 0.0539,
"percent_delta": 0.5989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3335,
"delta": 0.0175,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.8855,
"delta": 0.3315,
"percent_delta": 0.5984,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.8219,
"delta": 0.3819,
"percent_delta": 0.868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4247,
"delta": 0.0047,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.488,
"after": 0.7186,
"delta": 0.2306,
"percent_delta": 0.4725,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.364,
"after": 5.17,
"delta": 1.806,
"percent_delta": 0.5369,
"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": 4,
"last_10": 6,
"season": 45
}
},
{
"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.1708,
"predicted_3B": 0.0106,
"predicted_AB": 5.17,
"predicted_AVG": 0.2875,
"predicted_BB": 0.2849,
"predicted_H": 1.4863,
"predicted_HBP": 0.066,
"predicted_HR": 0.1488,
"predicted_OBP": 0.3247,
"predicted_R": 0.941,
"predicted_RBI": 0.8734,
"predicted_SLG": 0.4109,
"predicted_SO": 0.7035
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1708,
"after": 0.1708,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0106,
"after": 0.0106,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.17,
"after": 5.17,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2928,
"after": 0.2875,
"delta": -0.0053,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.279,
"after": 0.2849,
"delta": 0.0059,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4378,
"after": 1.4863,
"delta": 0.0485,
"percent_delta": 0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.066,
"after": 0.066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1439,
"after": 0.1488,
"delta": 0.0049,
"percent_delta": 0.0341,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3335,
"after": 0.3247,
"delta": -0.0088,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8855,
"after": 0.941,
"delta": 0.0555,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8219,
"after": 0.8734,
"delta": 0.0515,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4247,
"after": 0.4109,
"delta": -0.0138,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7186,
"after": 0.7035,
"delta": -0.0151,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.8855,
"after": 0.941,
"delta": 0.0555,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4247,
"after": 0.4109,
"delta": -0.0138,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.17), rates preserved: AVG=0.287 HR/AB=0.029",
"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.1708,
"after": 0.0,
"delta": -0.1708,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0106,
"after": 0.0,
"delta": -0.0106,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.17,
"after": 5.0,
"delta": -0.17,
"percent_delta": -0.0329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2849,
"after": 0.0,
"delta": -0.2849,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4863,
"after": 1.0,
"delta": -0.4863,
"percent_delta": -0.3272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.066,
"after": 0.0,
"delta": -0.066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1488,
"after": 0.0,
"delta": -0.1488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8734,
"after": 1.0,
"delta": 0.1266,
"percent_delta": 0.145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7035,
"after": 1.0,
"delta": 0.2965,
"percent_delta": 0.4215,
"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.7035,
"after": 1.0,
"delta": 0.2965,
"percent_delta": 0.4215,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4863,
"after": 1.0,
"delta": -0.4863,
"percent_delta": -0.3272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.941,
"after": 1.0,
"delta": 0.059,
"percent_delta": 0.0627,
"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.941,
"after": 1.0,
"delta": 0.059,
"percent_delta": 0.0627,
"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": 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.2875,
"after": 0.2,
"delta": -0.0875,
"percent_delta": -0.3043,
"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.3247,
"after": 0.2,
"delta": -0.1247,
"percent_delta": -0.384,
"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.4109,
"after": 0.2,
"delta": -0.2109,
"percent_delta": -0.5133,
"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.4109,
"after": 0.2,
"delta": -0.2109,
"percent_delta": -0.5133,
"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": 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": 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": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 4.0,
"predicted_AVG": 0.2875,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3247,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4109,
"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": 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.2,
"after": 0.2875,
"delta": 0.0875,
"percent_delta": 0.4374,
"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.2,
"after": 0.3247,
"delta": 0.1247,
"percent_delta": 0.6234,
"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.2,
"after": 0.4109,
"delta": 0.2109,
"percent_delta": 1.0547,
"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.2,
"after": 0.4109,
"delta": 0.2109,
"percent_delta": 1.0547,
"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.132,
"after": 1.0,
"delta": 0.868,
"percent_delta": 6.5758,
"direction": "boost",
"projection_effect": "better",
"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.364,
"after": 4.0,
"delta": 0.636,
"percent_delta": 0.1891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2875,
"delta": 0.0095,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"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.316,
"after": 0.3247,
"delta": 0.0087,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.0,
"delta": -0.554,
"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.42,
"after": 0.4109,
"delta": -0.0091,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.488,
"after": 1.0,
"delta": 0.512,
"percent_delta": 1.0492,
"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_2B",
"before": 0.132,
"after": 1.0,
"delta": 0.868,
"percent_delta": 6.5758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.554,
"after": 0.0,
"delta": -0.554,
"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.132 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.364 | - |
| predicted_AVG | 0.278 | - |
| predicted_BB | 0.132 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.554 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.488 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | 0.039 |
| predicted_3B | 0.011 | 0.003 |
| predicted_AB | 5.170 | 1.806 |
| predicted_AVG | 0.293 | 0.015 |
| predicted_BB | 0.279 | 0.147 |
| predicted_H | 1.438 | 0.698 |
| predicted_HBP | 0.066 | - |
| predicted_HR | 0.144 | 0.054 |
| predicted_OBP | 0.334 | 0.018 |
| predicted_R | 0.885 | 0.331 |
| predicted_RBI | 0.822 | 0.382 |
| predicted_SLG | 0.425 | 0.005 |
| predicted_SO | 0.719 | 0.231 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 5.170 | 0.000 |
| predicted_AVG | 0.287 | -0.005 |
| predicted_BB | 0.285 | 0.006 |
| predicted_H | 1.486 | 0.048 |
| predicted_HBP | 0.066 | 0.000 |
| predicted_HR | 0.149 | 0.005 |
| predicted_OBP | 0.325 | -0.009 |
| predicted_R | 0.941 | 0.055 |
| predicted_RBI | 0.873 | 0.051 |
| predicted_SLG | 0.411 | -0.014 |
| predicted_SO | 0.704 | -0.015 |
AB rounded to 5 (raw=5.17), rates preserved: AVG=0.287 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.171 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 5.000 | -0.170 |
| predicted_AVG | 0.200 | -0.087 |
| predicted_BB | 0.000 | -0.285 |
| predicted_H | 1.000 | -0.486 |
| predicted_HR | 0.000 | -0.149 |
| predicted_OBP | 0.200 | -0.125 |
| predicted_R | 1.000 | 0.059 |
| predicted_RBI | 1.000 | 0.127 |
| predicted_SLG | 0.200 | -0.211 |
| predicted_SO | 1.000 | 0.296 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 1.000 | 0.2778 | 0.3500 | 0.2778 | 0.2778 | 0.0000 | 0.1111 | 0.1111 | 0.0556 |
| last_10 | 0.20 | 6 | - | 31.000 | 7.000 | 0.000 | 0.000 | 0.000 | 5.000 | 6.000 | 4.000 | 5.000 | 0.2258 | 0.3143 | 0.2258 | 0.2258 | 0.0000 | 0.1613 | 0.1290 | 0.1613 |
| season | 0.60 | 45 | - | 407.000 | 138.000 | 16.000 | 1.000 | 16.000 | 81.000 | 67.000 | 16.000 | 59.000 | 0.3391 | 0.3681 | 0.5012 | 0.3391 | 0.0393 | 0.1990 | 0.0393 | 0.1450 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2220 |
| predicted_3B | 0.0140 |
| predicted_AB | 7.5540 |
| predicted_AVG | 0.3123 |
| predicted_BB | 0.4730 |
| predicted_H | 2.3590 |
| predicted_HBP | 0.0660 |
| predicted_HR | 0.2150 |
| predicted_OBP | 0.3565 |
| predicted_R | 1.3230 |
| predicted_RBI | 1.3260 |
| predicted_SLG | 0.4309 |
| predicted_SO | 1.0230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.2220 | 0.1708 | model_form_blend |
| predicted_3B | 0.0080 | 0.0140 | 0.0106 | model_form_blend |
| predicted_AB | 3.3640 | 7.5540 | 5.1700 | model_form_blend |
| predicted_AVG | 0.2780 | 0.3123 | 0.2928 | model_form_blend |
| predicted_BB | 0.1320 | 0.4730 | 0.2790 | model_form_blend |
| predicted_H | 0.7400 | 2.3590 | 1.4378 | model_form_blend |
| predicted_HBP | - | 0.0660 | 0.0660 | form_only |
| predicted_HR | 0.0900 | 0.2150 | 0.1439 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3565 | 0.3335 | model_form_blend |
| predicted_R | 0.5540 | 1.3230 | 0.8855 | model_form_blend |
| predicted_RBI | 0.4400 | 1.3260 | 0.8219 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4309 | 0.4247 | model_form_blend |
| predicted_SO | 0.4880 | 1.0230 | 0.7186 | 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 | 125 |
| Season rows before report date | 125 |
| Report year | 2026 |
| Profile rows used | 121 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.339 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | PH |
| gameID | 20260603_TOR@ATL |
| game_type | ph |
| mlbID | 642086 |
| note | Walked for Tromp in the 7th. |
| playerID | 642086 |
| playerName | Dominic Smith |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 14.6 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.365 |
| sl_xwoba | 0.364 |
| sl_xba | 0.304 |
| sl_xslg | 0.487 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 37.6 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 16.0 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 54.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.153 | 0.000 | 0.000 | Hitting_2B | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 3.223 | 3.000 | 5.000 | Hitting_AB | 3.182 | 2.000 | -0.182 | 1.000 |
| predicted_AVG | 0.277 | 0.000 | 0.200 | Hitting_AVG | 0.223 | 0.000 | -0.223 | 0.000 |
| predicted_BB | 0.331 | 1.000 | 1.000 | Hitting_BB | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.710 | 0.000 | 1.000 | Hitting_H | 0.711 | 0.000 | -0.711 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_OBP | 0.353 | 0.250 | 0.333 | Hitting_OBP | 0.307 | 0.000 | -0.057 | 0.250 |
| predicted_R | 0.484 | 0.000 | 1.000 | Hitting_R | 0.491 | 0.000 | -0.491 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 1.000 | Hitting_RBI | 0.289 | 0.000 | -0.289 | 0.000 |
| predicted_SLG | 0.427 | 0.000 | 0.200 | Hitting_SLG | 0.332 | 0.000 | -0.332 | 0.000 |
| predicted_SO | 0.873 | 0.000 | 1.000 | Hitting_SO | 0.862 | 0.000 | -0.862 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.3310 -> 1.0000 (boost 0.6690, better) |
| Biggest Deboost | predicted_SO: 0.8730 -> 0.0000 (deboost -0.8730, 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 | 8 | 7 | 1 | 6 | 2 | predicted_AB: 3.2230 -> 4.7812 (boost 1.5582, better) | predicted_SLG: 0.4270 -> 0.4136 (deboost -0.0134, 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.4136 -> 0.3855 (deboost -0.0281, 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 | 4 | 4 | predicted_BB: 0.5366 -> 1.0000 (boost 0.4634, better) | predicted_2B: 0.3193 -> 0.0000 (deboost -0.3193, worse) | AB rounded to 5 (raw=4.78), rates preserved: AVG=0.262 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6966 -> 1.0000 (boost 0.3034, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3855 -> 0.2000 (deboost -0.1855, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2000 -> 0.3855 (boost 0.1855, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "573262",
"player_name": "Mike Yastrzemski",
"position": "LF",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.153,
"predicted_3B": 0.013,
"predicted_AB": 3.223,
"predicted_AVG": 0.277,
"predicted_BB": 0.331,
"predicted_H": 0.71,
"predicted_HR": 0.07,
"predicted_OBP": 0.353,
"predicted_R": 0.484,
"predicted_RBI": 0.36,
"predicted_SLG": 0.427,
"predicted_SO": 0.873
},
"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.3193,
"predicted_3B": 0.0152,
"predicted_AB": 4.7812,
"predicted_AVG": 0.2757,
"predicted_BB": 0.5256,
"predicted_H": 1.2127,
"predicted_HBP": 0.188,
"predicted_HR": 0.0774,
"predicted_OBP": 0.3569,
"predicted_R": 0.6555,
"predicted_RBI": 0.5245,
"predicted_SLG": 0.4136,
"predicted_SO": 1.1794
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.3193,
"delta": 0.1663,
"percent_delta": 1.0869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0152,
"delta": 0.0022,
"percent_delta": 0.1692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.223,
"after": 4.7812,
"delta": 1.5582,
"percent_delta": 0.4835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2757,
"delta": -0.0013,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.331,
"after": 0.5256,
"delta": 0.1946,
"percent_delta": 0.5879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.2127,
"delta": 0.5027,
"percent_delta": 0.708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0774,
"delta": 0.0074,
"percent_delta": 0.1057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.3569,
"delta": 0.0039,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.6555,
"delta": 0.1715,
"percent_delta": 0.3543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.5245,
"delta": 0.1645,
"percent_delta": 0.4569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4136,
"delta": -0.0134,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.873,
"after": 1.1794,
"delta": 0.3064,
"percent_delta": 0.351,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 7,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.223,
"after": 4.7812,
"delta": 1.5582,
"percent_delta": 0.4835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4136,
"delta": -0.0134,
"percent_delta": -0.0314,
"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": 8,
"season": 54
}
},
{
"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.3193,
"predicted_3B": 0.0152,
"predicted_AB": 4.7812,
"predicted_AVG": 0.2622,
"predicted_BB": 0.5366,
"predicted_H": 1.2536,
"predicted_HBP": 0.188,
"predicted_HR": 0.08,
"predicted_OBP": 0.3366,
"predicted_R": 0.6966,
"predicted_RBI": 0.5574,
"predicted_SLG": 0.3855,
"predicted_SO": 1.1546
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3193,
"after": 0.3193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0152,
"after": 0.0152,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7812,
"after": 4.7812,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2757,
"after": 0.2622,
"delta": -0.0135,
"percent_delta": -0.049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5256,
"after": 0.5366,
"delta": 0.011,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2127,
"after": 1.2536,
"delta": 0.0409,
"percent_delta": 0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.188,
"after": 0.188,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0774,
"after": 0.08,
"delta": 0.0026,
"percent_delta": 0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3569,
"after": 0.3366,
"delta": -0.0203,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6555,
"after": 0.6966,
"delta": 0.0411,
"percent_delta": 0.0627,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5245,
"after": 0.5574,
"delta": 0.0329,
"percent_delta": 0.0627,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4136,
"after": 0.3855,
"delta": -0.0281,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1794,
"after": 1.1546,
"delta": -0.0248,
"percent_delta": -0.021,
"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.4136,
"after": 0.3855,
"delta": -0.0281,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.78), rates preserved: AVG=0.262 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3193,
"after": 0.0,
"delta": -0.3193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0152,
"after": 0.0,
"delta": -0.0152,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7812,
"after": 5.0,
"delta": 0.2188,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5366,
"after": 1.0,
"delta": 0.4634,
"percent_delta": 0.8636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2536,
"after": 1.0,
"delta": -0.2536,
"percent_delta": -0.2023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5574,
"after": 1.0,
"delta": 0.4426,
"percent_delta": 0.794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1546,
"after": 1.0,
"delta": -0.1546,
"percent_delta": -0.1339,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5366,
"after": 1.0,
"delta": 0.4634,
"percent_delta": 0.8636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3193,
"after": 0.0,
"delta": -0.3193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6966,
"after": 1.0,
"delta": 0.3034,
"percent_delta": 0.4355,
"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.6966,
"after": 1.0,
"delta": 0.3034,
"percent_delta": 0.4355,
"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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"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.2622,
"after": 0.2,
"delta": -0.0622,
"percent_delta": -0.2372,
"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.3366,
"after": 0.333,
"delta": -0.0036,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3855,
"after": 0.2,
"delta": -0.1855,
"percent_delta": -0.4812,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3855,
"after": 0.2,
"delta": -0.1855,
"percent_delta": -0.4812,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2622,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3366,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3855,
"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.2,
"after": 0.2622,
"delta": 0.0622,
"percent_delta": 0.3109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3366,
"delta": 0.0036,
"percent_delta": 0.0109,
"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.2,
"after": 0.3855,
"delta": 0.1855,
"percent_delta": 0.9277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3855,
"delta": 0.1855,
"percent_delta": 0.9277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.0,
"delta": -0.153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.223,
"after": 3.0,
"delta": -0.223,
"percent_delta": -0.0692,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2622,
"delta": -0.0148,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.331,
"after": 1.0,
"delta": 0.669,
"percent_delta": 2.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.3366,
"delta": -0.0164,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.0,
"delta": -0.484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.3855,
"delta": -0.0415,
"percent_delta": -0.0972,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.873,
"after": 0.0,
"delta": -0.873,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.331,
"after": 1.0,
"delta": 0.669,
"percent_delta": 2.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.873,
"after": 0.0,
"delta": -0.873,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.223 | - |
| predicted_AVG | 0.277 | - |
| predicted_BB | 0.331 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.353 | - |
| predicted_R | 0.484 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.427 | - |
| predicted_SO | 0.873 | - |
Final model 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.319 | 0.166 |
| predicted_3B | 0.015 | 0.002 |
| predicted_AB | 4.781 | 1.558 |
| predicted_AVG | 0.276 | -0.001 |
| predicted_BB | 0.526 | 0.195 |
| predicted_H | 1.213 | 0.503 |
| predicted_HBP | 0.188 | - |
| predicted_HR | 0.077 | 0.007 |
| predicted_OBP | 0.357 | 0.004 |
| predicted_R | 0.655 | 0.171 |
| predicted_RBI | 0.524 | 0.164 |
| predicted_SLG | 0.414 | -0.013 |
| predicted_SO | 1.179 | 0.306 |
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.319 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 4.781 | 0.000 |
| predicted_AVG | 0.262 | -0.014 |
| predicted_BB | 0.537 | 0.011 |
| predicted_H | 1.254 | 0.041 |
| predicted_HBP | 0.188 | 0.000 |
| predicted_HR | 0.080 | 0.003 |
| predicted_OBP | 0.337 | -0.020 |
| predicted_R | 0.697 | 0.041 |
| predicted_RBI | 0.557 | 0.033 |
| predicted_SLG | 0.386 | -0.028 |
| predicted_SO | 1.155 | -0.025 |
AB rounded to 5 (raw=4.78), rates preserved: AVG=0.262 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.319 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 5.000 | 0.219 |
| predicted_AVG | 0.200 | -0.062 |
| predicted_BB | 1.000 | 0.463 |
| predicted_H | 1.000 | -0.254 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.333 | -0.004 |
| predicted_R | 1.000 | 0.303 |
| predicted_RBI | 1.000 | 0.443 |
| predicted_SLG | 0.200 | -0.185 |
| predicted_SO | 1.000 | -0.155 |
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 | -2.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | - | 12.000 | 5.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 2.000 | 0.4167 | 0.5000 | 0.5833 | 0.4167 | 0.0000 | 0.1667 | 0.1667 | 0.1667 |
| last_10 | 0.20 | 8 | - | 20.000 | 6.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 3.000 | 0.3000 | 0.4400 | 0.4000 | 0.3000 | 0.0000 | 0.1000 | 0.1000 | 0.1500 |
| season | 0.60 | 54 | - | 506.000 | 113.000 | 24.000 | 2.000 | 9.000 | 45.000 | 76.000 | 52.000 | 137.000 | 0.2233 | 0.3044 | 0.3320 | 0.2233 | 0.0178 | 0.0889 | 0.1028 | 0.2707 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5350 |
| predicted_3B | 0.0180 |
| predicted_AB | 6.8030 |
| predicted_AVG | 0.2741 |
| predicted_BB | 0.7780 |
| predicted_H | 1.8650 |
| predicted_HBP | 0.1880 |
| predicted_HR | 0.0870 |
| predicted_OBP | 0.3620 |
| predicted_R | 0.8780 |
| predicted_RBI | 0.7380 |
| predicted_SLG | 0.3961 |
| predicted_SO | 1.5770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1530 | 0.5350 | 0.3193 | model_form_blend |
| predicted_3B | 0.0130 | 0.0180 | 0.0152 | model_form_blend |
| predicted_AB | 3.2230 | 6.8030 | 4.7812 | model_form_blend |
| predicted_AVG | 0.2770 | 0.2741 | 0.2757 | model_form_blend |
| predicted_BB | 0.3310 | 0.7780 | 0.5256 | model_form_blend |
| predicted_H | 0.7100 | 1.8650 | 1.2127 | model_form_blend |
| predicted_HBP | - | 0.1880 | 0.1880 | form_only |
| predicted_HR | 0.0700 | 0.0870 | 0.0774 | model_form_blend |
| predicted_OBP | 0.3530 | 0.3620 | 0.3569 | model_form_blend |
| predicted_R | 0.4840 | 0.8780 | 0.6555 | model_form_blend |
| predicted_RBI | 0.3600 | 0.7380 | 0.5245 | model_form_blend |
| predicted_SLG | 0.4270 | 0.3961 | 0.4136 | model_form_blend |
| predicted_SO | 0.8730 | 1.5770 | 1.1794 | 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 | 159 |
| Season rows before report date | 159 |
| Report year | 2026 |
| Profile rows used | 157 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.223 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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-RF |
| gameID | 20260603_TOR@ATL |
| game_type | ph |
| mlbID | 573262 |
| note | Grounded into a forceout for White, E in the 6th. |
| playerID | 573262 |
| playerName | Mike Yastrzemski |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.318 |
| sl_xwoba | 0.292 |
| sl_xba | 0.235 |
| sl_xslg | 0.328 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 15.6 |
| sl_whiff_percent | 25.2 |
| sl_swing_percent | 43.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.146 | 1.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | 0.854 | 1.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.791 | 4.000 | 7.000 | Hitting_AB | 3.791 | 3.000 | 0.209 | 1.000 |
| predicted_AVG | 0.209 | 0.250 | 0.143 | Hitting_AVG | 0.219 | 0.333 | 0.031 | -0.083 |
| predicted_BB | 0.322 | 0.000 | 1.000 | Hitting_BB | 0.322 | 1.000 | -0.322 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.750 | 1.000 | 1.000 | Hitting_H | 0.828 | 1.000 | 0.172 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.282 | 0.250 | 0.250 | Hitting_OBP | 0.292 | 0.500 | -0.042 | -0.250 |
| predicted_R | 0.523 | 0.000 | 1.000 | Hitting_R | 0.523 | 0.000 | -0.523 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.544 | 0.000 | -0.544 | 0.000 |
| predicted_SLG | 0.334 | 0.500 | 0.143 | Hitting_SLG | 0.369 | 0.333 | 0.131 | 0.167 |
| predicted_SO | 1.259 | 0.000 | 2.000 | Hitting_SO | 1.259 | 0.000 | -1.259 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_2B: 0.1460 -> 1.0000 (boost 0.8540, better) |
| Biggest Deboost | predicted_SO: 1.2590 -> 0.0000 (deboost -1.2590, 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 | 11 | 8 | 3 | 7 | 4 | predicted_AB: 3.7910 -> 7.0368 (boost 3.2458, better) | predicted_SLG: 0.3340 -> 0.3130 (deboost -0.0210, 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 | 5 | 2 | 3 | 2 | 3 | predicted_R: 0.9681 -> 1.0288 (boost 0.0607, better) | predicted_OBP: 0.2769 -> 0.2616 (deboost -0.0153, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.6817 -> 1.0000 (boost 0.3183, better) | predicted_HBP: 0.3770 -> 0.0000 (deboost -0.3770, worse) | AB rounded to 7 (raw=7.04), rates preserved: AVG=0.190 HR/AB=0.026 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3065 -> 0.1430 (deboost -0.1635, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3065 (boost 0.1635, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663586",
"player_name": "Austin Riley",
"position": "3B",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.146,
"predicted_3B": 0.017,
"predicted_AB": 3.791,
"predicted_AVG": 0.209,
"predicted_BB": 0.322,
"predicted_H": 0.75,
"predicted_HR": 0.1,
"predicted_OBP": 0.282,
"predicted_R": 0.523,
"predicted_RBI": 0.41,
"predicted_SLG": 0.334,
"predicted_SO": 1.259
},
"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.2202,
"predicted_3B": 0.0249,
"predicted_AB": 7.0368,
"predicted_AVG": 0.1952,
"predicted_BB": 0.6677,
"predicted_H": 1.2935,
"predicted_HBP": 0.377,
"predicted_HR": 0.1773,
"predicted_OBP": 0.2769,
"predicted_R": 0.9681,
"predicted_RBI": 0.8308,
"predicted_SLG": 0.313,
"predicted_SO": 2.1748
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.2202,
"delta": 0.0742,
"percent_delta": 0.5082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0249,
"delta": 0.0079,
"percent_delta": 0.4647,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.791,
"after": 7.0368,
"delta": 3.2458,
"percent_delta": 0.8562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.1952,
"delta": -0.0138,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.322,
"after": 0.6677,
"delta": 0.3457,
"percent_delta": 1.0736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.2935,
"delta": 0.5435,
"percent_delta": 0.7247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1773,
"delta": 0.0773,
"percent_delta": 0.773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2769,
"delta": -0.0051,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 0.9681,
"delta": 0.4451,
"percent_delta": 0.8511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.8308,
"delta": 0.4208,
"percent_delta": 1.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.313,
"delta": -0.021,
"percent_delta": -0.0629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.259,
"after": 2.1748,
"delta": 0.9158,
"percent_delta": 0.7274,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.791,
"after": 7.0368,
"delta": 3.2458,
"percent_delta": 0.8562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.313,
"delta": -0.021,
"percent_delta": -0.0629,
"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": 62
}
},
{
"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.2202,
"predicted_3B": 0.0249,
"predicted_AB": 7.0368,
"predicted_AVG": 0.19,
"predicted_BB": 0.6817,
"predicted_H": 1.3371,
"predicted_HBP": 0.377,
"predicted_HR": 0.1833,
"predicted_OBP": 0.2616,
"predicted_R": 1.0288,
"predicted_RBI": 0.8829,
"predicted_SLG": 0.3065,
"predicted_SO": 2.1291
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2202,
"after": 0.2202,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0249,
"after": 0.0249,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0368,
"after": 7.0368,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1952,
"after": 0.19,
"delta": -0.0052,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6677,
"after": 0.6817,
"delta": 0.014,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2935,
"after": 1.3371,
"delta": 0.0436,
"percent_delta": 0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.377,
"after": 0.377,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1773,
"after": 0.1833,
"delta": 0.006,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2769,
"after": 0.2616,
"delta": -0.0153,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9681,
"after": 1.0288,
"delta": 0.0607,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8308,
"after": 0.8829,
"delta": 0.0521,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.313,
"after": 0.3065,
"delta": -0.0065,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1748,
"after": 2.1291,
"delta": -0.0457,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.9681,
"after": 1.0288,
"delta": 0.0607,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2769,
"after": 0.2616,
"delta": -0.0153,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.04), rates preserved: AVG=0.190 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2202,
"after": 0.0,
"delta": -0.2202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0249,
"after": 0.0,
"delta": -0.0249,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0368,
"after": 7.0,
"delta": -0.0368,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6817,
"after": 1.0,
"delta": 0.3183,
"percent_delta": 0.4669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3371,
"after": 1.0,
"delta": -0.3371,
"percent_delta": -0.2521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1833,
"after": 0.0,
"delta": -0.1833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8829,
"after": 1.0,
"delta": 0.1171,
"percent_delta": 0.1326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1291,
"after": 2.0,
"delta": -0.1291,
"percent_delta": -0.0606,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6817,
"after": 1.0,
"delta": 0.3183,
"percent_delta": 0.4669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"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": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.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": 1.0288,
"after": 1.0,
"delta": -0.0288,
"percent_delta": -0.028,
"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_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"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": 7.0,
"predicted_AVG": 0.143,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.143,
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.19,
"after": 0.143,
"delta": -0.047,
"percent_delta": -0.2474,
"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.2616,
"after": 0.25,
"delta": -0.0116,
"percent_delta": -0.0443,
"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.3065,
"after": 0.143,
"delta": -0.1635,
"percent_delta": -0.5334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3065,
"after": 0.143,
"delta": -0.1635,
"percent_delta": -0.5334,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 4.0,
"predicted_AVG": 0.19,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2616,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3065,
"predicted_SO": 0.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": 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.143,
"after": 0.19,
"delta": 0.047,
"percent_delta": 0.3288,
"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.2616,
"delta": 0.0116,
"percent_delta": 0.0462,
"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.143,
"after": 0.3065,
"delta": 0.1635,
"percent_delta": 1.1435,
"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.143,
"after": 0.3065,
"delta": 0.1635,
"percent_delta": 1.1435,
"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.146,
"after": 1.0,
"delta": 0.854,
"percent_delta": 5.8493,
"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": 3.791,
"after": 4.0,
"delta": 0.209,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.19,
"delta": -0.019,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.322,
"after": 0.0,
"delta": -0.322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2616,
"delta": -0.0204,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 0.0,
"delta": -0.523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3065,
"delta": -0.0275,
"percent_delta": -0.0823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.259,
"after": 0.0,
"delta": -1.259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.146,
"after": 1.0,
"delta": 0.854,
"percent_delta": 5.8493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.259,
"after": 0.0,
"delta": -1.259,
"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.146 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.791 | - |
| predicted_AVG | 0.209 | - |
| predicted_BB | 0.322 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.523 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.334 | - |
| predicted_SO | 1.259 | - |
Final model 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.220 | 0.074 |
| predicted_3B | 0.025 | 0.008 |
| predicted_AB | 7.037 | 3.246 |
| predicted_AVG | 0.195 | -0.014 |
| predicted_BB | 0.668 | 0.346 |
| predicted_H | 1.294 | 0.544 |
| predicted_HBP | 0.377 | - |
| predicted_HR | 0.177 | 0.077 |
| predicted_OBP | 0.277 | -0.005 |
| predicted_R | 0.968 | 0.445 |
| predicted_RBI | 0.831 | 0.421 |
| predicted_SLG | 0.313 | -0.021 |
| predicted_SO | 2.175 | 0.916 |
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.220 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 7.037 | 0.000 |
| predicted_AVG | 0.190 | -0.005 |
| predicted_BB | 0.682 | 0.014 |
| predicted_H | 1.337 | 0.044 |
| predicted_HBP | 0.377 | 0.000 |
| predicted_HR | 0.183 | 0.006 |
| predicted_OBP | 0.262 | -0.015 |
| predicted_R | 1.029 | 0.061 |
| predicted_RBI | 0.883 | 0.052 |
| predicted_SLG | 0.306 | -0.007 |
| predicted_SO | 2.129 | -0.046 |
AB rounded to 7 (raw=7.04), rates preserved: AVG=0.190 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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.220 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 7.000 | -0.037 |
| predicted_AVG | 0.143 | -0.047 |
| predicted_BB | 1.000 | 0.318 |
| predicted_H | 1.000 | -0.337 |
| predicted_HR | 0.000 | -0.183 |
| predicted_OBP | 0.250 | -0.012 |
| predicted_R | 1.000 | -0.029 |
| predicted_RBI | 1.000 | 0.117 |
| predicted_SLG | 0.143 | -0.164 |
| predicted_SO | 2.000 | -0.129 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | - | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 0.0769 | 0.2353 | 0.0769 | 0.0769 | 0.0000 | 0.0769 | 0.1538 | 0.1538 |
| last_10 | 0.20 | 6 | - | 38.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 22.000 | 0.0263 | 0.0952 | 0.0263 | 0.0263 | 0.0000 | 0.0263 | 0.0526 | 0.5789 |
| season | 0.60 | 62 | - | 906.000 | 198.000 | 35.000 | 4.000 | 31.000 | 130.000 | 125.000 | 77.000 | 301.000 | 0.2185 | 0.2920 | 0.3687 | 0.2185 | 0.0342 | 0.1435 | 0.0850 | 0.3322 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3140 |
| predicted_3B | 0.0350 |
| predicted_AB | 11.1420 |
| predicted_AVG | 0.1778 |
| predicted_BB | 1.1050 |
| predicted_H | 1.9810 |
| predicted_HBP | 0.3770 |
| predicted_HR | 0.2750 |
| predicted_OBP | 0.2704 |
| predicted_R | 1.5310 |
| predicted_RBI | 1.3630 |
| predicted_SLG | 0.2865 |
| predicted_SO | 3.3330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1460 | 0.3140 | 0.2202 | model_form_blend |
| predicted_3B | 0.0170 | 0.0350 | 0.0249 | model_form_blend |
| predicted_AB | 3.7910 | 11.1420 | 7.0368 | model_form_blend |
| predicted_AVG | 0.2090 | 0.1778 | 0.1952 | model_form_blend |
| predicted_BB | 0.3220 | 1.1050 | 0.6677 | model_form_blend |
| predicted_H | 0.7500 | 1.9810 | 1.2935 | model_form_blend |
| predicted_HBP | - | 0.3770 | 0.3770 | form_only |
| predicted_HR | 0.1000 | 0.2750 | 0.1773 | model_form_blend |
| predicted_OBP | 0.2820 | 0.2704 | 0.2769 | model_form_blend |
| predicted_R | 0.5230 | 1.5310 | 0.9681 | model_form_blend |
| predicted_RBI | 0.4100 | 1.3630 | 0.8308 | model_form_blend |
| predicted_SLG | 0.3340 | 0.2865 | 0.3130 | model_form_blend |
| predicted_SO | 1.2590 | 3.3330 | 2.1748 | 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 | 239 |
| Season rows before report date | 239 |
| Report year | 2026 |
| Profile rows used | 239 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.219 |
| 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.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 663586 |
| playerID | 663586 |
| playerName | Austin Riley |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 28.9 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.289 |
| sl_xwoba | 0.309 |
| sl_xba | 0.219 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 45.2 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 18.9 |
| sl_whiff_percent | 31.8 |
| sl_swing_percent | 47.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.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 | 2.174 | 0.000 | 0.826 | 3.000 |
| predicted_AVG | 0.244 | 0.667 | 0.000 | Hitting_AVG | 0.080 | - | 0.587 | - |
| 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.440 | 2.000 | 0.000 | Hitting_H | 0.174 | 0.000 | 1.826 | 2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.244 | 0.667 | 0.000 | Hitting_OBP | 0.080 | - | 0.587 | - |
| predicted_R | 0.000 | 1.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_RBI | 0.230 | 1.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_SLG | 0.275 | 0.667 | 0.000 | Hitting_SLG | 0.080 | - | 0.587 | - |
| predicted_SO | 0.900 | 0.000 | 1.000 | Hitting_SO | 0.783 | 0.000 | -0.783 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.4400 -> 2.0000 (boost 1.5600, better) |
| Biggest Deboost | predicted_SO: 0.9000 -> 0.0000 (deboost -0.9000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 3 | 3 | 2 | 4 | predicted_AB: 2.5000 -> 2.8760 (boost 0.3760, better) | predicted_AVG: 0.2440 -> 0.2045 (deboost -0.0395, 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.2045 -> 0.1607 (deboost -0.0438, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 4 | 1 | 3 | 1 | 3 | predicted_AB: 2.8760 -> 3.0000 (boost 0.1240, better) | predicted_H: 0.4622 -> 0.0000 (deboost -0.4622, worse) | AB rounded to 3 (raw=2.88), rates preserved: AVG=0.161 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.0626 -> 0.0000 (deboost -0.0626, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2292 -> 0.0000 (deboost -0.2292, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_H: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.0000 -> 0.2292 (boost 0.2292, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "506702",
"player_name": "Sandy León",
"position": "C",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.244,
"predicted_BB": 0.0,
"predicted_H": 0.44,
"predicted_HR": 0.06,
"predicted_OBP": 0.244,
"predicted_R": 0.0,
"predicted_RBI": 0.23,
"predicted_SLG": 0.275,
"predicted_SO": 0.9
},
"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.0225,
"predicted_3B": 0.0017,
"predicted_AB": 2.876,
"predicted_AVG": 0.2045,
"predicted_BB": 0.0357,
"predicted_H": 0.4471,
"predicted_HBP": 0.012,
"predicted_HR": 0.0552,
"predicted_OBP": 0.2126,
"predicted_R": 0.0589,
"predicted_RBI": 0.212,
"predicted_SLG": 0.2451,
"predicted_SO": 1.0109
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0225,
"delta": 0.0225,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0017,
"delta": 0.0017,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.876,
"delta": 0.376,
"percent_delta": 0.1504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2045,
"delta": -0.0395,
"percent_delta": -0.1619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0357,
"delta": 0.0357,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.44,
"after": 0.4471,
"delta": 0.0071,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0552,
"delta": -0.0048,
"percent_delta": -0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.244,
"after": 0.2126,
"delta": -0.0314,
"percent_delta": -0.1287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0589,
"delta": 0.0589,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.212,
"delta": -0.018,
"percent_delta": -0.0783,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.275,
"after": 0.2451,
"delta": -0.0299,
"percent_delta": -0.1087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9,
"after": 1.0109,
"delta": 0.1109,
"percent_delta": 0.1232,
"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": 2.5,
"after": 2.876,
"delta": 0.376,
"percent_delta": 0.1504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2045,
"delta": -0.0395,
"percent_delta": -0.1619,
"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": 7,
"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.0225,
"predicted_3B": 0.0017,
"predicted_AB": 2.876,
"predicted_AVG": 0.1607,
"predicted_BB": 0.0364,
"predicted_H": 0.4622,
"predicted_HBP": 0.012,
"predicted_HR": 0.0571,
"predicted_OBP": 0.1712,
"predicted_R": 0.0626,
"predicted_RBI": 0.2253,
"predicted_SLG": 0.2292,
"predicted_SO": 0.9897
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0225,
"after": 0.0225,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.876,
"after": 2.876,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2045,
"after": 0.1607,
"delta": -0.0438,
"percent_delta": -0.2142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0357,
"after": 0.0364,
"delta": 0.0007,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4471,
"after": 0.4622,
"delta": 0.0151,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0552,
"after": 0.0571,
"delta": 0.0019,
"percent_delta": 0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2126,
"after": 0.1712,
"delta": -0.0414,
"percent_delta": -0.1947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0589,
"after": 0.0626,
"delta": 0.0037,
"percent_delta": 0.0628,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.212,
"after": 0.2253,
"delta": 0.0133,
"percent_delta": 0.0627,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2451,
"after": 0.2292,
"delta": -0.0159,
"percent_delta": -0.0649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0109,
"after": 0.9897,
"delta": -0.0212,
"percent_delta": -0.021,
"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.2045,
"after": 0.1607,
"delta": -0.0438,
"percent_delta": -0.2142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.88), rates preserved: AVG=0.161 HR/AB=0.020",
"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.0225,
"after": 0.0,
"delta": -0.0225,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.876,
"after": 3.0,
"delta": 0.124,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0364,
"after": 0.0,
"delta": -0.0364,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4622,
"after": 0.0,
"delta": -0.4622,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0571,
"after": 0.0,
"delta": -0.0571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2253,
"after": 0.0,
"delta": -0.2253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9897,
"after": 1.0,
"delta": 0.0103,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.876,
"after": 3.0,
"delta": 0.124,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4622,
"after": 0.0,
"delta": -0.4622,
"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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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_R",
"before": 0.0626,
"after": 0.0,
"delta": -0.0626,
"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.0626,
"after": 0.0,
"delta": -0.0626,
"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.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 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_AVG",
"before": 0.1607,
"after": 0.0,
"delta": -0.1607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 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.1712,
"after": 0.0,
"delta": -0.1712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2292,
"after": 0.0,
"delta": -0.2292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2292,
"after": 0.0,
"delta": -0.2292,
"percent_delta": -1.0,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 0.0,
"after": 2.0,
"delta": 2.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.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1607,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1712,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2292,
"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.0,
"after": 0.1607,
"delta": 0.1607,
"percent_delta": null,
"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.0,
"after": 0.1712,
"delta": 0.1712,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.0,
"after": 0.2292,
"delta": 0.2292,
"percent_delta": null,
"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.0,
"after": 0.2292,
"delta": 0.2292,
"percent_delta": null,
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.244,
"after": 0.1607,
"delta": -0.0833,
"percent_delta": -0.3414,
"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.44,
"after": 2.0,
"delta": 1.56,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.244,
"after": 0.1712,
"delta": -0.0728,
"percent_delta": -0.2984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 1.0,
"delta": 0.77,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.275,
"after": 0.2292,
"delta": -0.0458,
"percent_delta": -0.1665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.44,
"after": 2.0,
"delta": 1.56,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.440 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.244 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.275 | - |
| predicted_SO | 0.900 | - |
Final model 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.022 | 0.022 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.876 | 0.376 |
| predicted_AVG | 0.204 | -0.040 |
| predicted_BB | 0.036 | 0.036 |
| predicted_H | 0.447 | 0.007 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.055 | -0.005 |
| predicted_OBP | 0.213 | -0.031 |
| predicted_R | 0.059 | 0.059 |
| predicted_RBI | 0.212 | -0.018 |
| predicted_SLG | 0.245 | -0.030 |
| predicted_SO | 1.011 | 0.111 |
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.022 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.876 | 0.000 |
| predicted_AVG | 0.161 | -0.044 |
| predicted_BB | 0.036 | 0.001 |
| predicted_H | 0.462 | 0.015 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.057 | 0.002 |
| predicted_OBP | 0.171 | -0.041 |
| predicted_R | 0.063 | 0.004 |
| predicted_RBI | 0.225 | 0.013 |
| predicted_SLG | 0.229 | -0.016 |
| predicted_SO | 0.990 | -0.021 |
AB rounded to 3 (raw=2.88), rates preserved: AVG=0.161 HR/AB=0.020
| 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 | 0.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.022 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.124 |
| predicted_AVG | 0.000 | -0.161 |
| predicted_BB | 0.000 | -0.036 |
| predicted_H | 0.000 | -0.462 |
| predicted_HR | 0.000 | -0.057 |
| predicted_OBP | 0.000 | -0.171 |
| predicted_R | 0.000 | -0.063 |
| predicted_RBI | 0.000 | -0.225 |
| predicted_SLG | 0.000 | -0.229 |
| predicted_SO | 1.000 | 0.010 |
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 | 2.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.6000 |
| last_10 | 0.20 | 7 | - | 19.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 8.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.4210 |
| season | 0.60 | 13 | - | 50.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 18.000 | 0.0800 | 0.0800 | 0.0800 | 0.0800 | 0.0000 | 0.0000 | 0.0000 | 0.3600 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0660 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.6050 |
| predicted_AVG | 0.1279 |
| predicted_BB | 0.1050 |
| predicted_H | 0.4610 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0460 |
| predicted_OBP | 0.1517 |
| predicted_R | 0.1730 |
| predicted_RBI | 0.1770 |
| predicted_SLG | 0.1872 |
| predicted_SO | 1.2260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0660 | 0.0225 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.5000 | 3.6050 | 2.8760 | model_form_blend |
| predicted_AVG | 0.2440 | 0.1279 | 0.2045 | model_form_blend |
| predicted_BB | 0.0000 | 0.1050 | 0.0357 | model_form_blend |
| predicted_H | 0.4400 | 0.4610 | 0.4471 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0600 | 0.0460 | 0.0552 | model_form_blend |
| predicted_OBP | 0.2440 | 0.1517 | 0.2126 | model_form_blend |
| predicted_R | 0.0000 | 0.1730 | 0.0589 | model_form_blend |
| predicted_RBI | 0.2300 | 0.1770 | 0.2120 | model_form_blend |
| predicted_SLG | 0.2750 | 0.1872 | 0.2451 | model_form_blend |
| predicted_SO | 0.9000 | 1.2260 | 1.0109 | 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 | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 22 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.08 |
| 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 | 9 |
| Hitting_substitutionOrder | 2 |
| 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 | 20260603_TOR@ATL |
| game_type | short |
| mlbID | 506702 |
| playerID | 506702 |
| playerName | Sandy León |
| pos | C |
| started | False |
| startingPosition | C |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 35.7 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.064 |
| sl_xwoba | 0.113 |
| sl_xba | 0.108 |
| sl_xslg | 0.153 |
| sl_sweet_spot_percent | 22.2 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 16.7 |
| sl_exit_velocity_avg | 83.2 |
| sl_launch_angle_avg | 26.5 |
| sl_whiff_percent | 28.1 |
| sl_swing_percent | 58.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.545 | 3.000 | -1.545 | -3.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.364 | 2.000 | -1.364 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 4.182 | 6.000 | -3.182 | -5.000 |
| predicted_IP | 6.200 | 6.200 | 6.200 | Pitching_InningsPitched | 6.091 | 5.000 | 0.109 | 1.200 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 7.273 | 8.000 | -4.273 | -5.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 6.6667 -> 6.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 2.0000 -> 7.0000 (boost 5.0000, better) | predicted_IP: 6.6667 -> 6.2000 (deboost -0.4667, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "519242",
"player_name": "Chris Sale",
"position": "Starter",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_SO": 7.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": 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": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 7.0,
"delta": 5.0,
"percent_delta": 2.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 7.0,
"delta": 5.0,
"percent_delta": 2.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_R": 0.0,
"predicted_SO": 3.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": 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": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"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": 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": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.667 | - |
| predicted_SO | 2.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.200 | -0.467 |
| predicted_SO | 7.000 | 5.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 32.000 | 6.000 | 23.000 | 8.000 | 42.000 | 1.000 | 1.6875 | 0.9688 | 0.1875 | 0.7188 | 0.2500 | 1.3125 | 0.0312 |
| last_10 | 0.35 | 10 | 61.000 | 15.000 | 43.000 | 14.000 | 74.000 | 6.000 | 2.2131 | 0.9344 | 0.2459 | 0.7049 | 0.2295 | 1.2131 | 0.0984 |
| season | 0.20 | 11 | 67.000 | 15.000 | 46.000 | 17.000 | 80.000 | 6.000 | 2.0149 | 0.9403 | 0.2239 | 0.6866 | 0.2537 | 1.1940 | 0.0896 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7800 |
| predicted_ER | 1.8860 |
| predicted_ERA | 2.6887 |
| predicted_H | 4.9550 |
| predicted_HR | 0.5590 |
| predicted_IP | 6.1000 |
| predicted_SO | 7.2970 |
| predicted_WHIP | 1.0672 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.7800 | 0.9220 | model_form_blend |
| predicted_ER | 0.0000 | 1.8860 | 0.9769 | model_form_blend |
| predicted_ERA | - | 2.6887 | 2.6887 | form_only |
| predicted_H | 1.0000 | 4.9550 | 3.0486 | model_form_blend |
| predicted_HR | 0.0000 | 0.5590 | 0.2895 | model_form_blend |
| predicted_IP | 6.2000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 2.0000 | 7.2970 | 4.7437 | model_form_blend |
| predicted_WHIP | - | 1.0672 | 1.0672 | 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 | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 11 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 3 |
| HR | 0 |
| BF | 21 |
| Pitches | 95 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 2 |
| Pitching_ERA | 2.01 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 4 |
| Pitching_H | 6 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 96 |
| Pitching_R | 2 |
| Pitching_SO | 8 |
| Pitching_Strikes | 61 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260528_ATL@BOS |
| game_type | full |
| mlbID | 519242 |
| playerID | 519242 |
| playerName | Chris Sale |
| pos | P |
| started | True |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-28 |
| game_pk | 824757.0 |
| sl_k_percent | 30.2 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.255 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 29.6 |
| sl_whiff_percent | 30.0 |
| sl_swing_percent | 50.4 |
| sv_pitch_count | 96.0 |
| sv_outs_recorded_est | 14.0 |
| sv_release_speed | 89.22812499999999 |
| sv_release_spin_rate | 2266.427083333333 |
| sv_effective_speed | 89.75729166666667 |
| sv_launch_speed | 77.5 |
| sv_launch_angle | 11.64 |
| sv_woba_value | 9.45 |
| sv_woba_denom | 23.0 |
| sv_delta_run_exp | 0.6799999999999999 |
| sv_delta_home_win_exp | -0.032 |
| sl_avg_best_speed | 75.926373827 |
| sl_avg_hyper_speed | 92.880255155 |
| 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.167 | 0.000 | 0.833 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.778 | 2.000 | -0.778 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.011 | 1.000 | -0.011 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.222 | 1.000 | -1.222 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "628452",
"player_name": "Raisel Iglesias",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 7.000 | 0.000 | 5.000 | 0.000 | 3.6000 | 1.4000 | 0.4000 | 1.4000 | 0.0000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 9.000 | 2.000 | 11.000 | 0.000 | 1.8000 | 1.1000 | 0.2000 | 0.9000 | 0.2000 | 1.1000 | 0.0000 |
| season | 0.20 | 18 | 18.200 | 2.000 | 14.000 | 3.000 | 22.000 | 0.000 | 0.9643 | 0.9107 | 0.1071 | 0.7500 | 0.1607 | 1.1786 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2550 |
| predicted_ER | 0.3930 |
| predicted_ERA | 3.5367 |
| predicted_H | 1.0150 |
| predicted_HR | 0.0790 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9960 |
| predicted_WHIP | 1.2695 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2550 | 0.6970 | model_form_blend |
| predicted_ER | 0.0000 | 0.3930 | 0.1598 | model_form_blend |
| predicted_ERA | - | 3.5367 | 3.5367 | form_only |
| predicted_H | 0.0000 | 1.0150 | 0.4128 | model_form_blend |
| predicted_HR | 0.0000 | 0.0790 | 0.0321 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9960 | 0.4051 | model_form_blend |
| predicted_WHIP | - | 1.2695 | 1.2695 | 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 | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 4 |
| 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 | 0 |
| Pitching_ERA | 0.96 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260602_TOR@ATL |
| game_type | full |
| mlbID | 628452 |
| playerID | 628452 |
| playerName | Raisel Iglesias |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-02 |
| sl_k_percent | 31.0 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.222 |
| sl_xwoba | 0.227 |
| sl_sweet_spot_percent | 28.3 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 30.4 |
| sl_whiff_percent | 34.7 |
| sl_swing_percent | 56.8 |
| sl_avg_best_speed | 79.200998261 |
| sl_avg_hyper_speed | 92.612570222 |
| 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.185 | 0.000 | -0.185 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.704 | 2.000 | -0.704 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.981 | 1.000 | 0.019 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.926 | 1.000 | -0.926 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663158",
"player_name": "Robert Suarez",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 4.000 | 0.000 | 5.000 | 0.000 | 0.0000 | 0.7500 | 0.0000 | 0.7500 | 0.0000 | 0.9375 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 1.000 | 7.000 | 2.000 | 9.000 | 1.000 | 0.8438 | 0.8438 | 0.0938 | 0.6562 | 0.1875 | 0.8438 | 0.0938 |
| season | 0.20 | 27 | 27.200 | 2.000 | 19.000 | 5.000 | 25.000 | 1.000 | 0.6506 | 0.8675 | 0.0723 | 0.6867 | 0.1807 | 0.9036 | 0.0361 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2280 |
| predicted_ER | 0.2550 |
| predicted_ERA | 2.2979 |
| predicted_H | 0.8250 |
| predicted_HR | 0.0860 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9180 |
| predicted_WHIP | 1.0532 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2280 | 0.1022 | model_form_blend |
| predicted_ER | 0.0000 | 0.2550 | 0.1143 | model_form_blend |
| predicted_ERA | - | 2.2979 | 2.2979 | form_only |
| predicted_H | 0.0000 | 0.8250 | 0.3696 | model_form_blend |
| predicted_HR | 0.0000 | 0.0860 | 0.0385 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9180 | 0.9633 | model_form_blend |
| predicted_WHIP | - | 1.0532 | 1.0532 | 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 | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 3 |
| 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 | 0 |
| Pitching_ERA | 0.65 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 663158 |
| playerID | 663158 |
| playerName | Robert Suarez |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.213 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 29.7 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 53.6 |
| sl_avg_best_speed | 71.205285135 |
| sl_avg_hyper_speed | 92.600082466 |
| 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.138 | 1.000 | -0.138 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.138 | 0.000 | 0.862 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.483 | 0.000 | 1.517 | 2.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.900 | 1.000 | -0.800 | -0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.207 | 1.000 | -1.207 | -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.3333 -> 0.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.3333 -> 0.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669276",
"player_name": "Dylan Lee",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.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": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"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 | 1.000 | - |
| predicted_H | 2.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 | 5.100 | 2.000 | 3.000 | 2.000 | 6.000 | 1.000 | 3.3750 | 0.9375 | 0.3750 | 0.5625 | 0.3750 | 1.1250 | 0.1875 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 7.000 | 2.000 | 12.000 | 1.000 | 1.8000 | 0.9000 | 0.2000 | 0.7000 | 0.2000 | 1.2000 | 0.1000 |
| season | 0.20 | 29 | 28.200 | 4.000 | 14.000 | 4.000 | 35.000 | 1.000 | 1.2558 | 0.6279 | 0.1395 | 0.4884 | 0.1395 | 1.2209 | 0.0349 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2160 |
| predicted_ER | 0.2530 |
| predicted_ERA | 3.3112 |
| predicted_H | 0.5260 |
| predicted_HR | 0.0900 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7300 |
| predicted_WHIP | 1.0784 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2160 | 0.0976 | model_form_blend |
| predicted_ER | 1.0000 | 0.2530 | 0.6625 | model_form_blend |
| predicted_ERA | - | 3.3112 | 3.3112 | form_only |
| predicted_H | 2.0000 | 0.5260 | 1.3340 | model_form_blend |
| predicted_HR | 0.0000 | 0.0900 | 0.0407 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7300 | 0.3298 | model_form_blend |
| predicted_WHIP | - | 1.0784 | 1.0784 | 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 | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.26 |
| 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 | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260603_TOR@ATL |
| game_type | full |
| mlbID | 669276 |
| playerID | 669276 |
| playerName | Dylan Lee |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-03 |
| sl_k_percent | 33.7 |
| sl_bb_percent | 3.8 |
| sl_woba | 0.187 |
| sl_xwoba | 0.209 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 30.8 |
| sl_whiff_percent | 38.1 |
| sl_swing_percent | 53.7 |
| sl_avg_best_speed | 75.8118325 |
| sl_avg_hyper_speed | 92.681564444 |